diff --git a/protocol/wayland.xml b/protocol/wayland.xml index 513b8fd8..88664e2e 100644 --- a/protocol/wayland.xml +++ b/protocol/wayland.xml @@ -1984,7 +1984,7 @@ - + A seat is a group of keyboards, pointer and touch devices. This object is published as a global during start up, or when such a @@ -2115,10 +2115,9 @@ use the seat object anymore. - - + The wl_pointer interface represents one or more input devices, such as mice, which control the pointer location and pointer_focus @@ -2531,7 +2530,7 @@ - + The wl_keyboard interface represents one or more keyboards associated with a seat. @@ -2555,6 +2554,8 @@ + @@ -2566,6 +2567,13 @@ From version 7 onwards, the fd must be mapped with MAP_PRIVATE by the recipient, as MAP_SHARED may fail. + + From version 11 onwards, multiple wl_keyboard.keymap events may be sent + within a single frame, each representing the same keymap in a distinct + keymap format. Clients must select and process at most one of these + keymaps, ideally the one offering the greatest feature coverage, while + immediately closing the file descriptors corresponding to unused + keymaps. Keymap events sent in a later frame replace the active keymap. @@ -2587,6 +2595,9 @@ Clients should not use the list of pressed keys to emulate key-press events. The order of keys in the list is unspecified. + + From version 11 onwards this event is part of a wl_keyboard.frame + logical event group. See wl_keyboard.frame for details. @@ -2605,6 +2616,9 @@ defaults. The compositor must not send this event if the active surface of the wl_keyboard was not equal to the surface argument immediately before this event. + + From version 11 onwards this event is part of a wl_keyboard.frame + logical event group. See wl_keyboard.frame for details. @@ -2652,6 +2666,9 @@ key state when a wl_keyboard.repeat_info event with a rate argument of 0 has been received. This allows the compositor to take over the responsibility of key repetition. + + From version 11 onwards this event is part of a wl_keyboard.frame + logical event group. See wl_keyboard.frame for details. @@ -2674,6 +2691,9 @@ In the wl_keyboard logical state, this event updates the modifiers and group. + + From version 11 onwards this event is part of a wl_keyboard.frame + logical event group. See wl_keyboard.frame for details. @@ -2704,15 +2724,50 @@ 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. + + From version 11 onwards this event is part of a wl_keyboard.frame + logical event group. See wl_keyboard.frame for details. + + + + + + Indicates the end of a set of events that logically belong together. + A client is expected to accumulate the data in all events within the + frame before proceeding. + + All wl_keyboard events before a wl_keyboard.frame event belong + logically together. For example, multiple wl_keyboard.keymap event may + be sent — each one with a different format — and finally a + wl_keyboard.frame event. See the wl_keyboard.keymap event for more + details. + + A wl_keyboard.frame event is sent for every logical event group, + even if the group only contains a single wl_keyboard event. + Specifically, a client may get a sequence: key, frame, key, modifier, + frame, key, frame. + + The wl_keyboard.enter and wl_keyboard.leave events are logical events + generated by the compositor and not the hardware. These events are + also grouped by a wl_keyboard.frame. When the keyboard focus moves from + one surface to another, a compositor should group the + wl_keyboard.leave event within the same wl_keyboard.frame. + However, a client must not rely on wl_keyboard.leave and + wl_keyboard.enter being in the same wl_keyboard.frame. + Compositor-specific policies may require the wl_keyboard.leave and + wl_keyboard.enter event being split across multiple wl_keyboard.frame + groups. + + - + The wl_touch interface represents a touchscreen associated with a seat.