XLookupKeysym()XLookupKeysym()NameXLookupKeysym – get the keysym corresponding to a keycode in structure.
Synopsis
KeySym XLookupKeysym(event, index)
XKeyEvent *event;
int index;
Arguments
event Specifies the KeyPress or KeyRelease event that is to be used.
index Specifies which keysym from the list associated with the key‐
code in the event to return. These correspond to the modifier
keys, and the symbols ShiftMapIndex, LockMapIndex, ControlMap‐
Index, Mod1MapIndex, Mod2MapIndex, Mod3MapIndex, Mod4MapIndex,
and Mod5MapIndex can be used.
Returns
The keysym.
Description
Given a keyboard event and the index into the list of keysyms for that
keycode, XLookupKeysym() returns the keysym from the list that corre‐
sponds to the keycode in the event. If no keysym is defined for the
keycode of the event, XLookupKeysym() returns NoSymbol.
Each keycode may have a list of associated keysyms, which are portable
symbols representing the meanings of the key. The index specifies
which keysym in the list is desired, indicating the combination of mod‐
ifier keys that are currently pressed. Therefore, the program must
interpret the state member of the XKeyEvent structure to determine the
index before calling this function. The exact mapping of modifier keys
into the list of keysyms for each keycode is server-dependent beyond
the fact that the first keysym corresponds to the keycode without modi‐
fier keys, and the second corresponds to the keycode with Shift
pressed.
XLookupKeysym() simply calls XKeycodeToKeysym(), using arguments taken
from the specified event structure.
Structures
typedef struct {
int type; /* of event */
unsigned long serial; /* # of last request processed by server */
Bool send_event; /* true if this came from a SendEvent request */
Display *display; /* display the event was read from */
Window window; /* "event" window it is reported relative to */
Window root; /* root window that the event occured on */
Window subwindow; /* child window */
Time time; /* milliseconds */
int x, y; /* pointer x, y coordinates in event window */
int x_root, y_root; /* coordinates relative to root */
unsigned int state; /* key or button mask */
unsigned int keycode; /* detail */
Bool same_screen; /* same screen flag */
} XKeyEvent;
See AlsoXChangeKeyboardMapping(), XDeleteModifiermapEntry(), XFreeModi‐
fiermap(), XGetKeyboardMapping(), XGetModifierMapping(), XInsertModi‐
fiermapEntry(), XKeycodeToKeysym(), XKeysymToKeycode(), XKeysym‐
ToString(), XLookupString(), XNewModifiermap(), XQueryKeymap(), XRe‐
bindKeysym(), XRefreshKeyboardMapping(), XSetModifierMapping(),
XStringToKeysym().
Xlib - Keyboard XLookupKeysym()