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()