Hello all This week, I met with James Ketrenos from Intel and some Canonical developers at their summit and we discussed how we should approach the subject of standardising touch and gestures events in the Linux / X11 world.
Premises:
1) MeeGo 1.2 does not want to upgrade to X.org 1.10
2) X.org maintainers have said that they do not want to rush the feature and
they would most likely not accept it even if it were ready and tested by
December 1st this year.
With that in mind, we propose that MeeGo 1.2 implements a temporary solution
based on the existing XInput 2.0 work that Nokia has done for Harmattan.
Details:
MeeGo 1.2:
========
Use the mtev X.org driver from Nokia
Apply the matching XInput 2.0 patch on Qt to deliver QTouchEvents and thus
enable the gesture recogniser.
Do not use the solutions being developed by Ubuntu at this time (geis, grail,
utouch).
System-level gestures will be implemented in a platform-specific way (using
XInput 2 facilities not designed for this purpose), by making the Window
Manager use passive X grabs on the XInput 2 events and transforming them into
active grabs when the gesture is detected.
Qt will consider re-developing the XInput 2.0 complete-mouse-system-rewrite
patch and make it smaller, given the direction that XInput 2.1 is going. This
should reduce the maintenance load. James has a patch for this already and Qt
developers will analyse.
If the grab mechanism doesn't work in XInput 2.0, the mtev driver should be
modified to deliver the events first to the WM via some out-of-band
communication mechanism.
No API compatibility is guaranteed at this point beyond Qt's existing API
(QTouchEvent, the gesture system). The configuration of system gestures and the
details of XEvent protocol for multiple points in a touch are not guaranteed
API or ABI stability. More strongly: it will break, so applications can *only*
use Qt's API, if they want to transition to MeeGo 1.3 without rewrite.
MeeGo 1.3:
========
For MeeGo 1.3, we must upgrade to X.org 1.11, to be released around August /
2011.
This release should include the touch and gestures standardised subsystem in
X, developed in close cooperation with Canonical and other partners.
XInput 2.1 will be the method of delivery of touch events in X11. The
recognition of common gestures (global configuration of gestures that all
applications react to) will be provided by a separate library that is fed
events and provides reactions similar to Qt's gesture system.
System-wide gestures will probably use passive grabs using XInput 2.1.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Senior Product Manager - Nokia, Qt Development Frameworks
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
signature.asc
Description: This is a digitally signed message part.
_______________________________________________ MeeGo-dev mailing list [email protected] http://lists.meego.com/listinfo/meego-dev
