DOKK / manpages / debian 12 / libx11-doc / XkbResizeDeviceButtonActions.3.en
XkbResizeDeviceButtonActions(3) XKB FUNCTIONS XkbResizeDeviceButtonActions(3)

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

Status XkbResizeDeviceButtonActions (XkbDeviceInfoPtr device_info, unsigned int new_total);

structure in which to allocate button actions
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;

Unable to allocate storage
An argument is out of range

XkbFreeDeviceInfo(3)

libX11 1.8.4 X Version 11