carta
XkbGetDeviceButtonActions(3)

XkbGetDeviceButtonActions3

Query the button actions associated with an x input extension device

Usage

Status XkbGetDeviceButtonActions (Display *dpy, XkbDeviceInfoPtr device_info, Bool all_buttons, unsigned int first_button, unsigned int num_buttons);

Arguments

dpy

connection to X server

device_info

structure to update with results

all_buttons

True => get information for all buttons

first_button

number of first button for which info is desired

num_buttons

number of buttons for which info is desired

Overview

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->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

BadAccess

The Xkb extension has not been properly initialized

BadAlloc

Unable to allocate storage

BadKeyboard

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

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

An argument is out of range

History

  • Arch Linux 2026-11-01: the text shown here
  • Debian 13 (Trixie)
  • Debian 12 (Bookworm)
  • Debian 11 (Bullseye)
  • Debian 10 (Buster)
  • Debian 9 (Stretch)
  • Debian 8 (Jessie)
  • Debian 7 (Wheezy)
  • Debian 6.0 (Squeeze)
  • Debian 5.0 (Lenny)

From libx11 1.8.14-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.