Features/Multitouch support

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Comments and Discussion)
(Current status)
 
(7 intermediate revisions by 3 users not shown)
Line 11: Line 11:
 
== Current status ==
 
== Current status ==
 
* Targeted release: [[Releases/17 | Fedora 17 ]]  
 
* Targeted release: [[Releases/17 | Fedora 17 ]]  
* Last updated: 2011-12-15
+
* Last updated: 2012-03-02
* Percentage of completion: 50%
+
* Percentage of completion: 100%
  
XI 2.2 patches (including the multitouch support) for the protocol headers, X server, input drivers, and libraries have been posted to
+
XI 2.2 patches (including the multitouch support) for the protocol headers, X server, input drivers, and libraries have been included in the latest
[[http://lists.x.org/archives/xorg-devel/2011-December/027775.html xorg-devel-list]].
+
rawhide builds.
 +
 
 +
Basic support for touch devices and kinetic scrolling will appear in GTK+ 3.4, and will be part of F17. See [http://blogs.gnome.org/mclasen/2012/03/02/gtk-hackfest-aftermath/ this post] for some details.
  
 
== Detailed Description ==
 
== Detailed Description ==
Line 82: Line 84:
  
  
[[Category:FeatureReadyForWrangler]]
+
[[Category:FeatureAcceptedF17]]
 
<!-- When your feature page is completed and ready for review -->
 
<!-- When your feature page is completed and ready for review -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
 
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 13:46, 2 March 2012

Contents

[edit] Multitouch support

[edit] Summary

Multitouch support in the plumbing layers of the desktop stack. This includes the kernel, the evdev X input driver (and other drivers where required), the X server and finally the X protocol and Xlib.

[edit] Owner

  • Email: <peter.hutterer@redhat.com>

[edit] Current status

  • Targeted release: Fedora 17
  • Last updated: 2012-03-02
  • Percentage of completion: 100%

XI 2.2 patches (including the multitouch support) for the protocol headers, X server, input drivers, and libraries have been included in the latest rawhide builds.

Basic support for touch devices and kinetic scrolling will appear in GTK+ 3.4, and will be part of F17. See this post for some details.

[edit] Detailed Description

This feature describes multitouch support. To get full use of multitouch, toolkits and applications need to be modified as well. This feature only covers the plumbing layer to enable multitouch.

Multitouch support in the plumbing layer requires changes to a few components:

  • The kernel needs to support multitouch and have hardware support for each multitouch device that users may want to use. The multitouch protocol in the kernel is finished and hardware support is ongoing, so we're assuming this part as finished for this feature.
  • The evdev X input driver needs to read the multi-touch protocol from the kernel and pass it to the X sever as appropriate, deciding which touchpoints require pointer emulation for legacy application compatibility.
  • The X server must take multitouch events and process them accordingly. This includes events from direct touch devices (e.g. touchscreens) and indirect touch devices (e.g. touchpads). The events must be sent to the right clients.
  • The X protocol (specifically the X Input Extension) needs to be extended to support the transport of touch events.
  • Xlib (specifically libXi) needs to be extended to provide a client-side API. This API may then be used by toolkits and/or applications.

[edit] Benefit to Fedora

Multitouch is a prominent new interaction paradigm that gained huge popularity in recent years. It can provide for more intuitive user interfaces and is the only mode of interaction on some hardware form factors. Multitouch support is required for multitouch to be usable.

[edit] Scope

Defined and release new upstream X Input Extension protocol version, integrate support into evdev and the X server.

[edit] How To Test

The xinput tool will be updated to provide simple event testing. To test, run xinput test-xi2 and then touch the screen. You should see touch events float past in the output.

For more extensive testing, custom test applications will need to be written.

No user system configuration is needed other than a multitouch-capable hardware. In the default installation, this hardware should be accessible through the X server instance.

If XI2.2 support lands in GTK+ 3.4, then testing the GNOME desktop on touch hardware will also exercise the multitouch support in X.


[edit] User Experience

This is a plumbing layer feature only and will not directly be visible until applications or toolkits make use of the feature.

[edit] Dependencies

This feature requires upstream releases for xorg-x11-server, xorg-x11-drv-evdev and xorg-x11-proto-devel. Since we ship the packages anyway, we'll just take whichever one is out at the time.

[edit] Contingency Plan

None necessary.

If the feature isn't ready upstream in time, it will not be part of our xorg rpms.

[edit] Documentation

Watch http://who-t.blogspot.com

[edit] Release Notes

The X server and libraries in Fedora 17 support version 2.2 of the XInput extension, including multi-touch support.

[edit] Comments and Discussion