Table of Contents

Name

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

Syntax

Bool XkbSetDeviceButtonActions
(Display *dpy, XkbDeviceInfoPtr device, unsigned int first_button, unsigned int num_buttons);

Arguments

- dpy
connection to X server
- device
structure defining the device and modifications
- first_button
number of first button to update, 0 relative
- num_buttons
number of buttons to update

Description

XkbSetDeviceButtonActions assigns actions to the buttons of the device specified in device_info->device_spec. Actions are assigned to num_buttons buttons beginning with first_button and are taken from the actions specified in device_info->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->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->device_spec, a BadKeyboard protocol error results. If the actual device specified in device_info->device_spec does not contain buttons and a request affecting buttons is made, a BadMatch protocol error is generated.

Diagnostics

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


Table of Contents