Struct xcb::x::GrabKeyboard
source · [−]pub struct GrabKeyboard {
pub owner_events: bool,
pub grab_window: Window,
pub time: Timestamp,
pub pointer_mode: GrabMode,
pub keyboard_mode: GrabMode,
}
Expand description
Grab the keyboard
Actively grabs control of the keyboard and generates FocusIn and FocusOut events. Further key events are reported only to the grabbing client.
Any active keyboard grab by this client is overridden. If the keyboard is
actively grabbed by some other client, AlreadyGrabbed
is returned. If
grab_window
is not viewable, GrabNotViewable
is returned. If the keyboard
is frozen by an active grab of another client, GrabFrozen
is returned. If the
specified time
is earlier than the last-keyboard-grab time or later than the
current X server time, GrabInvalidTime
is returned. Otherwise, the
last-keyboard-grab time is set to the specified time.
Example
// Grabs the keyboard actively
let cookie = conn.send_request(&x::GrabKeyboard {
owner_events: true, // get all pointer events specified by the following mask
grab_window: screen.root(), // grab the root window
time: x::CURRENT_TIME,
pointer_mode: x::GrabMode::Async, // process events as normal, do not require sync
keyboard_mode: x::GrabMode::Async,
});
let reply = conn.wait_for_reply(cookie)?;
assert!(reply.status() == x::GrabStatus::Success, "GrabKeyboard did not succeed");
This request replies GrabKeyboardReply.
Associated cookie types are GrabKeyboardCookie and GrabKeyboardCookieUnchecked.
Fields
owner_events: bool
If 1, the grab_window
will still get the pointer events. If 0, events are not
reported to the grab_window
.
grab_window: Window
Specifies the window on which the pointer should be grabbed.
time: Timestamp
Timestamp to avoid race conditions when running X over the network.
The special value XCB_CURRENT_TIME
will be replaced with the current server
time.
pointer_mode: GrabMode
keyboard_mode: GrabMode
Trait Implementations
Actual implementation of the request sending Read more
type Cookie = GrabKeyboardCookie
type Cookie = GrabKeyboardCookie
The default cookie associated to this request.
type Reply = GrabKeyboardReply
type Reply = GrabKeyboardReply
Reply associated with the request
type Cookie = GrabKeyboardCookie
type Cookie = GrabKeyboardCookie
Default cookie type for the request, as returned by Connection::send_request.
Unchecked cookie type for the request, as returned by Connection::send_request_unchecked.
Auto Trait Implementations
impl RefUnwindSafe for GrabKeyboard
impl Send for GrabKeyboard
impl Sync for GrabKeyboard
impl Unpin for GrabKeyboard
impl UnwindSafe for GrabKeyboard
Blanket Implementations
Mutably borrows from an owned value. Read more