JWinPointer.jar: multitouch and stylus pen input events on Microsoft Windows 10 for Java

JWinPointer.jar is a Java library for retrieving (and distinguishing between) mouse, multitouch, and stylus pen input events with pressure, hover, and button information on Microsoft Windows 10, 64 bit. As far as I know, it is the only single library for Java available that gives access to both multitouch and stylus events on Windows. For ease of compilation, it has been packaged as a single .jar file that contains the necessary .DLL files.

Download JWinPointer.jar
and an example test application (a single .java file).
Released 2015

The screen shot above was created on a Microsoft Surface Pro 3 running Windows 10. Each blue circle is either a mouse cursor (device==0), stylus (device==1), or finger (device==2) with a unique id. The grey text shows a scrolling log of events, useful for debugging and understanding the sequence of events received. The example code demonstrates how to integrate Swing widgets (like the buttons and menu bar visible above), which still function normally without interference from JWinPointer. Below the window, we see the console displaying messages on standard output (stdout).

JWinPointer.jar was created in 2015 by Emery Monzerol, a student at ETS, and uses jni4net to connect Java to the native API in Windows. Michael McGuffin created the example test .java program shown above. Many thanks go out to Christophe Viau who built the first FTIR multitouch tabletop surface at ETS in 2010 using TUIO, which was the start of several multitouch development efforts at ETS.

How do I compile the example code?

Instructions for Eclipse:

Are there any alternatives?

Alternative libraries and approaches you might consider for obtaining multitouch input events on Microsoft Windows:

Cool things to do with multitouch and stylus input

(keywords for search engines: touch, multi-touch, pen pressure, stylus pressure)