diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2013-07-19 15:54:45 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2014-01-06 16:11:05 +1000 |
commit | 06da19e15c9d3a9e57f4fe89fe507a4fa7160a45 (patch) | |
tree | 52f7102aab50fd5b919237fee40c5ed4e74f26b2 /specs | |
parent | 65f14b2edaf70a2520e0180609f79f52836ca4f9 (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')
-rw-r--r-- | specs/XI2proto.txt | 9 |
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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |