Index of Section 3 Manual Pages

Interix / SUAXkbAllocDeviceLedInfo.3Interix / SUA

XkbAllocDeviceLedInfo(3)  XKB FUNCTIONS  XkbAllocDeviceLedInfo(3)



NAME
       XkbAllocDeviceLedInfo   -  Obtain  an  XkbDeviceLedInfoRec
       structure

SYNOPSIS
       Status XkbAllocDeviceLedInfo ( device_info, num_needed )
             XkbDeviceInfoPtr device_info;
             int num_needed;

ARGUMENTS
       - device_info
              structure in which to allocate LED space

       - num_needed
              number of indicators to allocate space for

DESCRIPTION
       XkbAllocDeviceLedInfo allocates space for an XkbDeviceLed-
       InfoRec  and  places  it in device_info.  If num_needed is
       nonzero, num_needed XkbIndicatorMapRec structures are also
       allocated  and  linked into the XkbDeviceLedInfoRec struc-
       ture. If  you  request  XkbIndicatorMapRec  structures  be
       allocated  using  this  request,  you must initialize them
       explicitly. All other fields are initialized to zero.

       To initialize an XkbDeviceLedInfoRec structure, use XkbAd-
       dDeviceLedInfo.

STRUCTURES
       Information about X Input Extension devices is transferred
       between a client program and the Xkb extension in an  Xkb-
       DeviceInfoRec structure:

           typedef struct {
               char *               name;          /* name for device */
               Atom                 type;          /* name for class of devices */
               unsigned short       device_spec;   /* device of interest */
               Bool                 has_own_state; /* True=>this device has its own state */
               unsigned short       supported;     /* bits indicating supported capabilities */
               unsigned short       unsupported;   /* bits indicating unsupported capabilities */
               unsigned short       num_btns;      /* number of entries in btn_acts */
               XkbAction *          btn_acts;      /* button actions */
               unsigned short       sz_leds;       /* total number of entries in LEDs vector */
               unsigned short       num_leds;      /* number of valid entries in LEDs vector */
               unsigned short       dflt_kbd_fb;   /* input extension ID of default (core kbd) indicator */
               unsigned short       dflt_led_fb;   /* input extension ID of default indicator feedback */
               XkbDeviceLedInfoPtr  leds;          /* LED descriptions */
           } XkbDeviceInfoRec, *XkbDeviceInfoPtr;


           typedef struct {
               unsigned short      led_class;        /* class for this LED device*/
               unsigned short      led_id;           /* ID for this LED device */
               unsigned int        phys_indicators;  /* bits for which LEDs physically present */
               unsigned int        maps_present;     /* bits for which LEDs have maps in maps */
               unsigned int        names_present;    /* bits for which LEDs are in names */
               unsigned int        state;            /* 1 bit => corresponding LED is on */
               Atom                names[XkbNumIndicators];   /* names for LEDs */
               XkbIndicatorMapRec  maps;             /* indicator maps for each LED */
           } XkbDeviceLedInfoRec, *XkbDeviceLedInfoPtr;

       Each  indicator has its own set of attributes that specify
       whether clients can explicitly set its state  and  whether
       it tracks the keyboard state. The attributes of each indi-
       cator are held in the maps array, which  is  an  array  of
       XkbIndicatorRec structures:

           typedef struct {
               unsigned char   flags;            /* how the indicator can be changed */
               unsigned char   which_groups;     /* match criteria for groups */
               unsigned char   groups;           /* which keyboard groups the indicator watches */
               unsigned char   which_mods;       /* match criteria for modifiers */
               XkbModsRec      mods;             /* which modifiers the indicator watches */
               unsigned int    ctrls;            /* which controls the indicator watches */
           } XkbIndicatorMapRec, *XkbIndicatorMapPtr;

       This indicator map specifies for each indicator:


       o    The  conditions  under  which  the  keyboard modifier
            state affects the indicator

       o    The conditions under which the keyboard  group  state
            affects the indicator

       o    The  conditions  under which the state of the boolean
            controls affects the indicator

       o    The effect (if any) of attempts to explicitly  change
            the  state  of the indicator using the functions Xkb-
            SetControls or XChangeKeyboardControl

SEE ALSO
       XkbAddDeviceLedInfo(3), XkbSetControls(3)



X Version 11               libX11 1.1.5  XkbAllocDeviceLedInfo(3)

Interix / SUAHosted at SUA Community for Interix, SUA and SFUInterix / SUA