NAME
XChangeKeyboardDevice - change which device is used as the X keyboard
SYNTAX
Status XChangeKeyboardDevice(Display *_d_i_s_p_l_a_y, XDevice
*_d_e_v_i_c_e);
ARGUMENTS
-
display
-
Specifies the connection to the X server.
-
device
-
Specifies the device to be used as the X keyboard.
DESCRIPTION
The _X_C_h_a_n_g_e_K_e_y_b_o_a_r_d_D_e_v_i_c_e request causes the server to use the specified
device as the X keyboard. The device must have been previously opened by the
requesting client via _X_O_p_e_n_D_e_v_i_c_e or a _B_a_d_D_e_v_i_c_e error will result.
The device must support input class _K_e_y_s, or a _B_a_d_M_a_t_c_h error
will result. If the server implementation does not support using the requested
device as the X keyboard, a _B_a_d_D_e_v_i_c_e error will result.
If the specified device is grabbed by another client, _A_l_r_e_a_d_y_G_r_a_b_b_e_d
is returned. If the specified device is frozen by a grab on another device,
_G_r_a_b_F_r_o_z_e_n is returned.
If the request is successful, _S_u_c_c_e_s_s is returned.
If the request succeeds,
a _C_h_a_n_g_e_D_e_v_i_c_e_N_o_t_i_f_y event is sent to all clients that have selected that
event. A _M_a_p_p_i_n_g_N_o_t_i_f_y event with request = _M_a_p_p_i_n_g_K_e_y_b_o_a_r_d
is sent to all clients.
The specified device becomes the X keyboard and
the old X keyboard becomes accessible through the input extension
protocol requests.
_X_C_h_a_n_g_e_K_e_y_b_o_a_r_d_D_e_v_i_c_e can generate a _B_a_d_D_e_v_i_c_e or a _B_a_d_M_a_t_c_h
error.
DIAGNOSTICS
-
_B_a_d_D_e_v_i_c_e
-
An invalid device was specified. The specified device does not exist, has
not been opened by this client via _X_O_p_e_n_I_n_p_u_t_D_e_v_i_c_e, or is already
one of the core X device (pointer or keyboard). This error may
also occur if
the server implementation does not support using the specified device as
the X keyboard.
-
_B_a_d_M_a_t_c_h
-
This error may occur if an _X_C_h_a_n_g_e_K_e_y_b_o_a_r_d_D_e_v_i_c_e request was made
specifying a device that has no keys.
SEE ALSO
XChangePointerDevice
_P_r_o_g_r_a_m_m_i_n_g _W_i_t_h _X_l_i_b