XkbGetDeviceButtonActions(3) XKB FUNCTIONS XkbGetDeviceButtonActions(3)

# [NAME](#NAME)

XkbGetDeviceButtonActions - Query the button actions associated with an X Input Extension device

# [SYNOPSIS](#SYNOPSIS)

**Status XkbGetDeviceButtonActions** **(Display \*dpy,** **XkbDeviceInfoPtr device\_info,** **Bool all\_buttons,** **unsigned int first\_button,** **unsigned int num\_buttons);**

# [ARGUMENTS](#ARGUMENTS)

[*dpy*](#dpy)

connection to X server

[*device\_info*](#device_info)

structure to update with results

[*all\_buttons*](#all_buttons)

True =&gt; get information for all buttons

[*first\_button*](#first_button)

number of first button for which info is desired

[*num\_buttons*](#num_buttons)

number of buttons for which info is desired

# [DESCRIPTION](#DESCRIPTION)

*XkbGetDeviceButtonActions* queries the server for the desired button information for the device indicated by the *device\_spec* field of *device\_info* and waits for a reply. If successful, *XkbGetDeviceButtonActions* backfills the button actions *(btn\_acts* field of *device\_info)* for only the requested buttons, updates the *name, type, supported,* and *unsupported* fields, and returns Success.

*all\_buttons, first\_button* and *num\_buttons* specify the device buttons for which actions should be returned. Setting *all\_buttons* to True requests actions for all device buttons; if *all\_buttons* is False, *first\_button* and *num\_buttons* specify a range of buttons for which actions are requested.

If a compatible version of Xkb is not available in the server or the Xkb extension has not been properly initialized, *XkbGetDeviceButtonActions* returns BadAccess. If allocation errors occur, a BadAlloc status is returned. If the specified device *(device\_info-&gt;device\_spec)* is invalid, a BadKeyboard status is returned. If the device has no buttons, a BadMatch status is returned. If *first\_button* and *num\_buttons* specify illegal buttons, a BadValue status is returned.

# [DIAGNOSTICS](#DIAGNOSTICS)

[**BadAccess**](#BadAccess)

The Xkb extension has not been properly initialized

[**BadAlloc**](#BadAlloc)

Unable to allocate storage

[**BadKeyboard**](#BadKeyboard)

The device specified was not a valid core or input extension device

[**BadMatch**](#BadMatch)

A compatible version of Xkb was not available in the server or an argument has correct type and range, but is otherwise invalid

[**BadValue**](#BadValue)

An argument is out of range

libX11 1.8.14 X Version 11

---

Document: XkbGetDeviceButtonActions(3) from libx11 1.8.14-r2 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libx11.git
