1. NAME

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

2. SYNTAX

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

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

4. DESCRIPTION

XkbSetDeviceButtonActionsassigns actions to the buttons of the device specified in device_info->device_spec.Actions are assigned to num_buttonsbuttons beginning with first_buttonand 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, XkbSetDeviceButtonActionshas no effect and returns False. If the device has no buttons or if first_buttonor num_buttonsspecify buttons outside of the valid range as determined by device_info->num_btns,the function has no effect and returns False. Otherwise, XkbSetDeviceButtonActionssends 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_specdoes not contain buttons and a request affecting buttons is made, a BadMatch protocol error is generated.

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