NAME¶
XkbSetDeviceButtonActions - Change only the button actions for an input
  extension device
SYNOPSIS¶
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