XLookupKeysym() XLookupKeysym()
Name
XLookupKeysym - 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 keycode in the event to return. These correspond to the modifier keys,
and the symbols ShiftMapIndex, LockMapIndex, ControlMapIndex, Mod1MapIndex, Mod2MapIndex, Mod3MapIndex, Mod4MapIndex, and Mod5Map-
Index 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 cor-
responds 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 modifier 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
modifier 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 Also
XChangeKeyboardMapping(), XDeleteModifiermapEntry(), XFreeModifiermap(), XGetKeyboardMapping(), XGetModifierMapping(), XInsertModi-
fiermapEntry(), XKeycodeToKeysym(), XKeysymToKeycode(), XKeysymToString(), XLookupString(), XNewModifiermap(), XQueryKeymap(), XRebind-
Keysym(), XRefreshKeyboardMapping(), XSetModifierMapping(), XStringToKeysym().
Xlib - Keyboard XLookupKeysym()