multi-touch-dev team mailing list archive
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):
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.