← Back to team overview

multi-touch-dev team mailing list archive

Re: Touch and Multi-touch with N-Trig and others, for 10.04

 

Moving to the mailing list.

Where is the best place to learn about:

  - X events and input handling, generally
>   - The current state of conversations in the FLOSS community re MT
>   - The state of the art in MT, even in proprietary software?

Not what you asked, but should mention for reference. The hid spec lives at usb.org http://www.usb.org/developers/hidpage/ The "HID Usage Tables" was perhaps the most useful document that I discovered early on. There are additions under review (or maybe already approved) to specify the codes for MT.


kernel <-> userspace is (incompletely) defined in the kernel tree Documentation/input. The structure of the stream from the event devices is specified near the end of input.txt. However it does not really cover anything about which events and the ordering.

multi-touch-protocol.txt describes the events for mt devices including specifying the minimum set of events to represent each finger and the complete mt group.


For input protocol to the X drivers, I found no documentation aside from the driver source. I don't claim it doesn't exist, but I found what I was looking for rather quickly and did not dig much further. In the case of the n-trig, the supported features were very close to what the drivers were looking for and I only needed to read a little to figure out why certain things went wrong. For example, -wacom wants to see "doubleclick" instead of just "touch" to indicate your finger is touching the screen and evdev incorrectly identifies the device as a digitizer if BTN_TOOL_PEN is claimed and touchpad if BTN_TOOL_FINGER is defined, requiring clearing those bits when the input devices are setup.

X protocol docs (the answer to your question):
http://www.x.org/wiki/XInputSpec
http://cgit.freedesktop.org/xorg/proto/inputproto/tree/XI2proto.txt
http://www.x.org/wiki/Development/Documentation/MPX


The mpx doc is really pretty light and I don't feel particularly enlightened as to what support we should expect to see from general X apps. And as Stephane points out, there are still several high level concepts that are still being ironed out.

Rafi