Features/Multitouch support

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Add multitouch support as F17 feature)
 
(Current status)
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{admon/important | Set a Page Watch| Make sure you click ''watch'' on your new page so that you are notified of changes to it by others, including the Feature Wrangler}}
 
 
 
 
= Multitouch support =
 
= Multitouch support =
  
Line 14: Line 11:
 
== Current status ==
 
== Current status ==
 
* Targeted release: [[Releases/17 | Fedora 17 ]]  
 
* Targeted release: [[Releases/17 | Fedora 17 ]]  
* Last updated: 07:19, 27 September 2011 (UTC)
+
* Last updated: 2012-03-02
* Percentage of completion: 10%
+
* 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 [http://blogs.gnome.org/mclasen/2012/03/02/gtk-hackfest-aftermath/ this post] for some details.
  
 
== Detailed Description ==
 
== Detailed Description ==
Line 40: Line 42:
  
 
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.
 
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.
  
 
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  
 
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.  
Line 74: Line 78:
 
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
 
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
 
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
 
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
*
+
The X server and libraries in Fedora 17 support version 2.2 of the XInput extension, including multi-touch support.
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
Line 80: Line 84:
  
  
[[Category:FeaturePageIncomplete]]
+
[[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