summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2009-07-27 14:29:00 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2009-07-27 14:29:18 +1000
commit0542581edcef2795c613921e66736871b44408d7 (patch)
treebde6d1d7522eb8e891e6f1bfee8cc557942fb071
parent7cf46d64e0f2816f76ff3e23a77e5414a8625d10 (diff)
XI2proto.txt: Add some XI1 vs. XI2 interoperability descriptions.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
-rw-r--r--XI2proto.txt32
1 files changed, 31 insertions, 1 deletions
diff --git a/XI2proto.txt b/XI2proto.txt
index 2119aff..a36f1dd 100644
--- a/XI2proto.txt
+++ b/XI2proto.txt
@@ -63,7 +63,37 @@ COMPLEXFIELDTYPE: { name of subfield: type of subfield,
3. Interoperability between version 1.x and 2.0
-FIXME
+There is little interaction between 1.x and 2.x versions of the X Input
+Extension. Clients are requested to avoid mixing XI1.x and XI2 code as much as
+possible. Several direct incompatibilities are observable:
+
+3.1 Limitations resulting from different variable ranges
+
+XI2 provides a larger range for some fields than XI1. As a result, XI1 clients
+may not receive data an XI2 client receives.
+These fields include:
+- devices with a deviceid of greater than 127 are invisible to XI1 clients.
+- key events and key grabs featuring larger than 255 can only be sent to XI2
+ clients.
+- no subpixel information is avialable to XI1 clients. If motion events are in
+ a subpixel range only, the server may omit these events and an XI 1.x client
+ will not receive events until the pixel boundary is crossed.
+
+
+3.2 Blocking of grabs
+
+XI1 grabs are different to XI2 grab and a device may not be grabbed through an
+XI2 grab if an XI1 grab is currently active on this device or vice versa.
+Likewise, a keycode or button already grabbed by an XI 1.x or XI2 client may
+not be grabbed with the same modifier combination by an XI2 or XI 1.x client,
+respectively.
+
+3.3 Invisibility of Master Devices
+
+XI 1.x was not designed with support for multiple master devices (see Section
+4). As a result, only the first master pointer and master keyboard are visible
+to XI 1.x clients, all other master devices are invisible and cannot be
+accessed from XI 1.x calls.
❧❧❧❧❧❧❧❧❧❧❧