[PATCH inputproto multitouch 3/9] Update device type terminology

Chase Douglas chase.douglas at canonical.com
Fri Aug 5 16:14:47 PDT 2011


Remove IndepedentTouch and SemiMultitouch devices. These may be handled
in an implementation specific manner through the props array of ATOMs in
the touch class information.

Signed-off-by: Chase Douglas <chase.douglas at canonical.com>
---
 XI2.h              |    2 --
 specs/XI2proto.txt |   37 +++++++++++--------------------------
 2 files changed, 11 insertions(+), 28 deletions(-)

diff --git a/XI2.h b/XI2.h
index e70defe..4b3c275 100644
--- a/XI2.h
+++ b/XI2.h
@@ -164,8 +164,6 @@
 /* Touch modes */
 #define XIDirectTouch                           1
 #define XIDependentTouch                        2
-#define XIIndependentPointer                    3
-#define XISemiMultitouch                        4
 
 /* XI2 event mask macros */
 #define XISetMask(ptr, event)   (((unsigned char*)(ptr))[(event)>>3] |=  (1 << ((event) & 7)))
diff --git a/specs/XI2proto.txt b/specs/XI2proto.txt
index b592cfe..2fd3c45 100644
--- a/specs/XI2proto.txt
+++ b/specs/XI2proto.txt
@@ -76,11 +76,11 @@ The additions in XI 2.1 aim to:
 
 XI 2.1 caters for two modes of touch input devices:
 
-- 'direct' multi-touch input devices such as touchscreens. These devices
+- 'Direct' multi-touch input devices such as touchscreens. These devices
   provide independent touchpoints that can occur anywhere on the screen;
   'direct' here refers to the user manipulating objects as they appear,
   e.g. touching an object and physically moving it.
-- 'indirect' touch input devices such as multi-touch trackpads and mice with
+- 'Dependent' touch input devices such as multi-touch trackpads and mice with
   additional touch surfaces. These devices provide independent touchpoints that
   often need to be interpreted relative to the current position of the cursor
   on that same device. Such interactions are usually the result of a gesture
@@ -354,25 +354,8 @@ DependentTouch:
     location of the device's cursor. An Example of a DependentTouch device is a
     trackpad.
 
-IndependentPointer:
-    These devices do not have any correlation between touch events and pointer
-    events. Pointer events are generated by physical interactions with the
-    device that are independent of any touch events. An example of an
-    IndependentPointer device is a mouse with a touch surface used for scrolling
-    or other gestural input.
-
-SemiMultitouch:
-    These devices only report the number of touches and the bounding box of the
-    touches on the touch surface. The touch information is sent as one touch
-    event sequence with four touch valuators defining the bounding box. Touch
-    events are delivered according to the location of the device's cursor.
-    Although DirectTouch and IndependentPointer devices may also be
-    SemiMultitouch devices, such devices are not allowed through this protocol.
-
 A device is identified as only one of the device modes above at any time, and
-the touch mode may change at any time. For the purposes of this protocol
-document, indirect touch devices refers to DependentTouch, IndependentPointer,
-and SemiMultitouch devices.
+the touch mode may change at any time.
 
 [[multitouch-processing]]
 Touch event delivery
@@ -382,9 +365,9 @@ For direct touch devices, the window set for event propagation is the set of
 windows from the root window to the topmost window lying at the co-ordinates
 of the touch.
 
-For indirect devices, the window set for event propagation is the set of
+For dependent devices, the window set for event propagation is the set of
 windows from the root window to the window that contains the device's
-pointer. An indirect device may only have one window set at a time, for all
+pointer. A dependent device may only have one window set at a time, for all
 touches. Any future touch sequence will use the same window set. The window set
 is cleared when all touch sequences on the device end.
 
@@ -395,7 +378,7 @@ event selection do not affect the window set.
 **************************************************************************
 [red yellow-background]*FIXME*
 
-No touches from an indirect device may begin while the device is
+No touches from a dependent device may begin while the device is
 floating, as it does not have an associated pointer position to focus
 events.
 
@@ -646,7 +629,8 @@ If major_version is less than 2, a BadValue error occurs.
                   length:               CARD16
                   sourceid:             CARD16
                   mode:                 TOUCHMODE
-                  num_touches:          CARD16 }
+                  num_touches:          CARD16
+                  props:                LISTofATOM }
 
     TOUCHAXISCLASS* {
                   type:                 TouchAxisClass
@@ -658,8 +642,7 @@ If major_version is less than 2, a BadValue error occurs.
                   max:                  FP3232
                   resolution:           CARD32 }
 
-    TOUCHMODE* { DirectTouch, DependentTouch, IndependentPointer,
-                 SemiMultitouch }
+    TOUCHMODE* { DirectTouch, DependentTouch }
 
 * since XI 2.1
 
@@ -780,6 +763,8 @@ client. If no min and max information is available, both must be 0.
         The maximum number of simultaneous touchpoints the device may send.
         If num_touches is 0, the number of supported touches is unknown or
         unlimited.
+    props
+        A list of properties to denote extra information about the device.
 
 A device with a TouchClass must provide one or more TOUCHAXISCLASS
 specifiers.
-- 
1.7.4.1



More information about the xorg-devel mailing list