Touch: Unity hijacks multitouch gestures

Bug #898853 reported by Owais Lone
40
This bug affects 9 people
Affects Status Importance Assigned to Milestone
Unity
Won't Fix
Low
Unassigned
unity (Ubuntu)
Won't Fix
Low
Unassigned

Bug Description

It seems that unity hijacks multitouch input, this renders 3rd party multitouch apps useless.

Steps to reproduce:
----------------------------

    1 Install touchegg by "sudo apt-get install touchegg"
    2 Start touchegg in terminal
    3 Try out some multi-touch gestures and notice only upto 2 finger touch are recognized
    4 Now either use metacity, gnome-shell or compiz (with unity plugin disabled) as your window manager
    5 Repeat 2, 3 and notice all gestures defined in ~/.config/touchegg/touchegg.conf work fine.

I think the best solution here is to remove multi-touch capabilities from unity and put them in a separate compiz plugin like drag handles is now. This would allow easy customization of gestures and the plugin can be turned off so 3rd party apps can take control.

Tags: multitouch
Omer Akram (om26er)
tags: added: multitouch
Revision history for this message
Bilal Akhtar (bilalakhtar) wrote :

Unity doesn't intercept any multitouch (MT) gestures, instead, uTouch is used for MT gesture recognition. TouchEgg seems to use UTouch well, and it works in my case.

Even Evince and Eye of GNOME have built-in uTouch pan-and-zoom gesture support in Oneiric out of the box, and it works for me.

The issue seems to be with your touchpad driver. Which touch pad do you have? Synaptics touchpad multitouch support is crappy at the moment in Oneiric; only up to 3 fingers are supported max, and there's no support for rotate gestures.

As you said, only up to 2 finger MT is recognized. That means that uTouch is falling back to its MT emulation mode because the driver doesn't support multitouch.

Either way, not an issue with Unity, but an issue with your hardware drivers or uTouch. Adding utouch-grail task, though it might not be the cause for this. But the guys there will know what the issue is, and if the need be, they'll mark this bug the appropriate package.

Also, please post your hardware description, until then this bug is incomplete

Changed in unity:
status: New → Invalid
affects: unity (Ubuntu) → utouch-grail (Ubuntu)
Changed in utouch-grail (Ubuntu):
status: New → Incomplete
Revision history for this message
Owais Lone (loneowais) wrote :

I'm using Apple magic trackpad. It works very well with unity, three finger drag, 4 finger launcher and dash reveal. Everything works but when unity is running, touchegg is only able to detect 2 fingers but when I turn off unity (not compiz, just the plugin), it works fine.

Revision history for this message
Stephen M. Webb (bregma) wrote :

Yes, Unity grabs all three- and four-finger gestures. This is explicitly by design. They are designated by Unity as "window management" gestures, not available to applications. This is not a bug or a misfeature but intentional functionality.

The uTouch stack recognizes all multi-touch gestures of which the hardware is capable, so this bug does not apply to utouch-grail. It is rightly a design task.

Changed in utouch-grail (Ubuntu):
status: Incomplete → Invalid
Revision history for this message
Owais Lone (loneowais) wrote :

We should have any of these by default,

    1) A UI to customize existing or assign additional MT gestures to actions.
    2) A switch to turn off unity's MT recognition so that people can use apps like Touchegg.

I prefer the first option.

no longer affects: utouch-grail (Ubuntu)
Omer Akram (om26er)
Changed in unity:
status: Invalid → Incomplete
tags: added: needs-design
Revision history for this message
John Lea (johnlea) wrote :

Applications that need more than two fingers can enter 'greedy mode', see section 3.2 of https://docs.google.com/a/canonical.com/View?id=dfkkjjcj_1482g457bcc7 for more details. Marking bug as invalid in ayatana-design because this behaviour to handle this use case has already been defined.

Changed in ayatana-design:
status: New → Invalid
Changed in unity:
status: Incomplete → New
Omer Akram (om26er)
Changed in unity:
importance: Undecided → Low
affects: ayatana-design → unity (Ubuntu)
Changed in unity (Ubuntu):
importance: Undecided → Low
Changed in unity:
status: New → Confirmed
Changed in unity (Ubuntu):
status: Invalid → Confirmed
tags: removed: needs-design
Revision history for this message
Owais Lone (loneowais) wrote :

Thanks John, that explains it.

@omer, can you please triage this https://bugs.launchpad.net/unity/+bug/900755 (as wishlist may be?)

Owais Lone (loneowais)
description: updated
Revision history for this message
Stephen M. Webb (bregma) wrote :

The use of 3- and 4-touch gestures in Unity is fundamental to its design. Window management and application management gestures are reserved to the window/application manager. If an application design has been chosen such that it does not work with the Unity, then the application designers have purposefully chosen to provide a second-rate user experience under Unity.

Thanks for taking the time to share your opinion.

Changed in unity:
status: Confirmed → Won't Fix
Changed in unity (Ubuntu):
status: Confirmed → Won't Fix
Revision history for this message
dan moore (dan-moore-y) wrote :

Does anyone know what is the status with 'greedy mode' support? It appears that there is no movement on either this or the ability to disable gestures resulting in various onliune postings for how to hack the .cpp to disable these.

Personally: Unity's current denial of multi-touch access to applications essentially makes the operating system unusable for certain applications. Try drawing with 3 fingers under Unity. Or are we saying the Unity design pre-dates and outranks painting?

Revision history for this message
noob saibot (odmartin) wrote :

@bregma Is this still the state of this issue? Or did you change your opinion in the meantime? I think users are capable to decide for themselves in how far the preset gestures are a fundamental part of unity or if they would still have some use (and maybe even more) for unity after changing them. Is the user not the final judge of such matters? How did you ever get so convinced of that what you think is the best way to use a touchpad is the best way for everyone? And here am I despising Apple for being patronizing...

Revision history for this message
mechaxl (mechaxl) wrote :

I am running Ubuntu 16.04 on a Macbook. I would like to use a 3-finger swipe to move between my desktops, like in Mac OS X. It would be very useful for Unity to not intercept this gesture. The functionality that Unity uses this for (listed as "3 finger press and drag to move window") is not functional for me, and is also irrelevant to me, as I rarely if ever have unmaximized windows.

Revision history for this message
mechaxl (mechaxl) wrote :

Update on this: I've moved to using Fusuma, which works in both Unity and GNOME Shell, which is replacing Unity in 18.04.

https://github.com/iberianpig/fusuma

My "~/.config/fusuma/config.yml" file looks like this:

swipe:
  3:
    left:
      shortcut: 'ctrl+alt+Left'
    right:
      shortcut: 'ctrl+alt+Right'
    up:
      shortcut: 'ctrl+alt+Up'
    down:
      shortcut: 'ctrl+alt+Down'

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.