mirror of
https://gitlab.freedesktop.org/wayland/wayland.git
synced 2025-10-29 05:40:16 -04:00
protocol: improve wl_keyboard focus documentation
The compositor must not send any key events while a surface is not focused, but in order to allow for common actions like ctrl+scroll for zooming to work with unfocused surfaces it may do so with modifiers. Signed-off-by: Xaver Hugl <xaver.hugl@gmail.com>
This commit is contained in:
parent
307b23626d
commit
1e259a255a
1 changed files with 15 additions and 2 deletions
|
|
@ -2431,8 +2431,10 @@
|
|||
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.
|
||||
After this event client must assume that no keys are pressed,
|
||||
it must stop key repeating if there's some going on and until
|
||||
it receives the next wl_keyboard.modifiers event, the client
|
||||
must also assume no modifiers are active.
|
||||
</description>
|
||||
<arg name="serial" type="uint" summary="serial number of the leave event"/>
|
||||
<arg name="surface" type="object" interface="wl_surface" summary="surface that lost keyboard focus"/>
|
||||
|
|
@ -2457,6 +2459,9 @@
|
|||
|
||||
If this event produces a change in modifiers, then the resulting
|
||||
wl_keyboard.modifiers event must be sent after this event.
|
||||
|
||||
The compositor must not send this event without a surface of the client
|
||||
having keyboard focus.
|
||||
</description>
|
||||
<arg name="serial" type="uint" summary="serial number of the key event"/>
|
||||
<arg name="time" type="uint" summary="timestamp with millisecond granularity"/>
|
||||
|
|
@ -2468,6 +2473,14 @@
|
|||
<description summary="modifier and group state">
|
||||
Notifies clients that the modifier and/or group state has
|
||||
changed, and it should update its local state.
|
||||
|
||||
The compositor may send this event without a surface of the client
|
||||
having keyboard focus, for example to tie modifier information to
|
||||
pointer focus instead. If a modifier event with pressed modifiers is sent
|
||||
without a prior enter event, the client can assume the modifier state is
|
||||
valid until it receives the next wl_keyboard.modifiers event. In order to
|
||||
reset the modifier state again, the compositor can send a
|
||||
wl_keyboard.modifiers event with no pressed modifiers.
|
||||
</description>
|
||||
<arg name="serial" type="uint" summary="serial number of the modifiers event"/>
|
||||
<arg name="mods_depressed" type="uint" summary="depressed modifiers"/>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue