Supporting Multi-Touch In Non-Multi-Touch Linux Apps
Posted by Mohamed Ikbel Boulabiar on August 19, 2010
After the release of the Ubuntu Multi-Touch stack called UTouch and the X.Org Gesture Extension, the rising question would be the support of everyday applications, as only a few applications in Ubuntu 10.10 will properly support UTouch. Standard applications which are non-multi-touch-aware only recognize events which come from the keyboard and the mouse like key-presses and mouse clicks.
Last year when I was in the LII-ENAC Lab in Toulouse, we were discussing on how to deal with advanced input devices handling and how to develop this inside operating systems like Linux. One of the ideas is to consider the input as bricks which can be chained, modifying and enriching the information in each phase. And in the end of the chain, the input should take place in receivers, and one of the methods is to inject them in a way the application can recognize easily.
And here comes Ginn, which is a daemon filling the gap in-between by listening to gestures from the UTouch stack and injecting common key-press events inside applications according to the predefined rules.
As a beginning, two video demos have been prepared to validate the concept and show what it is possible to do with the multi-touch stack.
The first video (above) shows the control of the GNOME PDF reader called Evince, and the second one (below) shows the famous vector drawing tool Inkscape.
Ginn doesn't use DBus facilities but this support can be added later to get direct control on applications.
This background daemon fills the gap of multi-touch support and is a nice complement to the direct use of UTouch API. It can be also useful for closed-source applications running on Linux as they will be forced to accept multi-touch events even completely without detecting them.
Mohamed Ikbel Boulabiar is one of the developers behind the Ginn daemon and prepared this article for Phoronix.