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

Attachment: signature.asc
Description: This is a digitally signed message part.

_______________________________________________
MeeGo-dev mailing list
MeeGo-dev@meego.com
http://lists.meego.com/listinfo/meego-dev

Reply via email to