[Interest] TUIO (multi-touch) Input Plugin

Rutledge Shawn Shawn.Rutledge at digia.com
Thu Mar 7 08:33:59 CET 2013


On 6 Mar 2013, at 6:19 PM, Casimiro, Daniel C CIV NUWC NWPT wrote:

>> I think we don't support multi-pointer X, but if you have a big touch table and multiple users, it's a similar scenario.
> 
> 
> I don't think that multi-pointer X is the right solution. Did you mean the multi-touch support introduced in XInput 2.2?

Yes.  MPX is unrelated and unsupported (because of the single-focus assumption, as Rick points out).  But there is XInput 2.2 multi-touch support in the xcb plugin.

>> But maybe the tagged objects are too special, not ordinary touch points.
> 
> There isn't anything special about the "finger on glass" touch points, but I'm not sure about the Perceptive Pixel stylus. I think that the Qt API could handle it; maybe the "hover" feature would require something special. By "hover," I mean that the display detects the stylus before it makes contact with the glass (up to one half inch).

OK, that sounds like a Wacom tablet technology, or their version of it.  But I've seen stories before about the use of special objects like game pieces, rotary knobs etc. on a touchscreen surface, and I thought the objects must have a recognizable capacitive signature made with conductive rubber or something like that.  (For game pieces designed to work with the iPad, it must be.)  But if this device also has a stylus which is recognized while hovering, then the device must have a wacom-style RF grid in addition to the capacitive touch grid, like the Cintiq has.  So the "tagged objects" to which they refer are probably also using the same means of detection, which would explain how you could have an arbitrary number of them.  But there is support for Wacom tablets to have multiple stylus types anyway (for example pencil, eraser on the other end, airbrush, and mouse).  So in turn I would expect that evdev and xinput 2.2 might be able to handle all the types of events that this device can provide, but it would have to appear as 2 devices: touchscreen and tablet.  (If, as you said, somebody had written a non-proprietary evdev driver.  Or had at least written an X driver that reads from TUIO instead of evdev.)  Then for the tagged objects, QTabletEvent::rotation might end up being especially useful to the application so that you can e.g. detect rotation of a knob.  Then we need to add support for that in Qt Quick.  So far we are behind on having tablet support at all in Qt 5, let alone in Qt Quick.  But a tablet stylus still acts like a mouse anyway, fortunately; you just don't get all the extra information like pressure, tilt and rotation.  When you are hovering, that's mouse movement, and when you press down it's like a left click.  If there are extra buttons on the stylus, those are like extra mouse buttons.  But for really complete support you could try to generate tablet events with tilt, rotation etc.  You can test with qtbase/examples/widgets/widgets/tablet.

I hope I can get around to doing the same thing for the Samsung tablets with the S-pen.  It's also basically a wacom tablet in addition to the touchscreen.  (Well maybe n-trig, which is a wacom competitor, also found in some other tablet PCs and such.)  And there is a similar situation that Samsung provides drivers with extra functionality (shape recognition, even), but evdev is also available AFAICT; so we may have a choice whether to get the events from the Java interface or from evdev, and provide them to Qt applications.  And again, Qt Quick needs some work to make it useful.




More information about the Interest mailing list