xtcaseproc(3) [hpux man page]
XtCaseProc() XtCaseProc() Name XtCaseProc - interface definition for procedure to convert the case of keysyms. Synopsis typedef void (*XtCaseProc) (Display*, KeySym, KeySym *, KeySym *); Display *display KeySym keysym; KeySym *lower_return; KeySym *upper_return; Inputs display Provides the display connection for which the conversion is required. keysym Specifies the keysym to convert. Outputs lower_return Returns the lowercase equivalent for keysym. upper_return Returns the uppercase equivalent for keysym. Description An XtCaseProc is a case converter procedure registered with XtRegisterCaseConverter(), and invoked by XtConvertCase() and by the Transla- tion Manager in order to obtain the uppercase and lowercase versions of a keysym. It should store the upper and lower case versions of keysym at the addresses specified by lower_return and upper_return. If there is no case distinction, it should store keysym at both loca- tions. Usage You should only need to write a case converter procedure if you are working with non-standard keysyms. Example The default case converter from the R4 Intrinsics is as follows: /* ARGSUSED */ void _XtConvertCase(dpy, sym, lower, upper) Display *dpy; KeySym sym; KeySym *lower; KeySym *upper; { *lower = sym; *upper = sym; switch(sym >> 8) { case 0: if ((sym >= XK_A) && (sym <= XK_Z)) *lower += (XK_a - XK_A); else if ((sym >= XK_a) && (sym <= XK_z)) *upper -= (XK_a - XK_A); else if ((sym >= XK_Agrave) && (sym <= XK_Odiaeresis)) *lower += (XK_agrave - XK_Agrave); else if ((sym >= XK_agrave) && (sym <= XK_odiaeresis)) *upper -= (XK_agrave - XK_Agrave); else if ((sym >= XK_Ooblique) && (sym <= XK_Thorn)) *lower += (XK_oslash - XK_Ooblique); else if ((sym >= XK_oslash) && (sym <= XK_thorn)) *upper -= (XK_oslash - XK_Ooblique); break; default: /* XXX do all other sets */ break; } } See Also XtConvertCase(1), XtGetKeysymTable(1), XtKeysymToKeycodeList(1), XtRegisterCaseConverter(1), XtSetKeyTranslator(1), XtTranslateKeycode(1). Xt - Keyboard Handling XtCaseProc()
Check Out this Related Man Page
XtSetKeyTranslator(3) XT FUNCTIONS XtSetKeyTranslator(3) NAME
XtSetKeyTranslator, XtTranslateKeycode, XtRegisterCaseConverter, XtConvertCase - convert KeySym to KeyCodes SYNTAX
void XtSetKeyTranslator(Display *display, XtKeyProc proc); void XtTranslateKeycode(Display *display, KeyCode keycode, Modifiers modifiers, Modifiers *modifiers_return, KeySym *keysym_return); void XtRegisterCaseConverter(Display *display, XtCaseProc proc, KeySym start, KeySym stop); void XtConvertCase(Display *display, KeySym keysym, KeySym *lower_return, KeySym *upper_return); ARGUMENTS
display Specifies the display. keycode Specifies the KeyCode to translate. keysym Specifies the KeySym to convert. keysym_return Returns the resulting KeySym. lower_return Returns the lowercase equivalent of the KeySym. upper_return Returns the uppercase equivalent of the KeySym. modifiers Specifies the modifiers to the KeyCode. modifiers_return Returns a mask that indicates the modifiers actually used to generate the KeySym. proc Specifies the procedure that is to perform key translations or conversions. start Specifies the first KeySym for which this converter is valid. stop Specifies the last KeySym for which this converter is valid. DESCRIPTION
The XtSetKeyTranslator function sets the specified procedure as the current key translator. The default translator is XtTranslateKey, an XtKeyProc that uses Shift and Lock modifiers with the interpretations defined by the core protocol. It is provided so that new translators can call it to get default KeyCode-to-KeySym translations and so that the default translator can be reinstalled. The XtTranslateKeycode function passes the specified arguments directly to the currently registered KeyCode to KeySym translator. The XtRegisterCaseConverter registers the specified case converter. The start and stop arguments provide the inclusive range of KeySyms for which this converter is to be called. The new converter overrides any previous converters for KeySyms in that range. No interface exists to remove converters; you need to register an identity converter. When a new converter is registered, the Intrinsics refreshes the keyboard state if necessary. The default converter understands case conversion for all KeySyms defined in the core protocol. The XtConvertCase function calls the appropriate converter and returns the results. A user-supplied XtKeyProc may need to use this func- tion. SEE ALSO
X Toolkit Intrinsics - C Language Interface Xlib - C Language X Interface X Version 11 libXt 1.1.3 XtSetKeyTranslator(3)