Provided by: libx11-doc_1.6.4-3_all bug


       XkbResizeDeviceButtonActions  -  Allocate  additional  space  for  button  actions  in  an
       XkbDeviceInfoRec structure


       Status   XkbResizeDeviceButtonActions   (XkbDeviceInfoPtr   device_info,   unsigned    int


       - device_info
              structure in which to allocate button actions

       - new_total
              new total number of button actions needed


       XkbResizeDeviceButtonActions  reallocates  space, if necessary, to make sure there is room
       for a total of new_total button actions in the  device_info  structure.  Any  new  entries
       allocated  are  zeroed.  If  successful,  XkbResizeDeviceButtonActions returns Success. If
       new_total is zero, all button actions are deleted, device_info->num_btns is set  to  zero,
       and  device_info->btn_acts  is  set  to  NULL.  If  device_info is invalid or new_total is
       greater than 255, BadValue is returned. If a memory allocation failure occurs, a  BadAlloc
       is returned.

       To free an XkbDeviceInfoRec structure, use XkbFreeDeviceInfo.


       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;


       BadAlloc       Unable to allocate storage

       BadValue       An argument is out of range