.\" Copyright (C) 2001 Information-technology Promotion Agency (IPA)
.\" Copyright (C) 2001-2009
.\"   National Institute of Advanced Industrial Science and Technology (AIST)
.\" This file is part of the m17n library documentation.
.\" Permission is granted to copy, distribute and/or modify this document
.\" under the terms of the GNU Free Documentation License, Version 1.2 or
.\" any later version published by the Free Software Foundation; with no
.\" Invariant Section, no Front-Cover Texts,
.\" and no Back-Cover Texts.  A copy of the license is included in the
.\" appendix entitled "GNU Free Documentation License".
.TH "Input Method (GUI)" 3m17n "15 Oct 2009" "" "Version 1.5.5" "" "The m17n Library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
Input Method (GUI) \- Input method support on window systems.  

.PP
.SS "Data Structures"

.in +1c
.ti -1c
.RI "struct \fBMInputGUIArgIC\fP"
.br
.RI "\fIType of the argument to the function \fBminput_create_ic()\fP. \fP"
.ti -1c
.RI "struct \fBMInputXIMArgIM\fP"
.br
.RI "\fIStructure pointed to by the argument \fBarg\fP of the function \fBminput_open_im()\fP. \fP"
.ti -1c
.RI "struct \fBMInputXIMArgIC\fP"
.br
.RI "\fIStructure pointed to by the argument \fBarg\fP of the function \fBminput_create_ic()\fP. \fP"
.in -1c
.SS "Functions"

.in +1c
.ti -1c
.RI "\fBMSymbol\fP \fBminput_event_to_key\fP (\fBMFrame\fP *frame, void *event)"
.br
.RI "\fIConvert an event to an input key. \fP"
.in -1c
.SS "Variables"

.in +1c
.ti -1c
.RI "\fBMInputDriver\fP \fBminput_gui_driver\fP"
.br
.RI "\fIInput driver for internal input methods on window systems. \fP"
.ti -1c
.RI "\fBMSymbol\fP \fBMxim\fP"
.br
.RI "\fISymbol of the name 'xim'. \fP"
.ti -1c
.RI "\fBMInputDriver\fP \fBminput_xim_driver\fP"
.br
.RI "\fIInput method driver for XIM. \fP"
.in -1c
.SH "Detailed Description"
.PP 
Input method support on window systems. 
.PP
The input driver \fCminput_gui_driver\fP is provided for internal input methods that is useful on window systems. It displays preedit text and status text at the inputting spot. See the documentation of \fCminput_gui_driver\fP for more details.
.PP
In the m17n\-X library, the foreign input method of name \fCMxim\fP is provided. It uses XIM (X Input Method) as a background input engine. The symbol \fCMxim\fP has a property \fCMinput_driver\fP whose value is a pointer to the input driver \fCminput_xim_driver\fP. See the documentation of \fCminput_xim_driver\fP for more details. 
.SH "Data Structure Documentation"
.SS MInputGUIArgIC
.PP
Type of the argument to the function \fBminput_create_ic()\fP.  

.PP
.ad l
.nh
.PP
\fBFIELD DOCUMENTATION:\fP
.PP 
.PP
\fB\fBMFrame\fP* \fBMInputGUIArgIC::frame\fP\fP
.PP
Frame of the client. 
.PP
\fB\fBMDrawWindow\fP \fBMInputGUIArgIC::client\fP\fP
.PP
Window on which to display the preedit and status text. 
.PP
\fB\fBMDrawWindow\fP \fBMInputGUIArgIC::focus\fP\fP
.PP
Window that the input context has a focus on. 

.SS MInputXIMArgIM
.PP
Structure pointed to by the argument \fBarg\fP of the function \fBminput_open_im()\fP.  

.PP
.ad l
.nh
.PP
\fBFIELD DOCUMENTATION:\fP
.PP 
.PP
\fBDisplay* \fBMInputXIMArgIM::display\fP\fP
.PP
The meaning of the following four members are the same as arguments to XOpenIM(). Display of the client. 
.PP
\fBXrmDatabase \fBMInputXIMArgIM::db\fP\fP
.PP
Pointer to the X resource database. 
.PP
\fBchar* \fBMInputXIMArgIM::res_class\fP\fP
.PP
Full class name of the application. 
.PP
\fBchar* \fBMInputXIMArgIM::res_name\fP\fP
.PP
Full resource name of the application. 
.PP
\fBchar* \fBMInputXIMArgIM::locale\fP\fP
.PP
Locale name under which an XIM is opened. 
.PP
\fBchar* \fBMInputXIMArgIM::modifier_list\fP\fP
.PP
Arguments to XSetLocaleModifiers(). 

.SS MInputXIMArgIC
.PP
Structure pointed to by the argument \fBarg\fP of the function \fBminput_create_ic()\fP.  

