Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ CaseProc(3X) — DeltaWindows 1.3.3 Release 4 Version 4.3

Media Vault

Software Library

Restoration Projects

Artifacts Sought

 

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

displayProvides the display connection for which the conversion is required. 

keysymSpecifies 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 Translation 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 locations. 

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

XtConvertCaseUNIX SYSTEM V/68, XtGetKeysymTableUNIX SYSTEM V/68, XtKeysymToKeycodeListUNIX SYSTEM V/68, XtRegisterCaseConverterUNIX SYSTEM V/68, XtSetKeyTranslatorUNIX SYSTEM V/68, XtTranslateKeycodeUNIX SYSTEM V/68. 

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