PyMT is an open source library for developing multi-touch applications. It is completely cross platform (Linux/OSX/Win) and released under the terms of the GNU LGPL.
It comes with native support for many multi-touch input devices, a growing library of multi-touch aware widgets, hardware accelerated OpenGL drawing, and an architecture that is designed to let you focus on building custom and highly interactive applications as quickly and easily as possible.
Since PyMT is a pure Python library, you can take advantage of its highly dynamic nature and use any of the thousands of high quality and open source python libraries out there.
Installing PyMT in Ubuntu (all versions)
Once you have installed the python-pymt package in Ubuntu, you can try the following command which will fail as there is no example configuration file yet:
$ python -m pymt.tools.demo
In PyMT 0.5.1 (which will be included in Maverick when released) the configuration and device detection will be automatic, but for now this requires manual configuration.
Once the above command fails, you will be able to edit the ~/.pymt/config file. The last portion of that file should look like this:
[input] mouse=hidinput,/dev/input/event7 #default = tuio,0.0.0.0:3333 #mouse = mouse
The configuration will be automatic in the final released version and would be like this:
[input] %(name)s = probesysfs #default = tuio,0.0.0.0:3333 #mouse = mouse
In this example we use /dev/input/event7 which has been obtained by using lsinput from the input-utils package. Here is an example output for the Apple Magic Mouse (other irrelevant input devices removed):
$ sudo lsinput /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
You can also find the input device assigned to your hardware by looking at the Xorg log. In a terminal window you can use the following command:
tail -f -n 30 /var/log/Xorg.0.log
Input devices in Ubuntu require proper permissions to be used. Information on how to accomplish this will be available shortly, however you can run the above demo as the admin user:
$ sudo python -m pymt.tools.demo
Placing several fingers on your mouse should yield something similar to this:
Run examples from PyMT
PyMT come with an integrated multitouch desktop, made for multi-user. You can test it by running the launcher :
$ cd /usr/share/pymt-examples/ $ sudo python launcher.py
Check the /usr/local/share/pymt-examples/, some applications are not available inside the browser. You've also lot of examples that cover part of the framework.