The m17n Library 1.8.4
Loading...
Searching...
No Matches
Data Structures | Functions | Variables
Input Method (GUI)

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".
 

Detailed Description

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.

Function Documentation

◆ minput_event_to_key()

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.

Variable Documentation

◆ minput_gui_driver

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().

◆ Mxim

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.


m17n-lib Home