1. NAME

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

2. SYNOPSIS

Status XkbResizeDeviceButtonActions (XkbDeviceInfoPtr device_info , unsigned int new_total );

3. ARGUMENTS

  • - device_info
        structure in which to allocate button actions
  • - new_total
        new total number of button actions needed

4. DESCRIPTION

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.

5. STRUCTURES

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

 
Sélectionnez
    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;

6. DIAGNOSTICS

BadAlloc

               Unable to allocate storage

BadValue

               An argument is out of range

7. SEE ALSO

R XkbFreeDeviceInfo (3)