Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

XStringToKeysym(3X11)

XLookupKeysym(3X11)                  BSD                   XLookupKeysym(3X11)



NAME
     XLookupKeysym, XRefreshKeyboardMapping, XLookupString, XRebindKeySym -
     handle keyboard input events

SYNTAX
     KeySym XLookupKeysym(key_event, index)
           XKeyEvent *key_event;
           int index;

     XRefreshKeyboardMapping(event_map)
           XMappingEvent *event_map;

     int XLookupString(event_struct, buffer_return, bytes_buffer,
     keysym_return, status_in_out)
           XKeyEvent *event_struct;
           char *buffer_return;
           int bytes_buffer;
           KeySym *keysym_return;
           XComposeStatus *status_in_out;

     XRebindKeysym(display, keysym, list, mod_count, string, bytes_string)
           Display *display;
           KeySym keysym;
           KeySym list[];
           int mod_count;
           unsigned char *string;
           int bytes_string;

ARGUMENTS
     buffer_return
               Returns the translated characters.

     bytes_buffer
               Specifies the length of the buffer.  No more than bytes_buffer
               of translation are returned.

     bytes_string
               Specifies the length of the string.

     display   Specifies the connection to the X server.

     event_map Specifies the mapping event that is to be used.

     event_struct
               Specifies the key event structure to be used.  You can pass
               XKeyPressedEvent or XKeyReleasedEvent.

     index     Specifies the index into the KeySyms list for the event's
               KeyCode.

     key_event Specifies the KeyPress or KeyRelease event.

     keysym    Specifies the KeySym that is to be .

     keysym_return
               Returns the KeySym computed from the event if this argument is
               not NULL.

     list      Specifies the KeySyms to be used as modifiers.

     mod_count Specifies the number of modifiers in the modifier list.
     status_in_out
               Specifies or returns the XComposeStatus structure or NULL.

     string    Specifies a pointer to the string that is copied and will be
               returned by XLookupString.

DESCRIPTION
     The XLookupKeysym function uses a given keyboard event and the index you
     specified to return the KeySym from the list that corresponds to the
     KeyCode member in the XKeyPressedEvent or XKeyReleasedEvent structure.
     If no KeySym is defined for the KeyCode of the event, XLookupKeysym
     returns NoSymbol.

     The XRefreshKeyboardMapping function refreshes the stored modifier and
     keymap information.  You usually call this function when a MappingNotify
     event with a request member of MappingKeyboard or MappingModifier occurs.
     The result is to update Xlib's knowledge of the keyboard.

     The XLookupString function is a convenience routine that maps a key event
     to an ISO Latin-1 string, using the modifier bits in the key event to
     deal with shift, lock, and control.  It returns the translated string
     into the user's buffer. It also detects any rebound KeySyms (see
     XRebindKeysym) and returns the specified bytes.  XLookupString returns
     the length of the string stored in the tag buffer.  If the lock modifier
     has the caps lock KeySym associated with it, XLookupString interprets the
     lock modifier to perform caps lock processing.

     If present (non-NULL), the XComposeStatus structure records the state,
     which is private to Xlib, that needs preservation across calls to
     XLookupString to implement compose processing.

     The XRebindKeysym function can be used to rebind the meaning of a KeySym
     for the client.  It does not redefine any key in the X server but merely
     provides an easy way for long strings to be attached to keys.
     XLookupString returns this string when the appropriate set of modifier
     keys are pressed and when the KeySym would have been used for the
     translation.  Note that you can rebind a KeySym that may not exist.

SEE ALSO
     XStringToKeysym(3X11)
     Xlib - C Language X Interface

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