The new Asus multi-touch netbook, Asus Eee PC T91MT landed a couple of months ago with Windows 7. At the moment, Asus does not sell this model with Linux and has no plans to do so. We were curious to test our UI concept on Asus T91MT, so we had to dig T91MT’s multi-touch support a bit. Regardless of the model name, T91MT does not have a true multi-touch display but the display supports only two touch points.
Since 2.6.30, the Linux input system supports multi-touch events. However, only a few kernel-space drivers are available at the moment and the involved API’s are somewhat in inconsistent state. Interactive computing lab at ENAC University (France) has done valuable job and publications for Linux multi-touch support in general. Once T91MT reached stores, ENAC University published a driver for it. However, this driver was aimed for their own showcase. The driver reads multi-touch input events and passes them as effects to compiz-fusion desktop using dbus. X was not involved with events, since it still lacked support for them. However, X’s support is under way and so far there are working solutions using evtouch (input device driver for Xorg).
As our concept aimed to have its own window compositing, virtual keyboard and no generic applications support, the solution was kept as intact from X server’s dependencies as possible. For multi-touch, this meant that our applications could interact with kernel’s input API directly.
At first, the driver available from ENAC’s site was compiled and tested. It appeared not to emit multi-touch events like expected. Shortly it appeared that ENAC had no T91MT at all, and the driver was written based on information from their other contacts. In co-operation with driver’s author, we were able to figure its main issues that prevented multi-touch use.
The touch controller in T91MT provides USB HID interface, making it easy to communicate with the device. The controller follows the latest specifications made public with Windows 7. Windows 7 HID has few additions that do not exist in generic HID specification:
These new HID usage codes were not generally supported with Linux HID support. The one that counted the most, was the read/write value called InputMode. The InputMode allows device to be configured to act differently. The default mode with T91MT was “Mouse emulation” that causes controller to emit only mouse-like input data. Other InputMode-values were also tested and the one activating the required features was shared with ENACs colleague as an exchange from overall support we received. Later we developed the driver further to suit our own needs and it is no longer suitable for ENAC’s showcase.
Check out the video from CybercomLab/YouTube demonstrates Linux T91MT touch screen with Qt’s Finger Paint.
hey guys ... this version is superb.. and amazing.. how to get this version to my N900.. can u plz respond to this comment.. plzzzzzzzzzzzzz.. or can u plz mail if any updates abt this version...
Ecomnoies are in dire straits, but I can count on this!
Yup, that shloud defo do the trick!