Manpages - XkbResizeDeviceButtonActions.3

Table of Contents

NAME

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

SYNOPSIS

Status XkbResizeDeviceButtonActions ( XkbDeviceInfoPtr */device_info/ ,* unsigned int */new_total/ );*

ARGUMENTS

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

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.

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;

DIAGNOSTICS

BadAlloc
Unable to allocate storage
BadValue
An argument is out of range

SEE ALSO

*XkbFreeDeviceInfo*(3)

Author: dt

Created: 2022-02-20 Sun 20:16