manpagez: man pages & more
man XkbAddDeviceLedInfo(3)
Home | html | info | man
XkbAddDeviceLedInfo(3)            XKB FUNCTIONS           XkbAddDeviceLedInfo(3)




NAME

       XkbAddDeviceLedInfo - Initialize an XkbDeviceLedInfoRec structure


SYNOPSIS

       XkbDeviceLedInfoPtr XkbAddDeviceLedInfo (XkbDeviceInfoPtr device_info,
              unsigned int led_class, unsigned int led_id);


ARGUMENTS

       device_info
              structure in which to add LED info

       led_class
              input extension class for LED device of interest

       led_id input extension ID for LED device of interest


DESCRIPTION

       XkbAddDeviceLedInfo first checks to see whether an entry matching
       led_class and led_id already exists in the device_info->leds array. If it
       finds a matching entry, it returns a pointer to that entry. Otherwise, it
       checks to be sure there is at least one empty entry in device_info->leds
       and extends it if there is not enough room. It then increments
       device_info->num_leds and fills in the next available entry in
       device_info->leds with led_class and led_id.

       If successful, XkbAddDeviceLedInfo returns a pointer to the
       XkbDeviceLedInfoRec structure that was initialized. If unable to allocate
       sufficient storage, or if device_info points to an invalid
       XkbDeviceInfoRec structure, or if led_class or led_id are inappropriate,
       XkbAddDeviceLedInfo returns NULL.

       To allocate additional space for button actions in an XkbDeviceInfoRec
       structure, use XkbResizeDeviceButtonActions.



STRUCTURES

       Information about X Input Extension devices is transferred between a
       client program and the Xkb extension in an XkbDeviceInfoRec 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;



SEE ALSO

       XkbResizeDeviceButtonActions(3)



X Version 11                      libX11 1.8.2            XkbAddDeviceLedInfo(3)

xorg-libX11 1.8.2 - Generated Sat Nov 19 06:27:22 CST 2022
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.