diff options
author | Kirill Chibisov <contact@kchibisov.com> | 2020-05-24 02:28:31 +0300 |
---|---|---|
committer | Daniel Stone <daniels@collabora.com> | 2020-06-12 21:15:11 +0000 |
commit | 4aa6eb868a8646b99c5b552a48aa31043530a269 (patch) | |
tree | 550eb2ea0a5fef46c586408e95777ca174b1d14a | |
parent | a61ae8eca858f866636eb2721f42ca0fa7fd06f8 (diff) | |
download | wayland-4aa6eb868a8646b99c5b552a48aa31043530a269.tar.gz |
Clarify the order of wl_keyboard.modifiers
Consider that we set the modifier for the modifier key as well, and that
you have the option to change your layout when both shifts pressed. This
realized by making the shift keys produce 'Group_switch' when you press
the shift key and the shift modifier is already active. So sending modifier
before the key event will result in 'Group_switch' each time you press
shift.
That being said, the order of modifiers should be updated after the
key/enter event, so it'll only affect future keypresses, not the current one.
See: https://lists.x.org/archives/xorg-devel/2014-July/043110.html
Signed-off-by: Kirill Chibisov <contact@kchibisov.com>
-rw-r--r-- | protocol/wayland.xml | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/protocol/wayland.xml b/protocol/wayland.xml index 1239691..8e4a75c 100644 --- a/protocol/wayland.xml +++ b/protocol/wayland.xml @@ -2202,6 +2202,9 @@ <description summary="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. </description> <arg name="serial" type="uint" summary="serial number of the enter event"/> <arg name="surface" type="object" interface="wl_surface" summary="surface gaining keyboard focus"/> @@ -2233,6 +2236,9 @@ A key was pressed or released. The time argument is a timestamp with millisecond granularity, with an undefined base. + + If this event produces a change in modifiers, then the resulting + wl_keyboard.modifiers event must be sent after this event. </description> <arg name="serial" type="uint" summary="serial number of the key event"/> <arg name="time" type="uint" summary="timestamp with millisecond granularity"/> |