summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKirill Chibisov <contact@kchibisov.com>2020-05-24 02:28:31 +0300
committerDaniel Stone <daniels@collabora.com>2020-06-12 21:15:11 +0000
commit4aa6eb868a8646b99c5b552a48aa31043530a269 (patch)
tree550eb2ea0a5fef46c586408e95777ca174b1d14a
parenta61ae8eca858f866636eb2721f42ca0fa7fd06f8 (diff)
downloadwayland-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.xml6
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"/>