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§
source§impl Clone for GrabKeyboard
impl Clone for GrabKeyboard
source§fn clone(&self) -> GrabKeyboard
fn clone(&self) -> GrabKeyboard
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for GrabKeyboard
impl Debug for GrabKeyboard
source§impl RawRequest for GrabKeyboard
impl RawRequest for GrabKeyboard
source§fn raw_request(&self, c: &Connection, checked: bool) -> u64
fn raw_request(&self, c: &Connection, checked: bool) -> u64
source§impl Request for GrabKeyboard
impl Request for GrabKeyboard
source§impl RequestWithReply for GrabKeyboard
impl RequestWithReply for GrabKeyboard
source§type Reply = GrabKeyboardReply
type Reply = GrabKeyboardReply
source§type Cookie = GrabKeyboardCookie
type Cookie = GrabKeyboardCookie
source§type CookieUnchecked = GrabKeyboardCookieUnchecked
type CookieUnchecked = GrabKeyboardCookieUnchecked
Auto Trait Implementations§
impl Freeze for GrabKeyboard
impl RefUnwindSafe for GrabKeyboard
impl Send for GrabKeyboard
impl Sync for GrabKeyboard
impl Unpin for GrabKeyboard
impl UnwindSafe for GrabKeyboard
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)