Finding out your multi-touch device ID
Using the lsinput command you can check what input device corresponds to your multi-touch device. lsinput is part of the input-utils package which is not installed by default. To install it, just do the following:
$ sudo apt-get install input-utils
Then you can run it:
$ sudo lsinput
Apple Magic Trackpad
Here is sample output for an Apple Magic Trackpad:
... /dev/input/event7 bustype : BUS_BLUETOOTH vendor : 0x5ac product : 0x30e version : 352 name : "Apple Wireless Trackpad" phys : "XX:XX:XX:XX:XX:XX" uniq : "XX:XX:XX:XX:XX:XX" bits ev : EV_SYN EV_KEY EV_REL EV_MSC ...
On this system, the MT device input node is /dev/input/event7.
There are actually three inputs for the N-trig hardware. The one that is used for multitouch is named "N-Trig MultiTouch". Here is some sample output:
... /dev/input/event10 bustype : BUS_USB vendor : 0x1b96 product : 0x1 version : 272 name : "N-Trig MultiTouch" phys : "usb-0000:00:1d.0-1.8/input1" uniq : "" bits ev : EV_SYN EV_KEY EV_ABS ...
On this system, the MT device input node is /dev/input/event10.
Testing multi-touch input activity
To test for multi-touch input, you will then need to use mtdev-test which is part of the mtdev-tools package. This package is not installed by default.
$ sudo apt-get install mtdev-tools
Normally the xserver will hold exclusivity for reading from those files. In such situations you should run those commands from a virtual terminal (e.g. Ctrl+Alt+F1). When you switch to a virtual terminal xserver releases his exclusive grab. To return to the GUI press Ctrl+Alt+F7. You can also configure xserver not to hold exclusive grabs over evdev files, but that goes beyond the scope of this wiki page.
Here is an example of testing output with mtdev-test:
$ sudo mtdev-test /dev/input/event7 012a7c6adc9d 00 2 0001 -1 012a7c6adc9d 00 0 0000 0 012a7c6adfc7 00 4 0004 589825 012a7c6adfc7 00 1 0110 1 012a7c6adfc7 00 0 0000 0 012a7c6ae075 00 4 0004 589825 012a7c6ae075 00 1 0110 0 012a7c6ae075 00 0 0000 0 012a7c6ae2f6 00 4 0004 589825 012a7c6ae2f6 00 1 0110 1 012a7c6ae2f6 00 0 0000 0 012a7c6ae388 00 4 0004 589825 012a7c6ae388 00 1 0110 0 012a7c6ae388 00 0 0000 0
If you do not see any data output, then your device is unsupported, not working, or there is a bug in the driver or system.