XtTranslateKey() XtTranslateKey()
Name
XtTranslateKey - the default keycode-to-keysym translator.
Synopsis
void XtTranslateKey(display, keycode, modifiers,
modifiers_return, keysym_return)
Display *display;
KeyCode keycode;
Modifiers modifiers;
Modifiers *modifiers_return;
KeySym *keysym_return;
Inputs
display Specifies the display that the keycode is from.
keycode Specifies the keycode to translate.
modifiers Specifies the modifiers to be applied to the keycode.
Outputs
modifiers_return
Returns the modifiers examined by the key translator.
keysym_return
Returns the resulting keysym.
Description
XtTranslateKey() is the default XtKeyProc used by the Translation Manager. It takes a keycode and returns the corresponding keysym, recog-
nizing Shift, Lock, and group modifiers. It handles all the keysyms defined by the X Protocol.
XtTranslateKey() is provided for two main reasons: so that new translators with expanded functionality can call it to get default keycode-
to-keysym translations in addition to whatever they add, and so that the default translator can be reinstalled.
See XtKeyProc(2) for more information on the behavior of this and all key translator procedures.
Usage
The Translation Manager invokes the currently registered key translator procedure to convert incoming keycodes to keysyms. Only clients
that need to work with non-standard keysyms should need to register alternate key translator procedures.
XtTranslateKey() can be invoked directly, or the currently registered key translator can be invoked by calling XtTranslateKeycode(). A new
translator can be registered by calling XtSetKeyTranslator(). There is no way to remove a translator; to reinstall the default behavior,
call XtSetKeyTranslator() with XtTranslateKey() as the proc argument.
Structures
The KeyCode and KeySym types are defined as follows:
typedef unsigned char KeyCode;
typedef XID KeySym;
The Modifiers type and its legal values are defined as follows:
typedef unsigned int Modifiers;
#define ShiftMask (1<<0)
#define LockMask (1<<1)
#define ControlMask (1<<2)
#define Mod1Mask (1<<3)
#define Mod2Mask (1<<4)
#define Mod3Mask (1<<5)
#define Mod4Mask (1<<6)
#define Mod5Mask (1<<7)
See Also
XtRegisterCaseConverter(1), XtSetKeyTranslator(1), XtTranslateKeycode(1),
XtKeyProc(2).
Xt - Keyboard Handling XtTranslateKey()