Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XtRegisterCaseConverter(1)

XtSetKeyTranslator(1)

XtTranslateKeycode(1)

XtKeyProc(2)

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

displaySpecifies the display that the keycode is from. 

keycodeSpecifies the keycode to translate. 

modifiersSpecifies the modifiers to be applied to the keycode. 

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, recognizing 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). 

Copyright O’Reilly & Assoc.  —  X Toolkit Intrinsics Reference Manual © O’Reilly & Associates

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026