home *** CD-ROM | disk | FTP | other *** search
-
-
-
- XGrabDevice(3X11) X FUNCTIONS XGrabDevice(3X11)
-
-
- NNAAMMEE
- XGrabDevice, XUngrabDevice - grab/release the specified
- extension device
-
- SSYYNNTTAAXX
- iinntt XXGGrraabbDDeevviiccee((_d_i_s_p_l_a_y,, _d_e_v_i_c_e,, _g_r_a_b___w_i_n_d_o_w,, _o_w_n_e_r___e_v_e_n_t_s,, _e_v_e_n_t___c_o_u_n_t,, _e_v_e_n_t___l_i_s_t,,
- _t_h_i_s___d_e_v_i_c_e___m_o_d_e,, _o_t_h_e_r___d_e_v_i_c_e_s___m_o_d_e,, _t_i_m_e))
- DDiissppllaayy **_d_i_s_p_l_a_y;;
- XXDDeevviiccee **_d_e_v_i_c_e;;
- WWiinnddooww _g_r_a_b___w_i_n_d_o_w;;
- BBooooll _o_w_n_e_r___e_v_e_n_t_s;;
- iinntt _e_v_e_n_t___c_o_u_n_t;;
- XXEEvveennttCCllaassss **_e_v_e_n_t___l_i_s_t;;
- iinntt _t_h_i_s___d_e_v_i_c_e___m_o_d_e,, _o_t_h_e_r___d_e_v_i_c_e_s___m_o_d_e;;
- TTiimmee _t_i_m_e;;
-
- XXUUnnggrraabbDDeevviiccee((_d_i_s_p_l_a_y,, _d_e_v_i_c_e,, _t_i_m_e))
- DDiissppllaayy **_d_i_s_p_l_a_y;;
- XXDDeevviiccee **_d_e_v_i_c_e;;
- TTiimmee _t_i_m_e;;
-
-
- AARRGGUUMMEENNTTSS
- _d_i_s_p_l_a_y Specifies the connection to the X server.
-
- _d_e_v_i_c_e Specifies the device to be grabbed or
- released.
-
- _g_r_a_b___w_i_n_d_o_w Specifies the id of a window to be associated
- with the device.
-
- _o_w_n_e_r___e_v_e_n_t_s
- Specifies a Boolean value that indicates
- whether the events from the device are to be
- reported as usual or reported with respect to
- the grab window if selected by the event list.
-
- _e_v_e_n_t___c_o_u_n_t Specifies the number of elements in the
- event_list array.
-
- _e_v_e_n_t___l_i_s_t Specifies a pointer to a list of event classes
- that indicates which events the client wishes
- to receive. These event classes must have
- been obtained specifying the device being
- grabbed.
-
- _t_h_i_s___d_e_v_i_c_e___m_o_d_e
- Specifies further processing of events from
- this device. You can pass _G_r_a_b_M_o_d_e_S_y_n_c or
- _G_r_a_b_M_o_d_e_A_s_y_n_c.
-
- _o_t_h_e_r___d_e_v_i_c_e_s___m_o_d_e
- Specifies further processing of events from
- other devices. You can pass _G_r_a_b_M_o_d_e_S_y_n_c or
-
-
-
- X Version 11 Release 6.1 1
-
-
-
-
-
- XGrabDevice(3X11) X FUNCTIONS XGrabDevice(3X11)
-
-
- _G_r_a_b_M_o_d_e_A_s_y_n_c.
-
- _t_i_m_e Specifies the time. You can pass either a
- timestamp or _C_u_r_r_e_n_t_T_i_m_e.
-
- DDEESSCCRRIIPPTTIIOONN
- The _X_G_r_a_b_D_e_v_i_c_e request actively grabs control of the
- device and generates _D_e_v_i_c_e_F_o_c_u_s_I_n and _D_e_v_i_c_e_F_o_c_u_s_O_u_t
- events. Further device events are reported only to the
- grabbing client. _X_G_r_a_b_D_e_v_i_c_e overrides any active device
- grab by this client. event_list is a pointer to a list of
- event classes. This list indicates which events the
- client wishes to receive while the grab is active. If
- owner_events is _F_a_l_s_e , all generated device events are
- reported with respect to grab_window if selected. If
- owner_events is _T_r_u_e and if a generated device event would
- normally be reported to this client, it is reported nor-
- mally; otherwise, the event is reported with respect to
- the grab_window, and is only reported if specified in the
- event_list.
-
- If the this_device_mode argument is _G_r_a_b_M_o_d_e_A_s_y_n_c , device
- event processing continues as usual. If the device is
- currently frozen by this client, then processing of device
- events is resumed. If the this_device_mode argument is
- _G_r_a_b_M_o_d_e_S_y_n_c , the state of the device (as seen by client
- applications) appears to freeze, and the X server gener-
- ates no further device events until the grabbing client
- issues a releasing _X_A_l_l_o_w_D_e_v_i_c_e_E_v_e_n_t_s call or until the
- device grab is released. Actual device changes are not
- lost while the device is frozen; they are simply queued in
- the server for later processing.
-
- If other_devices_mode is _G_r_a_b_M_o_d_e_A_s_y_n_c , processing of
- events from other devices is unaffected by activation of
- the grab. If other_devices_mode is _G_r_a_b_M_o_d_e_S_y_n_c, the
- state of all devices except the grabbed device
- (as seen by client applications) appears to freeze, and
- the X server generates no further events from those
- devices until the grabbing client issues a releasing _X_A_l_-
- _l_o_w_D_e_v_i_c_e_E_v_e_n_t_s call or until the device grab is released.
- Actual events are not lost while the devices are frozen;
- they are simply queued in the server for later processing.
-
- If the device is actively grabbed by some other client,
- _X_G_r_a_b_D_e_v_i_c_e fails and returns _A_l_r_e_a_d_y_G_r_a_b_b_e_d. If
- grab_window is not viewable, it fails and returns _G_r_a_b_-
- _N_o_t_V_i_e_w_a_b_l_e. If the device is frozen by an active grab of
- another client, it fails and returns _G_r_a_b_F_r_o_z_e_n. If the
- specified time is earlier than the last-device-grab time
- or later than the current X server time, it fails and
- returns _G_r_a_b_I_n_v_a_l_i_d_T_i_m_e. Otherwise, the last-device-grab
- time is set to the specified time _( _C_u_r_r_e_n_t_T_i_m_e is
- replaced by the current X server time).
-
-
-
- X Version 11 Release 6.1 2
-
-
-
-
-
- XGrabDevice(3X11) X FUNCTIONS XGrabDevice(3X11)
-
-
- If a grabbed device is closed by a client while an active
- grab by that client is in effect, the active grab is
- released. If the device is frozen only by an active grab
- of the requesting client, it is thawed.
-
- _X_G_r_a_b_D_e_v_i_c_e can generate _B_a_d_C_l_a_s_s, _B_a_d_D_e_v_i_c_e, _B_a_d_V_a_l_u_e,
- and _B_a_d_W_i_n_d_o_w errors.
-
- The _X_U_n_g_r_a_b_D_e_v_i_c_e request releases the device and any
- queued events if this client has it actively grabbed from
- either _X_G_r_a_b_D_e_v_i_c_e or _X_G_r_a_b_D_e_v_i_c_e_K_e_y. If other devices
- are frozen by the grab, _X_U_n_g_r_a_b_D_e_v_i_c_e thaws them. _X_U_n_-
- _g_r_a_b_D_e_v_i_c_e does not release the device and any queued
- events if the specified time is earlier than the last-
- device-grab time or is later than the current X server
- time. It also generates _D_e_v_i_c_e_F_o_c_u_s_I_n and _D_e_v_i_c_e_F_o_c_u_s_O_u_t
- events. The X server automatically performs an _U_n_g_r_a_b_D_e_-
- _v_i_c_e request if the event window for an active device grab
- becomes not viewable.
-
- _X_U_n_g_r_a_b_D_e_v_i_c_e can generate a _B_a_d_D_e_v_i_c_e error.
-
- DDIIAAGGNNOOSSTTIICCSS
- _B_a_d_D_e_v_i_c_e An invalid device was specified. The speci-
- fied 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_V_a_l_u_e Some numeric value falls outside the range of
- values accepted by the request. Unless a spe-
- cific 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.
-
- _B_a_d_W_i_n_d_o_w A value for a Window argument does not name a
- defined Window.
-
- SSEEEE AALLSSOO
- XAllowDeviceEvents(3X), XGrabDeviceButton(3X), XGrabDe-
- viceKey(3X),
- _P_r_o_g_r_a_m_m_i_n_g _W_i_t_h _X_l_i_b
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- X Version 11 Release 6.1 3
-
-
-