summaryrefslogtreecommitdiff
path: root/specs/XI2proto.txt
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2013-07-19 15:54:45 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2014-01-06 16:11:05 +1000
commit06da19e15c9d3a9e57f4fe89fe507a4fa7160a45 (patch)
tree52f7102aab50fd5b919237fee40c5ed4e74f26b2 /specs/XI2proto.txt
parent65f14b2edaf70a2520e0180609f79f52836ca4f9 (diff)
specs: clarify SD keyboard focus behaviour
The smart thing would be to have the SD's keyboard focus to be identical to the MD's keyboard focus (and a BadDevice returned when trying to set an attached SD's keyboard focus) but alas, the server never implemented this behaviour and we've now shipped 7 versions with separate SD and MD focus. So consider this set in stone. oops. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
Diffstat (limited to 'specs/XI2proto.txt')
-rw-r--r--specs/XI2proto.txt9
1 files changed, 9 insertions, 0 deletions
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index d30fcca..79988fc 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -212,6 +212,8 @@ If an event is generated by an SD
- if the SD is attached to a master pointer, it changes the position and/or
button state of the master pointer.
+- if the SD has a keyboard focus other than None, the key event is sent to
+ the focus window.
- if the SD is attached to a master keyboard, it sends events to this
keyboard's focus window (if applicable) and/or changes the modifier state of
this keyboard.
@@ -220,6 +222,13 @@ If an event is generated by an SD
Both the sprite and the focus must be managed explicitly by the client
program.
+Note: the keyboard focus of an attached slave device is independent to that
+of the master device. Two keyboard events are generated, once with deviceid
+and sourceid set to the slave device. This keyboard event is sent to the
+slave device's focus window. The second event has a deviceid of the master
+and a sourceid of the slave device. This second event is delivered to the
+master keyboard's focus window.
+
[[hierarchy-dcce]]
Event processing for attached slave devices
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~