NAME
XSetDeviceButtonMapping, XGetDeviceButtonMapping - query or change device button mappings
SYNTAX
int XSetDeviceButtonMapping(Display *_d_i_s_p_l_a_y, XDevice
*_d_e_v_i_c_e, unsigned char _m_a_p[], int _n_m_a_p);
int XGetDeviceButtonMapping(Display *_d_i_s_p_l_a_y, XDevice
*_d_e_v_i_c_e, unsigned char _m_a_p___r_e_t_u_r_n[], int _n_m_a_p);
ARGUMENTS
-
display
-
Specifies the connection to the X server.
-
device
-
Specifies the device whose button mapping is to be queried or changed.
-
map
-
Specifies the mapping list.
-
map_return
-
Returns the mapping list.
-
nmap
-
Specifies the number of items in the mapping list.
DESCRIPTION
The _X_S_e_t_D_e_v_i_c_e_B_u_t_t_o_n_M_a_p_p_i_n_g
request sets the mapping of the specified device.
If it succeeds, the X server generates a
_D_e_v_i_c_e_M_a_p_p_i_n_g_N_o_t_i_f_y event, and
_X_S_e_t_D_e_v_i_c_e_B_u_t_t_o_n_M_a_p_p_i_n_g returns _M_a_p_p_i_n_g_S_u_c_c_e_s_s.
Element map[i] defines the logical button number for the physical button
i+1.
The length of the list must be the same as
_X_G_e_t_D_e_v_i_c_e_B_u_t_t_o_n_M_a_p_p_i_n_g
would return, or a _B_a_d_V_a_l_u_e
error results.
A zero element disables a button, and elements are not restricted in
value by the number of physical buttons.
However, no two elements can have the same nonzero value,
or a _B_a_d_V_a_l_u_e error results.
If any of the buttons to be altered are logically in the down state,
_X_S_e_t_D_e_v_i_c_e_B_u_t_t_o_n_M_a_p_p_i_n_g returns _M_a_p_p_i_n_g_B_u_s_y,
and the mapping is not changed.
_X_S_e_t_D_e_v_i_c_e_B_u_t_t_o_n_M_a_p_p_i_n_g
can generate _B_a_d_D_e_v_i_c_e, _B_a_d_M_a_t_c_h, and _B_a_d_V_a_l_u_e errors.
The _X_G_e_t_D_e_v_i_c_e_B_u_t_t_o_n_M_a_p_p_i_n_g
request returns the current mapping of the specified device.
Buttons are numbered starting from one.
_X_G_e_t_D_e_v_i_c_e_B_u_t_t_o_n_M_a_p_p_i_n_g
returns the number of physical buttons actually on the device.
The nominal mapping for a device is map[i]=i+1.
The nmap argument specifies the length of the array where the device
mapping is returned, and only the first nmap elements are returned
in map_return.
_X_G_e_t_D_e_v_i_c_e_B_u_t_t_o_n_M_a_p_p_i_n_g
can generate _B_a_d_D_e_v_i_c_e or _B_a_d_M_a_t_c_h errors.
DIAGNOSTICS
-
_B_a_d_D_e_v_i_c_e
-
An invalid device was specified. The specified device does not exist or has
not been opened by this client via _X_O_p_e_n_I_n_p_u_t_D_e_v_i_c_e. This error may
also occur if the specified device is the X keyboard or X pointer device.
-
_B_a_d_M_a_t_c_h
-
This error may occur if an _X_G_e_t_D_e_v_i_c_e_B_u_t_t_o_n_M_a_p_p_i_n_g or
_X_S_e_t_D_e_v_i_c_e_B_u_t_t_o_n_M_a_p_p_i_n_g request was made
specifying a device that has no buttons.
-
_B_a_d_V_a_l_u_e
-
Some numeric value falls outside the range of values accepted by the request.
Unless a specific range is specified for an argument, the full range defined
by the argument's type is accepted. Any argument defined as a set of
alternatives can generate this error.
SEE ALSO
XChangeDeviceKeyboardControl(3),
XChangeDeviceKeyMapping(3)
XChangeDeviceModifierMapping(3)
_P_r_o_g_r_a_m_m_i_n_g _W_i_t_h _X_l_i_b