Index of Section 3 Manual Pages

Interix / SUAXkbAddDeviceLedInfo.3Interix / SUA

XkbAddDeviceLedInfo(3)    XKB FUNCTIONS    XkbAddDeviceLedInfo(3)



NAME
       XkbAddDeviceLedInfo  -  Initialize  an XkbDeviceLedInfoRec
       structure

SYNOPSIS
       XkbDeviceLedInfoPtr  XkbAddDeviceLedInfo  (   device_info,
       led_class, led_id )
             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 Xkb-
       DeviceInfoRec structure, use XkbResizeDeviceButtonActions.


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;


SEE ALSO
       XkbResizeDeviceButtonActions(3)



X Version 11               libX11 1.1.5    XkbAddDeviceLedInfo(3)

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