.PP
.ad l
.nh
.PP
\fBFIELD DOCUMENTATION:\fP
.PP 
.PP
\fBXIMStyle \fBMInputXIMArgIC::input_style\fP\fP
.PP
Used as the arguments of \fCXCreateIC\fP following \fCXNInputStyle\fP. If this is zero, ( \fCXIMPreeditNothing\fP | \fCXIMStatusNothing\fP) is used, and <preedit_attrs> and <status_attrs> are set to \fCNULL\fP. 
.PP
\fBWindow \fBMInputXIMArgIC::client_win\fP\fP
.PP
Used as the argument of \fCXCreateIC\fP following \fCXNClientWindow\fP. 
.PP
\fBWindow \fBMInputXIMArgIC::focus_win\fP\fP
.PP
Used as the argument of \fCXCreateIC\fP following \fCXNFocusWindow\fP. 
.PP
\fBXVaNestedList \fBMInputXIMArgIC::preedit_attrs\fP\fP
.PP
If non\- \fCNULL\fP, used as the argument of \fCXCreateIC\fP following \fCXNPreeditAttributes\fP. 
.PP
\fBXVaNestedList \fBMInputXIMArgIC::status_attrs\fP\fP
.PP
If non\- \fCNULL\fP, used as the argument of \fCXCreateIC\fP following \fCXNStatusAttributes\fP. 

.SH "Variable Documentation"
.PP 
.SS "\fBMInputDriver\fP \fBminput_gui_driver\fP"
.PP
Input driver for internal input methods on window systems. 
.PP
The input driver \fCminput_gui_driver\fP is for internal input methods to be used on window systems.
.PP
It creates sub\-windows for a preedit text and a status text, and displays them at the input spot set by the function \fBminput_set_spot()\fP.
.PP
The macro \fBM17N_INIT()\fP set the variable \fCminput_driver\fP to the pointer to this driver so that all internal input methods use it.
.PP
Therefore, unless \fCminput_driver\fP is changed from the default, the driver dependent arguments to the functions whose name begin with minput_ must are treated as follows.
.PP
The argument \fBarg\fP of the function \fBminput_open_im()\fP is ignored.
.PP
The argument \fBarg\fP of the function \fBminput_create_ic()\fP must be a pointer to the structure \fBMInputGUIArgIC\fP. See the documentation of \fBMInputGUIArgIC\fP for more details.
.PP
If the argument \fBkey\fP of function \fBminput_filter()\fP is \fCMnil\fP, the argument \fBarg\fP must be a pointer to the object of type \fCXEvent\fP. In that case, \fBkey\fP is generated from \fBarg\fP.
.PP
The argument \fBarg\fP of the function \fBminput_lookup()\fP must be the same one as that of the function \fBminput_filter()\fP. 
.SS "\fBMSymbol\fP \fBMxim\fP"
.PP
Symbol of the name 'xim'. 
.PP
The variable Mxim is a symbol of name 'xim'. It is a name of the input method driver \fBminput_xim_driver\fP. 
.SS "\fBMInputDriver\fP \fBminput_xim_driver\fP"
.PP
\fBInitial value:\fP
.PP
.nf

  { xim_open_im, xim_close_im, xim_create_ic, xim_destroy_ic,
    xim_filter, xim_lookup, NULL }
.fi
Input method driver for XIM. 
.PP
The driver \fBminput_xim_driver\fP is for the foreign input method of name \fBMxim\fP. It uses XIM (X Input Methods) as a background input engine.
.PP
As the symbol \fBMxim\fP has property \fBMinput_driver\fP whose value is a pointer to this driver, the input method of language \fBMnil\fP and name \fBMxim\fP uses this driver.
.PP
Therefore, for such input methods, the driver dependent arguments to the functions whose name begin with minput_ must be as follows.
.PP
The argument \fBarg\fP of the function \fBminput_open_im()\fP must be a pointer to the structure \fBMInputXIMArgIM\fP. See the documentation of \fBMInputXIMArgIM\fP for more details.
.PP
The argument \fBarg\fP of the function \fBminput_create_ic()\fP must be a pointer to the structure \fBMInputXIMArgIC\fP. See the documentation of \fBMInputXIMArgIC\fP for more details.
.PP
The argument \fBarg\fP of the function \fBminput_filter()\fP must be a pointer to the structure \fCXEvent\fP. The argument \fBkey\fP is ignored.
.PP
The argument \fBarg\fP of the function \fBminput_lookup()\fP must be the same one as that of the function \fBminput_filter()\fP. The argument \fBkey\fP is ignored. 
.SH COPYRIGHT
Copyright (C) 2001 Information\-technology Promotion Agency (IPA)
.br
Copyright (C) 2001\-2009 National Institute of Advanced Industrial Science and Technology (AIST)
.br
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License 
<http://www.gnu.org/licenses/fdl.html>.
