Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

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)
Man Page