← Back to team overview

multi-touch-dev team mailing list archive

Status of multitouch in the kernel

 

This is a summary for those who are not familiar with the status of
multitouch support in the kernel. There are two issues: protocol and
general implementation, and device support.

The protocol and general implementation is fairly robust and mature at
this point. Multitouch events are passed from the kernel through the
same channel as all other input device events such as mouse movements
and keyboard presses. In userspace they are read through /dev/input
nodes. If you have a multitouch device you can test this by using
lsinput to find the correct /dev/input node and then using evtest
(apt-get install evtest) to print out the events as they are received.
Note that evtest doesn't fully understand the multitouch events, but
you can see them and look at the #defines in
/usr/include/linux/input.h if you want to figure it out.

As for device support, there are a number of drivers already in 10.04
LTS that include multitouch support. The following drivers send out MT
events, with varying levels of metadata (pressure, touch shape, etc.):

hid-3m-pct.c
hid-apple.c
hid-core.c
hid-debug.c
hid-ids.h
hid-mosart.c
hid-ntrig.c
hid-quanta.c
hid-stantum.c

There has been some focused work on the stantum and ntrig drivers
recently, so those devices hopefully work very well. However, some
ntrig work did not make it into the 10.04 LTS kernel, so it's best to
use the multitouch-kernel-source package I have uploaded. This package
includes ntrig improvements plus support for the apple magic mouse. To
use the package:

$ sudo add-apt-repository ppa:chasedouglas
$ sudo apt-get update
$ sudo apt-get install multitouch-kernel-source

Then reboot.

If there are any bugs or other issues with multitouch drivers, please
email this list (preferred) or myself directly and I will try to get
them worked out.

Thanks,

-- Chase



Follow ups