pub enum Event {
    Keymap {
        format: Enum<KeymapFormat>,
        fd: Handle,
        size: u32,
    },
    Enter {
        serial: u32,
        surface: ObjectId,
        keys: Array,
    },
    Leave {
        serial: u32,
        surface: ObjectId,
    },
    Key {
        serial: u32,
        time: u32,
        key: u32,
        state: Enum<KeyState>,
    },
    Modifiers {
        serial: u32,
        mods_depressed: u32,
        mods_latched: u32,
        mods_locked: u32,
        group: u32,
    },
    RepeatInfo {
        rate: i32,
        delay: i32,
    },
}

Variants§

§

Keymap

Fields

§format: Enum<KeymapFormat>

keymap format

§fd: Handle

keymap file descriptor

§size: u32

keymap size, in bytes

keyboard mapping

This event provides a file descriptor to the client which can be memory-mapped to provide a keyboard mapping description.

From version 7 onwards, the fd must be mapped with MAP_PRIVATE by the recipient, as MAP_SHARED may fail.

§

Enter

Fields

§serial: u32

serial number of the enter event

§surface: ObjectId

surface gaining keyboard focus

§keys: Array

the currently pressed keys

enter event

Notification that this seat’s keyboard focus is on a certain surface.

The compositor must send the wl_keyboard.modifiers event after this event.

§

Leave

Fields

§serial: u32

serial number of the leave event

§surface: ObjectId

surface that lost keyboard focus

leave event

Notification that this seat’s keyboard focus is no longer on a certain surface.

The leave notification is sent before the enter notification for the new focus.

After this event client must assume that all keys, including modifiers, are lifted and also it must stop key repeating if there’s some going on.

§

Key

Fields

§serial: u32

serial number of the key event

§time: u32

timestamp with millisecond granularity

§key: u32

key that produced the event

§state: Enum<KeyState>

physical state of the key

key event

A key was pressed or released. The time argument is a timestamp with millisecond granularity, with an undefined base.

The key is a platform-specific key code that can be interpreted by feeding it to the keyboard mapping (see the keymap event).

If this event produces a change in modifiers, then the resulting wl_keyboard.modifiers event must be sent after this event.

§

Modifiers

Fields

§serial: u32

serial number of the modifiers event

§mods_depressed: u32

depressed modifiers

§mods_latched: u32

latched modifiers

§mods_locked: u32

locked modifiers

§group: u32

keyboard layout

modifier and group state

Notifies clients that the modifier and/or group state has changed, and it should update its local state.

§

RepeatInfo

Fields

§rate: i32

the rate of repeating keys in characters per second

§delay: i32

delay in milliseconds since key down until repeating starts

repeat rate and delay

Informs the client about the keyboard’s repeat rate and delay.

This event is sent as soon as the wl_keyboard object has been created, and is guaranteed to be received by the client before any key press event.

Negative values for either rate or delay are illegal. A rate of zero will disable any repeating (regardless of the value of delay).

This event can be sent later on as well with a new value if necessary, so clients should continue listening for the event past the creation of wl_keyboard.

Trait Implementations§

source§

impl Debug for Event

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl FromArgs for Event

source§

fn from_args(op: u16, args: Vec<Arg>) -> Result<Self, Error>

Consumes |args| creates an instance of self.
source§

impl MessageType for Event

source§

fn log(&self, this: ObjectId) -> String

Generates a string suitable for protocol logging this message.
source§

fn message_name(&self) -> &'static CStr

Returns a static CStr reference that describes the interface/method of this message. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Event

§

impl Send for Event

§

impl Sync for Event

§

impl Unpin for Event

§

impl UnwindSafe for Event

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V