Multitouch

Differences between revisions 68 and 71 (spanning 3 versions)
Revision 68 as of 2010-11-10 04:15:06
Size: 11168
Editor: cpe-76-174-250-237
Comment:
Revision 71 as of 2010-12-01 18:35:06
Size: 3770
Editor: c-71-56-223-2
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
= About = == About ==
Line 5: Line 5:
This resource features information about multi-touch support for Ubuntu, including: === The Wiki ===

This resource features information about multitouch support for Ubuntu, including:
Line 9: Line 11:
 * support for gesture-based window management in Unity.  * support for gesture-based window management in Unity
Line 11: Line 13:
The uTouch gesture framework includes several different components: === uTouch ===

The Ubuntu uTouch gesture framework includes several different components:
Line 19: Line 23:
See the "Community help" and Ubuntu 10.10 specific information below for help on getting started with multitouch in Ubuntu. === Joining the Community ===

 * Join [[http://webchat.freenode.net/?nick=WebVisitor-.&channels=ubuntu-touch|our live webchat channel on IRC at #ubuntu-touch]]
 * [[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]]
 * [[http://ubuntuforums.org/tags.php?tag=multitouch|Ubuntuforums.org posts tagged with "multitouch"]]
Line 23: Line 32:
== News and Social Media == For information on getting started with uTouch, see the links below to the "Hardware Support" and "Testing" multitouch wiki pages.
Line 25: Line 34:
 * [[https://lists.launchpad.net/multi-touch-dev/msg00218.html|Multitouch in Maverick]] - Mailing list announcement == 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.

 * [[Multitouch/HardwareSupport|Hardware Support]]
 * [[Multitouch/Testing|Testing]]
 * [[Multitouch/Development|Development]]
 * [[Multitouch/CurrentWork|Current Work]] - What's happening this cycle
 * [[Multitouch/History|History]] - Work done in previous versions of Ubuntu
 * [[Multitouch/AdditionalResources|Additional Resources]] - Information on research, Ubuntu brainstorming, and other related material

== Additional Background ==

=== News and Social Media ===

 * [[https://lists.launchpad.net/multi-touch-dev/msg00218.html|Multitouch in Maverick]] - Original uTouch announcement on the mailing list
Line 36: Line 60:
== Additional Background == === Definitions ===
Line 40: Line 64:

= Community Help =

 * Join [[http://webchat.freenode.net/?nick=WebVisitor-.&channels=ubuntu-touch|our live webchat channel on IRC at #ubuntu-touch]]
 * [[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]]
 * [[http://ubuntuforums.org/tags.php?tag=multitouch|Ubuntuforums.org posts tagged with "multitouch"]]

= Testing =

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.

== 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.

== Test tracker ==
We have a test tracker to gather testing results from the community: [[http://multitouch.qa.ubuntu.com]]

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]]

== Additional resources ==

 * [[Multitouch/PyMT]] - Testing multi-touch with Python MT
 * [[Multitouch/AppleMagicTrackpad|Pairing and multi-touch demo]] using PyMT

= Development =

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!

== Reference Materials ==

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

== Blueprints and Specs ==

 * [[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 ]]

== APIs ==

 * [[http://people.canonical.com/~cndougla/geis-1.0/index.html| The GEIS 1.0 API ]]

== Areas of Interest ==

 * [[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

= Hardware Support =

 * [[http://lii-enac.fr/en/projects/shareit/multitouch-devices.html|ENAC's general list of Linux multitouch devices]]

== 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]]

About

The Wiki

This resource features information about multitouch 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

uTouch

The Ubuntu 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

Joining the Community

You can also subscribe to the Ubuntu Multitouch dev mailing list

For information on getting started with uTouch, see the links below to the "Hardware Support" and "Testing" multitouch wiki pages.

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.

Additional Background

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:

Definitions

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

  • Multitouch - Wikipedia entry

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