If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Linux Devs Begin Looking At Windows 8 Multi-Touch

Phoronix: Linux Devs Begin Looking At Windows 8 Multi-Touch

Linux developers have begun exploring the changes Microsoft has made to their HID (Human Interface Device) protocol for Windows 8 that will affect how new Windows-focused multi-touch devices function...

A few weeks ago, Denis blogged about some thoughts he had on how gesture recognition could work in Qt. One of the things he mentioned, and that was also brought up in the comments, was support for multi-point touch gestures. As a MacBook Pro owner, I already use these gestures every single day. Needless to say, he got my attention. I would certainly like to see multi-point touch events and gestures in Qt so that I can start using them myself. The only question is… how do we do it? Before answering that question, I think we need to look at 2 other important questions. The answers to these will affect how we design the API for adding touch support to Qt.

Multitouch is just as useful on a desktop as it is on a phone or tablet, so I’m delighted that the first cut of Canonical’s UTouch framework has landed in Maverick and will be there for its release on 10.10.10. You’ll need 4-finger touch or better to get the most out of it, and we’re currently targeting the Dell XT2 as a development environment so the lucky folks with that machine will get the best results today.

We here in Qt development are pretty excited about the Qt 4.7.0 release. In particular, some of us have been focusing our enthusiasm on the Qt Quick framework. Gestures are a natural fit for the easy UI development the QML language enables. Currently however, there isn’t any gesture functionality exposed in the core declarative library. A custom class can both grab gestures, and expose a QML interface, but this raises the bar for use significantly.

It's been 11 days since the Qt announcement of new gesture support, and I wanted to blog about it right away... but alas, now will have to do. The folks at Qt have been working on multi-touch support for a while now. They blogged about gestures, multi-touch, Mac support, Windows support, and then at UDS in Brussels (May 2010), they shared their 4.8 plans for multi-touch with the Ubuntu community. Until recently, there has been no MT stack for Linux.

I’ve wrote a multi-touch device driver, which created /dev/input/event4 multi-touch event. and it’s been tested by mtdev, but when I use QT touch example “fingerpaint” to test multi-touch, it seems QT cannot recognize multi-touch events produced by /dev/input/event4.

qt Arrow_right cspiels-qt-multitouch replaces the nokia specific multi-touch solution by a kernel MT input event processing loop. QApplication reads the MT input events from the specific input devices (e.g. /dev/input/eventX) and generates QTouchEvent::TouchPoint objects which are sent as QTouchEvent through the already working method QApplicationPrivate::translateRawTouchEvent. For this solution you do not need any X.org patches, because it connects Qt directly to the kernel. The kernel already supports MT input events.

I understand what was meant though I suppose, but it sounded nasty nevertheless. Windows 8 compatible hardware would have sounded slightly better. I am however a little surprised that multi-touch isn't something that's defined in the HID spec or the like.

This patch delivers NO new inventions, NO new functions, NO new MS-evilness, no nothing of that kind.
The only thing the patch delivers is what the a device expects the kernel to do when it sends it a specific OP-code, and the documentation around this.

So in short:
It is a patch that adds 8 lines of changes that adds support for more devices to use existing code.

Maybe Android/iOS/the Xorg-stack already supports all this functions. It does not matter. The operating systems needs something that thells the computer that "when device X sends you OP-code Y it wants you to do Z".
What Microsoft did here was telling hardware-developers that "if you have your device telling windows it supports said version of this HID-protocol, it could use the following OP-codes to function with the generic Microsoft driver so you do not need to make your own drivers for all eternity. And what this announcement told you was that now if a device tells Linux it supports said HID-protocol even Linux understands these new OP-codes without device-specific wrappers/drivers.

Windows 8 Hardware Standards

The article realllllly could use some wordsmithing to specify that this is about hardware protocols and standard interoperation. As it is worded, it (especially the title) will have all the clueless thinking that Linux is copying Windows 8 features.

While it may be good to study how Win8 handles multitouch but should we ever copy M$? If done right multitouch should work quite as well as or even better than Win8 or MacOSX/iOS. The X server or Wayland/Weston should be optimized to work with touch enabled devices that are found on tablets and smartphones (as well as a few all-in-one desktops. Then Linux will be a real strong contender in the tablet space

While it may be good to study how Win8 handles multitouch but should we ever copy M$? If done right multitouch should work quite as well as or even better than Win8 or MacOSX/iOS. The X server or Wayland/Weston should be optimized to work with touch enabled devices that are found on tablets and smartphones (as well as a few all-in-one desktops. Then Linux will be a real strong contender in the tablet space