Multitouch displays

From ArchWiki
Revision as of 19:36, 3 January 2013 by Bluerider (talk | contribs) (Configuration (USB devices))
Jump to: navigation, search

Since Linux Kernel 3.2, multitouch devices are handled by the hid-multitouch module, see Kernel Modules.

Configuration (USB devices)

Find the vendor ID (VID) and product ID (PID) for your touchscreen using lsusb:

$ lsusb
Bus 004 Device 002: ID 0eef:725e D-WAV Scientific Co., Ltd 

Here, VID=0eef (eGalax) and PID=725e. Now, get the MT_CLASS_* definitions from [1]. Currently vendor specific classes are available for 3M Cypress and eGalax. If none of this matches your device, you can try to experiment with the other MT_CLS_*. In this example

#define MT_CLS_EGALAX                           0x0103

You need to convert MT_CLS_* to decimal (In this case, 0x0103 is 259 in decimal).

After loading the hid-multitouch, see Kernel Modules, you need to pass the devices' options with

# echo BUS VID PID MT_CLASS_* > /sys/module/hid_multitouch/drivers/hid\:hid-multitouch/new_id

In this example, the touchscreen is an USB device, so BUS=3 and the previous command looks like this:

# echo 3 0eef 725e 259 > /sys/module/hid_multitouch/drivers/hid\:hid-multitouch/new_id

Reboot. If the touchscreen is detected you should submit your devices' details (relevant lsusb line) to the linux-input mailing list.

If the touchscreen is not working properly, you may need to install a specific driver for your touchscreen, see #Drivers.

Rotating the touch screen

Store and mark the following script executable:

 rotate the screen; ex. -r right


Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Multitouch displays#)


The driver for eGalax tocushcreens is available from the eGalax website. Also, it is availbale as xf86-input-egalax-linux3AUR from the Arch User Repository.

Invert Y-axis

If after installing the eGalax driver the Y-axis of the touchscreen is inverted, edit the file /etc/eGTouchd.ini an change the value of Direction from 0 to 2:

DetectRotation 0
Direction 2
Orientation 0