Multitouch

Differences between revisions 68 and 70 (spanning 2 versions)
Revision 68 as of 2010-11-10 04:15:06
Size: 11168
Editor: cpe-76-174-250-237
Comment:
Revision 70 as of 2010-12-01 18:21:20
Size: 3796
Editor: c-71-56-223-2
Comment:
Deletions are marked like this. Additions are marked like this.
Line 44: Line 44:
 * [[https://answers.edge.launchpad.net/utouch/+addquestion|Ask your questions about multitouch in Ubuntu]]
 * [[https://answers.edge.launchpad.net/utouch/+faqs|Check the growing Ubuntu Multitouch FAQ]]
 * [[https://answers.launchpad.net/utouch/+addquestion|Ask your questions about multitouch in Ubuntu]]
 * [[https://answers.launchpad.net/utouch/+faqs|Check the growing Ubuntu Multitouch FAQ]]
Line 48: Line 48:
= Testing = = Multitouch In-Depth =
Line 50: Line 50:
The utouch metapackage will pull in everything you need. It will be installed by default on UNE ("apt-get install ubuntu-netbook" for the full experience on your desktop, or "apt-get install utouch" for the touch-related pieces only). It should be available shortly. If you only want to experiment with multitouch, see "Multitouch in Maverick" depending on your device, below. The main Multitouch page was getting quite long, so we've split content out into dedicated pages for easier reading and reference.
Line 52: Line 52:
== Basic resources ==
 * [[Multitouch/Testing/CheckingMTDevice]] - How to find your device ID and test it for multi-touch capability
 * [[Multitouch/Testing/UsingGesturetest]] - Using the {{{gesturetest}}} tool to see if you're getting expected uTouch events
 * [[Multitouch/Testing/EvtestCapture]] - A useful tool for assisting X/driver/grail hackers in the debugging of touch and/or hardware issues
 * [[Multitouch/Testing/UsingMtview]] - A visual feedback tool that shows touch points, sizes, disconnects, offsets, etc.
 * [[Multitouch/Testing/UsingUCube]] - Another visual feedback tool, but instead of touch points checking, does gesture checking
 * [[Multitouch/Calibration/Ntrig]] - A tool for calibrating N-Trig hardware.
== Testing ==
Line 60: Line 54:
== Test tracker ==
We have a test tracker to gather testing results from the community: [[http://multitouch.qa.ubuntu.com]]
Visit here:
Line 63: Line 56:
If you want to participate in our testing efforts, please, [[/Testing/Tracker|check the testing instructions]]. Take into account that we also need people with non-MT input hardware to test for possible regressions.
 
== Testcases ==
 * [[http://testcases.qa.ubuntu.com/Hardware/Touchscreen/NonMTRegressionTesting|NonMTRegressionTesting]]
 * [[http://testcases.qa.ubuntu.com/Hardware/Touchscreen/Single|Single-touch testing]]
 * [[http://testcases.qa.ubuntu.com/Hardware/Touchscreen/Multitouch|Multitouch testcases]]
[[Multitouch/Testing]]
Line 70: Line 58:
== Additional resources == == Development ==
Line 72: Line 60:
 * [[Multitouch/PyMT]] - Testing multi-touch with Python MT
 * [[Multitouch/AppleMagicTrackpad|Pairing and multi-touch demo]] using PyMT
Visit here:
Line 75: Line 62:
= Development = [[Multitouch/Development]]
Line 77: Line 64:
The uTouch framework and related projects are open source. If you would like to contribute, you need to do the following:
 * [[http://launchpad.net|get a Launchpad id]]
 * [[http://ubuntuforums.org/showthread.php?t=105280|sign the Ubuntu Code of Conduct]]
 * sign Canonical's [[http://www.canonical.com/contributors|contributor agreement]]
 * read and adhere to our [[/DevelopersGuideToTheGalaxy|Developer's Guide to the Galaxy]]
 * abide by the coding styles and best practices of the related upstream projects
 * [[https://bugs.launchpad.net/canonical-multitouch|pick some tickets]] or [[https://bugs.launchpad.net/canonical-multitouch/+filebug|file your own]]
 * start hacking!
== Hardware Support ==
Line 86: Line 66:
== Reference Materials == Visit here:
Line 88: Line 68:
 * [[Multitouch/Definitions]] - A glossary of terms we use when discussing uTouch technology, both at the user-experience and engineering levels [[Multitouch/HardwareSupport]]
Line 90: Line 70:
== Blueprints and Specs == == Current Work ==
Line 92: Line 72:
 * [[https://blueprints.launchpad.net/ubuntu?searchtext=hci-|HCI/MT-related plans for Ubuntu]]
 * [[https://blueprints.launchpad.net/canonical-multitouch|Canonical Multi-touch project planning]]
 * [[/APIs/GEIS/1.0Spec| Spec for the GEIS 1.0 API ]]
 * [[/APIs/GEIS/2.0Spec| Spec for the GEIS 2.0 API ]]
What's happening this cycle:
Line 97: Line 74:
== APIs == [[Multitouch/CurrentWork]]
Line 99: Line 76:
 * [[http://people.canonical.com/~cndougla/geis-1.0/index.html| The GEIS 1.0 API ]] == Project History ==
Line 101: Line 78:
== Areas of Interest == For work done in previous versions of Ubuntu, visit here:
Line 103: Line 80:
 * [[Multitouch/Dev/HCI]] - Human-Computer Interaction: it's not just touch! What does the future look like? What would we like to see?
 * [[Multitouch/Dev/Gestures]] - Continued work on defining gestures for uTouch
[[Multitouch/History]]
Line 106: Line 82:
= Hardware Support = == Additional Resources ==
Line 108: Line 84:
 * [[http://lii-enac.fr/en/projects/shareit/multitouch-devices.html|ENAC's general list of Linux multitouch devices]] For information on research, Ubuntu brainstorming, and other related material, visit here:
Line 110: Line 86:
== Touchscreen displays ==
  * 3M Touch Systems - 3M™ Display M2256PW
    * [[http://solutions.3m.com/wps/portal/3M/en_US/TouchSystems/TouchScreen/Solutions/TouchScreenDisplays/M2256PW/|product page]]

== Laptops ==
  * Dell Studio 17 with touch (N-Trig)
  * Lenovo T410s with touch (N-Trig)
    * [[Multitouch/LenovoIssues]] - exploration of the difficulties with the Lenovo

== Tablets ==
  * Dell Latitude XT2 tablet laptop - featuring N-Trig support (see below)
    * [[Latitude XT2|product page]]
    * Check the [[https://answers.edge.launchpad.net/utouch/+faqs|Ubuntu Multitouch FAQ]] for configuration details
  * [[Multitouch/ExoPC]] - Capacitive dual-touch, pressure sensitive, community testing coming up.

== Other input devices ==
  * Apple Magic !TrackPad
    * [[Multitouch/AppleMagicTrackpad|Pairing and multi-touch demo]]
  * [[Multitouch/AppleMagicMouse|Apple Magic Mouse]]
    * tested, works with PyMT demos (needs sudo, configuration)

== N-trig devices ==

N-trig devices get their name from the providers of DuoSenseTM technology, combining pen, capacitive touch and multi-touch in a single device. N-trig’s DuoSense dual-mode digitizer uses both pen and zero-pressure capacitive touch in a single device.

The Dell Latitude XT2, HP tx2 tablets and the Lenovo T410s feature such multitouch support. Note, however, that a Linux firmware updater has not been released by N-trig for these devices. Before installing Ubuntu on your machine, be sure that you have the latest firmware. This may require using the Windows .exe firmware updater from the OEM. Note that the HP updater often requires 2 to 4 successive reboots of Windows in order to properly update.

 * [[Multitouch/NtrigFirmwareStatus|N-trig firmware status in Linux]]

= Multitouch in Natty Narwhal (Ubuntu 11.04) =

 * [[/UDS/N|UDS-N (Orlando) Planning]]

= Multitouch in Other Ubuntu Versions =

== Multitouch in Maverick Meerkat (Ubuntu 10.10) ==

 {{attachment:MTArchitecture-Maverickv5-thumb.png}}

 * [[/uTouchArchitecture|Visual architecture of uTouch]]
 * Software that supports Multitouch in Ubuntu
  * [[Multitouch/PyMT|PyMT in Ubuntu]] - information about the PyMT project and how to set Python MT in Ubuntu to see simple multi-touch applications and demos. PyMT doesn't use the uTouch stack, though there has been talk of integrating support for the GEIS API.
 * Specs & Blueprints
  * [[UbuntuSpec:dx-m-multi-touch-userland-support|Multi-touch Support in Userland]]
  * [[UbuntuSpec:dx-m-multi-touch-and-kernel|Multi-touch and Kernel]]

== Lucid Lynx (Ubuntu 10.04 LTS) ==

 * [[LucidLynx/MultiTouchSupport|Project Wiki]] for Lucid Lynx efforts
 * Specs & Blueprints
  * [[UbuntuSpec:desktop-lucid-xorg-multitouch|Blueprint on Launchpad]]
  * [[X/Blueprints/Multitouch|Spec Wiki]]

== Jaunty Jackalope (Ubuntu 9.04) ==

 * JauntyTouchscreenHandling

= Brainstorming =

 * crazy/cool ideas: https://blueprints.launchpad.net/ubuntu/+spec/multimedia-dx-n-special-featues
 * [[http://brainstorm.ubuntu.com/idea/3077/| Idea #3077: Multitouch could be THE impact]]
 * [[http://brainstorm.ubuntu.com/idea/388/| Idea #388: Multitouch support and zoomable interface]]
 * [[http://brainstorm.ubuntu.com/idea/18320/|Idea #18320: multi touch screen features?]]
 * [[http://brainstorm.ubuntu.com/idea/26418/|Idea #26418: Finger Gesture Awareness: Touchpad Gestures Need Visible Feedback]]

 * Tangentially Related:
  * [[http://brainstorm.ubuntu.com/idea/23750/| Idea #23750: Multi-touch screen vs keyboard]]
  * [[http://brainstorm.ubuntu.com/idea/2566/| Idea #2566: Multi-touch trackpad]]
  * [[http://brainstorm.ubuntu.com/idea/22050/| Idea #22050: Multitouch and gestures on touchpads]]
  * [[http://brainstorm.ubuntu.com/idea/22956/| Idea #22956: Multitouch with mouse]]
  * [[http://brainstorm.ubuntu.com/idea/6917/| Idea #6917: Turn any screen into Multi-Touch via Wiimote support]]

= Research =

== Probabilistic Input ==

 * [[https://wiki.ubuntu.com/Multitouch?action=AttachFile&do=get&target=UISTProbInputTalk.pdf|UIST 2010 Presentation]]
 * [[https://wiki.ubuntu.com/Multitouch?action=AttachFile&do=get&target=SchwarzUIST2010.pdf|2010 Paper]]

= Related links =

 * [[X/Blueprints/Touchscreen|Touchscreen]]
 * [[https://help.ubuntu.com/community/UMEGuide/DesigningForFingerUIs|Designing Touch Interfaces for Fingers]]
[[Multitouch/AdditionalResources]]

About

This resource features information about multi-touch support for Ubuntu, including:

  • drivers for a range of hardware
  • a gesture processing system which does the heavy lifting of gesture analysis
  • APIs for developers who want to build gestures into their apps
  • support for gesture-based window management in Unity.

The uTouch gesture framework includes several different components:

  • libutouch-geis - ("Gesture Engine Interface and Support") which provides a consistent platform independent interface for any system-wide input gesture recognition mechanism for toolkits and applications

  • libutouch-grail - ("Gesture Recognition And Instantiation Library") which handles the raw data processing and provides higher-level gesture abstractions for developers to consume * gesturetest - which helps show the streams of events and data, useful for debugging and planning

We're also exploring gesture support in legacy applications with the assistance of this project:

  • ginn - ("Gesture Injector: No-GEIS, No-Toolkits") a deamon with jinn-like wish-granting capabilities: it gives applications the ability to support a subset of multi-touch gestures without having to integrate uTouch-GEIS or multi-touch GTK/Qt libs

See the "Community help" and Ubuntu 10.10 specific information below for help on getting started with multitouch in Ubuntu.

You can also subscribe to the Ubuntu Multitouch dev mailing list

News and Social Media

If you want to contribute / find the latest bookmarked and popular Ubuntu multi-touch information , please use the following tags: utouch multi-touch ubuntu demo

Here are some feeds with such tags:

Additional Background

  • Multitouch/Definitions - A glossary of terms we use when discussing uTouch technology, both at the user-experience and engineering levels

  • Multitouch - Wikipedia entry

Community Help

Multitouch In-Depth

The main Multitouch page was getting quite long, so we've split content out into dedicated pages for easier reading and reference.

Testing

Visit here:

Multitouch/Testing

Development

Visit here:

Multitouch/Development

Hardware Support

Visit here:

Multitouch/HardwareSupport

Current Work

What's happening this cycle:

Multitouch/CurrentWork

Project History

For work done in previous versions of Ubuntu, visit here:

Multitouch/History

Additional Resources

For information on research, Ubuntu brainstorming, and other related material, visit here:

Multitouch/AdditionalResources

Multitouch (last edited 2015-10-21 17:33:15 by pool-71-176-33-233)