Bug 483639 - Switching to left handed mouse breaks touchpad tapping
Switching to left handed mouse breaks touchpad tapping
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: gnome-settings-daemon (Show other bugs)
10
i686 Linux
low Severity medium
: ---
: ---
Assigned To: Bastien Nocera
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-02-02 13:07 EST by Mike C
Modified: 2009-07-16 16:06 EDT (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-07-16 16:06:50 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
file containing output of xinput --list (1.33 KB, text/plain)
2009-04-25 14:25 EDT, Mike C
no flags Details

  None (edit)
Description Mike C 2009-02-02 13:07:07 EST
Description of problem:
In Gnome desktop use System->Preferences->Hardware->Mouse and select Left Handed mouse orientation. The touchpad also changes to left-handed on the buttons but the "tap" facility now acts like a right click for normal right handed mouse operation - i.e. tapping no longer works.

Version-Release number of selected component (if applicable):
gnome-settings-daemon-2.24.1-7.fc10.i386

How reproducible: Every time


Steps to Reproduce:
1. Change to left handed mouse
2. Touchpad also changes to left handed and tap no longer works to select
3.
  
Actual results: Touchpad tapping is broken when it should not be broken by switching to left handed mouse.


Expected results: Touchpad tapping should remain working normally even if the mouse is switched to left handed.


Additional info: Smolt info at
http://www.smolts.org/client/show/pub_1eea2ded-7035-4039-b077-2984f0e4d524
Machine is a Samsung Q35 laptop.
Comment 1 Mike C 2009-02-02 16:01:12 EST
This is a long standing issue as reported in 
https://bugzilla.redhat.com/show_bug.cgi?id=324721
Comment 2 morgan read 2009-02-09 02:44:55 EST
Ditto still broken as per
https://bugzilla.redhat.com/show_bug.cgi?id=324721#c22
&
https://bugzilla.redhat.com/show_bug.cgi?id=324721#c24

# rpm -q gnome-settings-daemon
gnome-settings-daemon-2.24.1-7.fc10.i386
Comment 3 Bastien Nocera 2009-04-25 12:03:25 EDT
It's possible your touchpad isn't listed as one. Could you please attach the output of "xinput --list" to this bug?
Comment 4 Mike C 2009-04-25 14:25:14 EDT
Created attachment 341323 [details]
file containing output of xinput --list

Output of xinput --list when logged in to gnome with the mouse set as left handed.
Comment 5 Bastien Nocera 2009-04-25 20:29:57 EDT
Peter, xinput doesn't list the type of device in --list. Would it be sufficient to check for input.touchpad in lshal, or does evdev have some other heuristics for detection?
Comment 6 Mike C 2009-04-27 15:17:29 EDT
I tried lshal and grepped for input.touchpad - which is not present. I'll run other tests when you can suggest what to do next.
Comment 7 Peter Hutterer 2009-04-27 22:17:27 EDT
In the device list returned by XListInputDevices, info->type will be the XI_TOUCHPAD ("TOUCHPAD") atom defined in XI.h. The synaptics driver sets that, evdev does the same.

fwiw, xinput --list will list it in the next release too.
http://cgit.freedesktop.org/xorg/app/xinput/tree/src/list.c, line 69

a problem may be chained button mappings though, if you set left-handed for the virtual core pointer, all devices posting through this device will be left-handed. so you'd have to apply the inverse mapping to the touchpad to get it to be right-handed.
Comment 8 Bastien Nocera 2009-04-29 11:40:42 EDT
Should be fixed in this build for F-10:
http://koji.fedoraproject.org/koji/taskinfo?taskID=1328732

Note that this completely disables the button swapping for touchpads, because there's no way (that I know) to swap only the physical button's mapping, and not the touchpad tap (bug 498249)

Please test, and I'll push this package as an F-10 update.
Comment 9 Mike C 2009-04-29 16:16:57 EDT
This package does not work.

What it did was to have the same effect as the original package in changing both the mouse and the touchpad from right to left-handed, but worse was that when logging back in it had reverted to right-handed behaviour despite the gnome preference still showing it was left-handed!

Please do NOT push this as an update.
Comment 10 Bastien Nocera 2009-04-29 16:44:15 EDT
(In reply to comment #9)
> This package does not work.
> 
> What it did was to have the same effect as the original package in changing
> both the mouse and the touchpad from right to left-handed,

That'd be because you were still running the old code.

> but worse was that
> when logging back in it had reverted to right-handed behaviour despite the
> gnome preference still showing it was left-handed!

Yes, the touchpad will be right-handed because we can't separate the mapping for tap and for the physical buttons. So you get one or the other. If this isn't good enough for left-handed users, I'll close this and we'll have to wait for the driver to be fixed.
Comment 11 Mike C 2009-04-30 03:21:42 EDT
The original hope was that switching the "mouse" from right to left-handed would change only the mouse and leave the touchpad as it was - so that the mouse was operating left-handed and the touchpad as right handed.

This was because the user that I was configuring for has a problem with the mouse when operating right handed (medical reasons) but the touchpad use was fine as it was without any adjustment. Certainly making it change so that a single tap did not have the equivalent of left click made the touchpad very user unfriendly.

I guess in F11 there is an additional option to use synclient to define the TapButton functions that can be run as a script during login?

I will try the code from #8 again - I thought I had logged out and back in before testing after installing it but I was multi-tasking at the time and it is possible I missed that. I will report back either tonight or tomorrow night.
Comment 12 Mike C 2009-05-01 14:43:04 EDT
I have re-tested the version at
 http://koji.fedoraproject.org/koji/taskinfo?taskID=1328732

After installing the rpm, and then logging out and back in, and then using the gnome preferences to switch to left-handed, both the mouse and the touchpad remain right-handed, both before and after logging out and back in again, despite the gnome preferences panel showing that it is left-handed.  So this version does not work. After installing it I checked that it was indeed installed using rpm -q gnome-settings-daemon which showed the correct version (2.24.1-10.fc10) was being used. On switching back to the original version (-7) the mouse reverted to correct switching to left-handed with the touchpad also left handed once the gnome preferences were selected as left-handed.
Comment 13 Mike C 2009-05-01 14:51:47 EDT
By the way just to be clear, in the original system with the old (2.24.1-7) version, the touchpad single tap when set as left-handed has the same effect as a right-click for an original right-handed mouse) instead of being the same as a left click in an original right-handed mouse, and the two buttons below the touchpad are also left-handed (i.e. reversed from the normal right-handed operation).

With the buttons below the touchpad having switched to being left handed as well as the mouse button reversal, then the system is usable, but touchpad single tap now cannot do selection of items on the desktop - and double tapping does not work once the switch to left-handed has been made.  This means that double tap does nothing at all and the touchpad is unusable.

If the effect of switching to left-handed was that both the mouse buttons as well as the touchpad buttons were reversed when the left-handed selection is made, but the touchpad tap and double tap remains unchanged (i.e. as it was for right-handed operation) then the system would become properly usable in the left-handed mode.

I know this description may be slightly confusing but I hope it can be understood?
Comment 14 Mike C 2009-05-01 14:52:53 EDT
Maybe the behaviour has been changed for F11? Can anyone confirm?
Comment 15 Mike C 2009-05-02 17:42:36 EDT
I found that by installing gsynaptics and copying the hal policy file /usr/share/hal/fdi/policy/20thirdparty/10-synaptics.fdi to /etc/hal/fdi/policy/ then synclient became usable.  In this case I can get at least some functionality of the touchpad back by executing
synclient TapButton1=3
synclient TapButton3=1
in a terminal whilst the mouse has been switched to left handed.

This keeps the mouse left-handed as planned, and the buttons below the touchpad remain left-handed (i.e. reversed from normal operation - but at least the touchpad now executes a single tap to highlight items on the desktop and select menus from the taskbar.  Triple tapping now gives the effect of a double mouse click.

I have not explored further to find how to get a double tap to act as a double mouse click but this is at least usable now in left handed mode.

These commands could easily now be added to the startup for the left handed user.
Comment 16 Mike C 2009-05-02 18:36:47 EDT
With the above settings, I have now easily made a shell script and added it to the gnome startup and this works. Additionally the effect of a double mouse click can be done using a double finger tap.

I also note that there are Ubuntu 
https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-synaptics/+bug/27724
and still not fixed at
https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/363542
and Suze bug reports for the same problem as this one. i.e. the desired behaviour in a laptop when switching to a left-handed mouse should be to leave the entire touchpad properties unchanged. The comment I added in #15 is a workaround only in the absence of a proper fix.
Comment 17 Bastien Nocera 2009-05-07 21:41:49 EDT
So, this isn't fixable in F10. To fix the problem in F11, we're changing XInput devices properties, the touchpad's button mapping.

Under F10, you'd need to use XShm to change the touchpad's properties, for which gnome-settings-daemon doesn't have any support.

So the question is, which is less broken, the package I provided, or the original behaviour (I'd think my package...)?

That patch should fix it for F-11:
http://cvs.fedoraproject.org/viewvc/rpms/gnome-settings-daemon/F-11/gsd-2.26.1-left-handed-touchpad.patch?view=log
Comment 18 Peter Hutterer 2009-05-08 02:06:34 EDT
for the archives (from an irc log):
An alternative is to map tap buttons to a higher button number in the driver (using the synaptics property or synclient) and then map those buttons to 1/2/3 using XSetDeviceButtonMapping.

This way, if the physical buttons 1/2/3 are remapped, the tap buttons still post through the logical buttons 1/2/3 and are unaffected by the mapping.

This cannot automatically be done in the driver as it relies on the simultaneous  button mapping in the server. Such a mapping has to be integrated into the desktop environment.
Comment 19 Mike C 2009-07-15 16:39:12 EDT
Sorry about the delay in response - I now have F11 on a laptop that I can test and I will test and report in the next few days.
Comment 20 Mike C 2009-07-16 16:06:50 EDT
I have now had a chance to test this with a fully up to date F11 system.
The version of gnome-settings-daemon
is gnome-settings-daemon-2.26.1-7.fc11.i586

Switching to left handed mouse does indeed switch to left handed on the mouse, and as intended the touchpad settings remain unchanged.

So this is now the correct behaviour and I am closing this bug.

Excellent!

Note You need to log in before you can comment on or make changes to this bug.