minput_event_to_key - Convert an event to an input key.
, void *
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), 's-' (Super), and/or 'H-' (Hyper) in this
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.
Copyright (C) 2001 Information-technology Promotion Agency (IPA)
Copyright (C) 2001-2009 National Institute of Advanced Industrial Science and
Permission is granted to copy, distribute and/or modify this document under the
terms of the GNU Free Documentation License