XkbSetDeviceButtonActions(3) XKB FUNCTIONS XkbSetDeviceButtonActions(3)

# [NAME](#NAME)

XkbSetDeviceButtonActions - Change only the button actions for an input extension device

# [SYNOPSIS](#SYNOPSIS)

**Bool XkbSetDeviceButtonActions** **(Display \*dpy,** **XkbDeviceInfoPtr device,** **unsigned int first\_button,** **unsigned int num\_buttons);**

# [ARGUMENTS](#ARGUMENTS)

[*dpy*](#dpy)

connection to X server

[*device*](#device)

structure defining the device and modifications

[*first\_button*](#first_button)

number of first button to update, 0 relative

[*num\_buttons*](#num_buttons)

number of buttons to update

# [DESCRIPTION](#DESCRIPTION)

*XkbSetDeviceButtonActions* assigns actions to the buttons of the device specified in *device\_info-&gt;device\_spec.* Actions are assigned to *num\_buttons* buttons beginning with *first\_button* and are taken from the actions specified in *device\_info-&gt;btn\_acts.*

If the server does not support assignment of Xkb actions to extension device buttons, *XkbSetDeviceButtonActions* has no effect and returns False. If the device has no buttons or if *first\_button* or *num\_buttons* specify buttons outside of the valid range as determined by *device\_info-&gt;num\_btns,* the function has no effect and returns False. Otherwise, *XkbSetDeviceButtonActions* sends a request to the server to change the actions for the specified buttons and returns True.

If the actual request sent to the server involved illegal button numbers, a BadValue protocol error is generated. If an invalid device identifier is specified in *device\_info-&gt;device\_spec,* a BadKeyboard protocol error results. If the actual device specified in *device\_info-&gt;device\_spec* does not contain buttons and a request affecting buttons is made, a BadMatch protocol error is generated.

# [DIAGNOSTICS](#DIAGNOSTICS)

[**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: XkbSetDeviceButtonActions(3) from libx11 1.8.14-r4 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libx11.git
