---
name: "minput_event_to_key"
section: "3m17n"
platform: "linux"
package: "m17n-docs"
version: "1.8.4-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/minput_event_to_key"
---

# minput\_event\_to\_key(3m17n)

## NAME

minput\_event\_to\_key -

## SYNOPSIS

MSymbol **minput\_event\_to\_key** (**MFrame** \* *frame*, void \* *event*)

## DESCRIPTION

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

## COPYRIGHT

Copyright (C) 2001 Information-technology Promotion Agency (IPA)\
 Copyright (C) 2001-2011 National Institute of Advanced Industrial Science and Technology (AIST)\
 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\>.
