right click on touchpad registers as left click
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xserver-xorg-input-synaptics (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I have a HP Pavilion laptop with a Synaptics touchpad. This touchpad has integrated "clicking" buttons.
When I press the right click button, it is correctly registered as right click. However, when I have a finger touching the pad somewhere else (used for scrolling), the right click button is registered as left button (see output of xev below)
I have also provided output of evtest
Use case: I'm moving the mouse cursor with my left hand and then use my right hand to use the right click button. My left hand finger is still touching the pad. When I click the right click button I expect a result accordingly. E.g. right click on the desktop provides a pop up menu.
I have looked at synclient, but not found a setting that solves this (but maybe I didn't look hard enough ;)
Relevant output of XEV:
- I press 'a' on keyboard
- Right click
- I press 'b' on keyboard
- touch pad with finger (nothing registers in xev
- Right click, reported by xev as button 1
- I press 'c' on keyboard
KeyPress event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0xa00002, time 4461699, (42,41), root:(1784,891),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0xa00002, time 4461815, (42,41), root:(1784,891),
state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
ButtonPress event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0xa00002, time 4466534, (42,41), root:(1784,891),
state 0x10, button 3, same_screen YES
EnterNotify event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0x0, time 4466534, (42,41), root:(1784,891),
mode NotifyGrab, detail NotifyInferior, same_screen YES,
focus YES, state 1040
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967219 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ButtonRelease event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0xa00002, time 4466665, (42,41), root:(1784,891),
state 0x410, button 3, same_screen YES
LeaveNotify event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0x0, time 4466665, (42,41), root:(1784,891),
mode NotifyUngrab, detail NotifyInferior, same_screen YES,
focus YES, state 16
KeyPress event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0xa00002, time 4471571, (42,41), root:(1784,891),
state 0x10, keycode 56 (keysym 0x62, b), same_screen YES,
XLookupString gives 1 bytes: (62) "b"
XmbLookupString gives 1 bytes: (62) "b"
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0xa00002, time 4471657, (42,41), root:(1784,891),
state 0x10, keycode 56 (keysym 0x62, b), same_screen YES,
XLookupString gives 1 bytes: (62) "b"
XFilterEvent returns: False
ButtonPress event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0xa00002, time 4479598, (42,41), root:(1784,891),
state 0x10, button 1, same_screen YES
EnterNotify event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0x0, time 4479598, (42,41), root:(1784,891),
mode NotifyGrab, detail NotifyInferior, same_screen YES,
focus YES, state 272
KeymapNotify event, serial 40, synthetic NO, window 0x0,
keys: 4294967219 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ButtonRelease event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0xa00002, time 4479797, (42,41), root:(1784,891),
state 0x110, button 1, same_screen YES
LeaveNotify event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0x0, time 4479797, (42,41), root:(1784,891),
mode NotifyUngrab, detail NotifyInferior, same_screen YES,
focus YES, state 16
KeyPress event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0xa00002, time 4484774, (42,41), root:(1784,891),
state 0x10, keycode 54 (keysym 0x63, c), same_screen YES,
XLookupString gives 1 bytes: (63) "c"
XmbLookupString gives 1 bytes: (63) "c"
XFilterEvent returns: False
KeyRelease event, serial 40, synthetic NO, window 0xa00001,
root 0xb3, subw 0xa00002, time 4484883, (42,41), root:(1784,891),
state 0x10, keycode 54 (keysym 0x63, c), same_screen YES,
XLookupString gives 1 bytes: (63) "c"
XFilterEvent returns: False
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: xserver-
ProcVersionSign
Uname: Linux 4.4.0-21-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.1-0ubuntu2
Architecture: amd64
CurrentDesktop: KDE
Date: Sat Apr 30 21:18:23 2016
DistUpgraded: Fresh install
DistroCodename: xenial
DistroVariant: kubuntu
InstallationDate: Installed on 2016-02-03 (87 days ago)
InstallationMedia: Error: [Errno 13] Permission denied: '/var/log/
Lsusb:
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 0bda:b006 Realtek Semiconductor Corp.
Bus 001 Device 002: ID 0bda:57eb Realtek Semiconductor Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: HP HP Pavilion Notebook
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: xserver-
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 12/18/2015
dmi.bios.vendor: Insyde
dmi.bios.version: F.77
dmi.board.
dmi.board.name: 80A4
dmi.board.vendor: HP
dmi.board.version: 91.1C
dmi.chassis.type: 10
dmi.chassis.vendor: HP
dmi.chassis.
dmi.modalias: dmi:bvnInsyde:
dmi.product.name: HP Pavilion Notebook
dmi.product.
dmi.sys.vendor: HP
version.compiz: compiz N/A
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.67-1
version.
version.
version.
version.
version.
version.
version.
version.
xserver.bootTime: Sat Apr 30 20:38:17 2016
xserver.configfile: default
xserver.errors:
xserver.logfile: /var/log/Xorg.0.log
xserver.outputs:
product id 22596
vendor SDC
xserver.version: 2:1.18.3-1ubuntu2
tags: |
added: libinput wily removed: amd64 |
tags: |
added: xenial removed: wily |
I found a workaround by installing the libinput driver. I did the following:
Remove the synaptics driver: xorg-input- synaptics
sudo aptitude purge xsever-
Make sure the configuration file is gone xorg.conf. d/50-synaptics. conf
sudo rm /etc/X11/
Install the libinput driver and tools xorg-input- libinput libinput-tools
sudo aptitude install xserver-
Restart the x-server
The libinput driver should autoconfigure. Also, the KDE system settings can work with libinput, you might for instance want to enable Tapping.
There are a lot of settings on the Synaptics driver that are not available on the libinput driver, so your mileage may vary. I'm not using most of them so for now I'm going to see what will happen when I use the libinput driver.