Support for touch screen and convertibles on Ubuntu desktop

Registered by Till Kamppeter on 2013-04-18

The touch screen is not only the standard input device for mobile devices as phones and native (usually ARM-based) tablets but, thanks to Windows 8.x, it also gets standard in Intel-based laptops and desktop PCs designed for desktop operating systems, especially the rather new concept of convertibles (screen can be turned around or keyboard can be detached so that the device can be used like a laptop or like a tablet).

We should especially look into applying special touch gestures to the standard desktop, especially right-click by long press, pinch-to-zoom in photo viewer and browser, scrolling by dragging the content with a finger, ...

Also we need stable touch screen operation, making sure that all current touch screens work with X and MIR.

For convertibles one should think about the user interface of tablet mode: Should we have the standard Ubuntu desktop there like in laptop mode? Or should the UI then switch to Ubuntu Touch (we would need to build it on Intel then and make a meta package to add it to a desktop system).

Also if we stay with the standard desktop in the tablet mode we still need a mode switcher, that in tablet mode we get the touch-screen-specific features which we have developed for the Nexus 7 desktop: Onboard keyboard when input field is selected, screen rotation, ...

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

tkamppeter, 2013-08-23:

More useful hints:

http://www.linlap.com/lenovo_thinkpad_twist

tkamppeter, 2013-08-23:

Tablet mode is working rather well now after applying the hack of bug 1210823. The system is rather stable in both standard X and XMir mode (here and there a unity-panel-service crash), especially the touchscreen keeps working and does not get stuck after a while. Also Onboard works great including all mouse button emulations. Operation is more or less like on the Nexus 7 with the Raring desktop, but much more stable and reliable and much easier as the screen of my Thinkpad Twist is 12 inches and not only 7 inches as on the Nexus 7. What is missing is auto-rotation of the screen (or at least rotation via the rotation button) and more touch gestures (pinch to zoom, swipe to scroll/turn page, ...) in the apps.

tkamppeter, 2013-08-11:

GNOME development for touch screen support:

https://wiki.gnome.org/GnomeOS/Design/Whiteboards/Touchscreen

Multitouch gestures of Unity on:

https://wiki.ubuntu.com/Multitouch

tkamppeter, 2013-08-10:

See also https://launchpad.net/magick-rotation

tkamppeter, 2013-08-10:

Linked several touchscreen-related bug reports.

tkamppeter, 2013-05-16:

When in tablet mode with Windows 8, the Windows button on the border of the screen switches between the tile view and the normal Windows desktop AFAIK. We could perhaps switch between Ubuntu Touch and the normal desktop with this button.

tkamppeter, 2013-05-14:

UDS session on Wed, May 15, 15:00 UTC

tkamppeter, 2013-04-18:
I got aware of this topic by a Lenovo Thinkpad Twist. Like all Thinkpads it works fine with Ubuntu, but with the touch screen it has the problems already known on other devices, see linked bug reports.

About a way to handle mode switch and general customizations for the Twist see http://www.thinkwiki.org/wiki/Installing_Ubuntu_12.10_on_Thinkpad_Twist. I have added

----------
if [ "$MODE" = "1" ]; then
    sudo -iu $user onboard &
else
    sudo -iu $user killall onboard
fi
----------

to the /etc/acpi/twist-tabletmode.sh mentioned there, so that Onboard gets activated in tablet mode. I do not know how to activate the rotation of the Nexus 7.

Upstream bug report about the touch screen problems with X: https://bugs.freedesktop.org/show_bug.cgi?id=56578.

mlankhorst, 2013-05-08:
Why is this a session? can be handled as a work item in
https://blueprints.launchpad.net/ubuntu/+spec/client-s-xorg-general

tkamppeter, 2013-05-08:
This Blueprint is not only about the linked bugs but also about proper support for convertibles, touch gestures, ...

(?)

Work Items

Work items:
Decide on whether the normal desktop or Ubuntu Touch should be used in tablet mode: TODO
Handling of switch between laptop and tablet mode (script triggered on screen flip): TODO
Implement touch gestures for standard desktop: TODO
Fixing touch-screen-related X bugs for the normal desktop (or retire X): DONE