From 06da19e15c9d3a9e57f4fe89fe507a4fa7160a45 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 19 Jul 2013 15:54:45 +1000 Subject: 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 Reviewed-by: Jasper St. Pierre --- specs/XI2proto.txt | 9 +++++++++ 1 file changed, 9 insertions(+) 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 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- cgit v1.2.1