
The positions of the touch events on an XIDependentDevice are interpreted relative to the cursor position. An XIDependentDevice controls a cursor in the "normal" fashion most of the time, but supports multi-touch events, too.

The other class is an XIDependentDevice, which is typically a non-display input device like a touchpad. In these cases, the coordinates where the event happens come directly from the position of the touch. Is the case with tablets, touch-screen monitors, and the like). XIDirectDevice is one where the touch event occurs on screen (as XInput2.2 defines two distinct classes of multi-touch device thatĬorrespond to the two major modes of multi-touch user interaction. With a multi-touch gesture event like a pinch, however, tracking and interpreting the motion and relative positions of the fingers makes all the difference in the world. A simple way to tell the difference is that with two-finger middle-clicks, the position of the user's fingers do not matter the cursor stays (more or less) in one place. Although detecting multiple points-of-contact is involved, this is also not genuinely multi-touch - detecting the multiple taps or scrolling simply triggers a different event from the touchpad driver. Touchpad users are probably already familiar with two-finger scrolling and two- or three-finger mouse clicks. MPX support was added - also by Hutterer - to XInput2 in 2009, and was first released with X.Org 1.7. It is a different animal entirely from multi-pointer X (MPX), which is the ability to use two or more on-screen cursors at the same time, controlled by separate hardware devices. For example, using more than one finger to manipulate objects on a touchscreen device, or multi-finger gestures on a touchpad. Multi-touch refers specifically to the ability to recognize and use multiple input points on a single hardware device. Of course, any discussion of multi-touch X begins by explaining what it is and what it isn't. Maintainer of XInput2, has been writing about adding multi-touch support in his blog since December 2011 - including the architecture and what application developers will need to address before they can bring multi-touch and gesture support to users. Support, courtesy of version 2.2 of the XInput2 extension. With it comes several new features, but the most anticipated is probably multi-touch

X.Org 1.12, the next release of the reference X server, is currently in This article was contributed by Nathan Willis
