My aim is to use standard libraries to recognize gestures and use those events with Java 8. I know there is a gesture recognition stack for Ubuntu (grail, geis), but I didn’t understand yet, how to bring it all together.

I'm using an eGalaxTouch touch foil (PCAP7200 series) with an EETI eGTouch driver (eGTouchD version: 2.5). My Linux Mint 17 recognizes this device as mouse.

I read the device's events from /dev/input/eventX and found out, that it puts out multi-touch events (ABS_MT_SLOT, ABS_MT_TRACKING_ID, ABS_MT_POSITION_X, ABS_MT_POSITION_Y).

Is there a possibility to detect gestures with standard Linux functionalities and propagate those events to an application (in my case a JavaFX2 application)? Or do I have to recognize gestures inside my application—which means I can't make use of any Linux libraries?

Is there a special device type for multi-touch devices—other than standard mouse?

1 Answer 1


Standard Linux libraries do not have the technology integrated for Gestural programming; hwoever, you can read from xinput devices, and I will show you how, but first I will link you to a few articles about the history of xInput programming, gestural programming for X, and the finally the commands and external library which I believe will be useful to you.

LWN.Net Xinput Multi-Touch History

This is the history of the xorg-multitouch extension. It touches on gestural programming, and references the uTouch Gestural Programming project.

These two informative articles are good source material, and should give you the understanding of where the technology stands today.

XInput Manual

$> xinput --list

The above-captioned command will list your xInput devices.

The Gestural functionality you require can be made within your application, but there are options, like the uTouch Gestural Programming project, that can also fill the gap.

So far as reading input from the device, I can recommend one of two packages.

XEV Read Events from xInput

$> xev --display :0 -id $WINDOW_ID >> to.file
  • [--display] is your xserver display # (mine is :0)
  • [id] is your window-id # (this can be gotten from a command like $> wmctrl -lG)

Key-Mon Read Events from xInput

The above-captioned is a Python script that does the same thing, but prints input events. I believe XEV will be the solution for you, because XEV records geometry of input events.

I hope this helps!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .