The m17n Library 1.8.4
|
Input method support on window systems. More...
Data Structures | |
struct | MInputGUIArgIC |
Type of the argument to the function minput_create_ic(). More... | |
struct | MInputXIMArgIM |
Structure pointed to by the argument arg of the function minput_open_im(). More... | |
struct | MInputXIMArgIC |
Structure pointed to by the argument arg of the function minput_create_ic(). More... | |
Functions | |
MSymbol | minput_event_to_key (MFrame *frame, void *event) |
Convert an event to an input key. | |
Variables | |
MInputDriver | minput_gui_driver |
Input driver for internal input methods on window systems. | |
MSymbol | Mxim |
Symbol of the name "xim". | |
Input method support on window systems.
The input driver minput_gui_driver
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 minput_gui_driver
for more details.
In the m17n-X library, the foreign input method of name Mxim
is provided. It uses XIM (X Input Method) as a background input engine. The symbol Mxim
has a property Minput_driver
whose value is a pointer to the input driver minput_xim_driver
. See the documentation of minput_xim_driver
for more details.
MSymbol minput_event_to_key | ( | MFrame * | frame, |
void * | event | ||
) |
Convert an event to an input key.
The minput_event_to_key() function returns the input key corresponding to event event on frame by a window system dependent manner.
In the m17n-X library, event must be a pointer to the structure XKeyEvent
, and it is handled as below.
At first, the keysym name of event is acquired by the function XKeysymToString
. Then, the name is modified as below.
If the name is one of "a" .. "z" and event has a Shift modifier, the name is converted to "A" .. "Z" respectively, and the Shift modifier is cleared.
If the name is one byte length and event has a Control modifier, the byte is bitwise anded by 0x1F and the Control modifier is cleared.
If event still has modifiers, the name is preceded by "S-" (Shift), "C-" (Control), "M-" (Meta), "A-" (Alt), "G-" (AltGr), "s-" (Super), and "H-" (Hyper) in this order.
For instance, if the keysym name is "a" and the event has Shift, Meta, and Hyper modifiers, the resulting name is "M-H-A".
At last, a symbol who has the name is returned.
MInputDriver minput_gui_driver |
Input driver for internal input methods on window systems.
The input driver minput_gui_driver
is for internal input methods to be used on window systems.
It creates sub-windows for a preedit text and a status text, and displays them at the input spot set by the function minput_set_spot().
The macro M17N_INIT() set the variable minput_driver
to the pointer to this driver so that all internal input methods use it.
Therefore, unless minput_driver
is changed from the default, the driver dependent arguments to the functions whose name begin with minput_ must are treated as follows.
The argument arg of the function minput_open_im() is ignored.
The argument arg of the function minput_create_ic() must be a pointer to the structure MInputGUIArgIC
. See the documentation of MInputGUIArgIC
for more details.
If the argument key of function minput_filter() is Mnil
, the argument arg must be a pointer to the object of type XEvent
. In that case, key is generated from arg.
The argument arg of the function minput_lookup() must be the same one as that of the function minput_filter().
MSymbol Mxim |
Symbol of the name "xim".
The variable Mxim is a symbol of name "xim". It is a name of the input method driver minput_xim_driver.