The Multitouch Aquaria Project

Multitouch Diagnostic Tools

Thursday 2011-02-17

This post lists a few packages and tools that are useful for checking for multitouch hardware and software support under Ubuntu.

evtest

While not related to multitouch specifically, the evtest utility (package evtest) can be handy. It monitors a kernel input device event interface, one of the pseudo-files found in /dev/input. For example, sudo evtest /dev/event/input7 shows events coming from my netbook’s touchscreen (the eventn device names are probably not stable — you may have to try other devices on your own machine).

gesturetest

Found in the package utouch-gesturetest, this program displays gestures detected by the X gesture stack. It produces output like the following (heavily clipped for clarity).

$ gesturetest 0 0 0xffffffff
[...]
Gesture ID:     56
    Gesture Type:   3: Drag - Two Fingers
    Device ID:  12
    Timestamp:  10441979
    Root Window:    0xaa: (root window)
    Event Window:   0x4400004: "gesturetest  ~"
    Child Window:   0x4400004: "gesturetest  ~"
    Focus X:    644.000000
    Focus Y:    255.000000
    Status:     0
    Num Props:  16
        Property 0: 0.000000
        Property 1: 0.290751
        Property 2: 0.000000
        Property 3: 0.003076
        Property 4: 644.657410
        Property 5: 255.602112
        Property 6: 576.140686
        Property 7: 217.728943
        Property 8: 713.174133
        Property 9: 294.065948
        Property 10:    2.000000
        Property 11:    576.140686
        Property 12:    294.065948
        Property 13:    3.000000
        Property 14:    713.174133
        Property 15:    217.728943
[...]
Gesture ID:     171
    Gesture Type:   4: Pinch - Two Fingers
    Device ID:  12
    Timestamp:  10475468
    Root Window:    0xaa: (root window)
    Event Window:   0x4400004: "gesturetest  ~"
    Child Window:   0x4400004: "gesturetest  ~"
    Focus X:    664.000000
    Focus Y:    308.000000
    Status:     1
    Num Props:  13
        Property 0: 0.827217
        Property 1: 0.055496
        Property 2: 200.357773
        Property 3: 563.137512
        Property 4: 175.677658
        Property 5: 764.686707
        Property 6: 440.586090
        Property 7: 1.000000
        Property 8: 563.137512
        Property 9: 440.586090
        Property 10:    3.000000
        Property 11:    764.686707
        Property 12:    175.677658
[...]

It also outputs messages for single-finger drag gestures. I can't seem to get it to output anything for more than two fingers.

geistest

Available in the package utouch-geis-tools, this package performs diagnostics of the GEIS gesture recognition library. This tool produces output similar to that of gesturetest, but presumably does so via the GEIS library. See the man page for more information.