Bug 415179 - Touchpad disabled when detected as both mouse and touchpad
Summary: Touchpad disabled when detected as both mouse and touchpad
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_touchpad (show other bugs)
Version: 5.17.5
Platform: Arch Linux Linux
: NOR major
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-14 23:19 UTC by akb825
Modified: 2024-03-25 14:34 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 6.0
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description akb825 2019-12-14 23:19:08 UTC
SUMMARY
After updating to the latest version of Plasma/KDE, the touchpad on my laptop gets disabled automatically due to KDE detecting that a mouse is plugged in, despite the fact that there is no mouse present. Upon further investigation, my touchpad is being detected as both a touchpad and mouse with separate device entries. It appears that the KDE control panel for touchpad input was recently changed and no longer gives an option for whether or not to disable the touchpad when a mouse is connected: as a result my touchpad is *always* disabled with no option of re-enabling it.

STEPS TO REPRODUCE
1. Boot to login screen with no mouse plugged in. Touchpad works.
2. Log in. Touch pad is disabled.

OBSERVED RESULT
A notification pops up saying that the trackpad was disabled because a mouse was plugged in.

EXPECTED RESULT
Touchpad continues to work unless a physical mouse is plugged in.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Arch Linux, fully up to date
KDE Plasma Version: 5.17.4
KDE Frameworks Version: 5.64.0
Qt Version: 5.13.2

ADDITIONAL INFORMATION
The laptop I'm using is a Dell XPS 15 9570.

The relative output from /proc/bus/input/devices is:
I: Bus=0018 Vendor=06cb Product=7a13 Version=0100
N: Name="SYNA2393:00 06CB:7A13 Mouse"
P: Phys=i2c-SYNA2393:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-SYNA2393:00/0018:06CB:7A13.0002/input/input23
U: Uniq=
H: Handlers=event17 mouse4 
B: PROP=0
B: EV=17
B: KEY=30000 0 0 0 0
B: REL=3
B: MSC=10

I: Bus=0018 Vendor=06cb Product=7a13 Version=0100
N: Name="SYNA2393:00 06CB:7A13 Touchpad"
P: Phys=i2c-SYNA2393:00
S: Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-SYNA2393:00/0018:06CB:7A13.0002/input/input24
U: Uniq=
H: Handlers=event18 mouse5 
B: PROP=5
B: EV=1b
B: KEY=e520 10000 0 0 0 0
B: ABS=2e0800000000003
B: MSC=20

The relative output from running the command libinput list-devices is:
Device:           SYNA2393:00 06CB:7A13 Mouse
Kernel:           /dev/input/event17
Group:            9
Seat:             seat0, default
Capabilities:     pointer 
Tap-to-click:     n/a
Tap-and-drag:     n/a
Tap drag lock:    n/a
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: n/a
Calibration:      n/a
Scroll methods:   button
Click methods:    none
Disable-w-typing: n/a
Accel profiles:   flat *adaptive
Rotation:         n/a

Device:           SYNA2393:00 06CB:7A13 Touchpad
Kernel:           /dev/input/event18
Group:            9
Seat:             seat0, default
Size:             102x77mm
Capabilities:     pointer gesture
Tap-to-click:     disabled
Tap-and-drag:     enabled
Tap drag lock:    disabled
Left-handed:      disabled
Nat.scrolling:    disabled
Middle emulation: disabled
Calibration:      n/a
Scroll methods:   *two-finger edge 
Click methods:    *button-areas clickfinger 
Disable-w-typing: enabled
Accel profiles:   none
Rotation:         n/a
Comment 1 keith.confiance 2019-12-15 13:54:46 UTC
(In reply to akb825 from comment #0)
> SUMMARY
> After updating to the latest version of Plasma/KDE, the touchpad on my
> laptop gets disabled automatically due to KDE detecting that a mouse is
> plugged in, despite the fact that there is no mouse present. Upon further
> investigation, my touchpad is being detected as both a touchpad and mouse
> with separate device entries. It appears that the KDE control panel for
> touchpad input was recently changed and no longer gives an option for
> whether or not to disable the touchpad when a mouse is connected: as a
> result my touchpad is *always* disabled with no option of re-enabling it.
> 
> STEPS TO REPRODUCE
> 1. Boot to login screen with no mouse plugged in. Touchpad works.
> 2. Log in. Touch pad is disabled.
> 
> OBSERVED RESULT
> A notification pops up saying that the trackpad was disabled because a mouse
> was plugged in.
> 
> EXPECTED RESULT
> Touchpad continues to work unless a physical mouse is plugged in.
> 
> SOFTWARE/OS VERSIONS
> Linux/KDE Plasma: Arch Linux, fully up to date
> KDE Plasma Version: 5.17.4
> KDE Frameworks Version: 5.64.0
> Qt Version: 5.13.2
> 
> ADDITIONAL INFORMATION
> The laptop I'm using is a Dell XPS 15 9570.
> 
> The relative output from /proc/bus/input/devices is:
> I: Bus=0018 Vendor=06cb Product=7a13 Version=0100
> N: Name="SYNA2393:00 06CB:7A13 Mouse"
> P: Phys=i2c-SYNA2393:00
> S:
> Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-SYNA2393:
> 00/0018:06CB:7A13.0002/input/input23
> U: Uniq=
> H: Handlers=event17 mouse4 
> B: PROP=0
> B: EV=17
> B: KEY=30000 0 0 0 0
> B: REL=3
> B: MSC=10
> 
> I: Bus=0018 Vendor=06cb Product=7a13 Version=0100
> N: Name="SYNA2393:00 06CB:7A13 Touchpad"
> P: Phys=i2c-SYNA2393:00
> S:
> Sysfs=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-SYNA2393:
> 00/0018:06CB:7A13.0002/input/input24
> U: Uniq=
> H: Handlers=event18 mouse5 
> B: PROP=5
> B: EV=1b
> B: KEY=e520 10000 0 0 0 0
> B: ABS=2e0800000000003
> B: MSC=20
> 
> The relative output from running the command libinput list-devices is:
> Device:           SYNA2393:00 06CB:7A13 Mouse
> Kernel:           /dev/input/event17
> Group:            9
> Seat:             seat0, default
> Capabilities:     pointer 
> Tap-to-click:     n/a
> Tap-and-drag:     n/a
> Tap drag lock:    n/a
> Left-handed:      disabled
> Nat.scrolling:    disabled
> Middle emulation: n/a
> Calibration:      n/a
> Scroll methods:   button
> Click methods:    none
> Disable-w-typing: n/a
> Accel profiles:   flat *adaptive
> Rotation:         n/a
> 
> Device:           SYNA2393:00 06CB:7A13 Touchpad
> Kernel:           /dev/input/event18
> Group:            9
> Seat:             seat0, default
> Size:             102x77mm
> Capabilities:     pointer gesture
> Tap-to-click:     disabled
> Tap-and-drag:     enabled
> Tap drag lock:    disabled
> Left-handed:      disabled
> Nat.scrolling:    disabled
> Middle emulation: disabled
> Calibration:      n/a
> Scroll methods:   *two-finger edge 
> Click methods:    *button-areas clickfinger 
> Disable-w-typing: enabled
> Accel profiles:   none
> Rotation:         n/a

Can you see if installing the xf86-input-synaptics brings back the option to disable touchpad while mouse is connected.
Comment 2 akb825 2019-12-15 19:24:32 UTC
> Can you see if installing the xf86-input-synaptics brings back the option to
> disable touchpad while mouse is connected.

Thank you, that did restore the ability to adjust when the touchpad is enabled. I was able to add the "mouse" entry for the touchpad to the ignore list without fully disabling the feature. I need to use an XOrg config to customize the settings, but this was the same as the previous behavior, so it's at least a usable workaround for now.
Comment 3 Mads 2020-01-27 13:50:01 UTC
Same issue, on an XPS 15 9570 myself. Here's the workaround I'm using:

$ cat /etc/X11/xorg.conf.d/99-custom.conf 
Section "InputClass"
        Identifier "Ignore synaptics mouse"
        MatchProduct "SYNA2393:00 06CB:7A13 Mouse"
        MatchIsPointer "on"
        Option "Ignore" "on"
EndSection
Comment 4 akb825 2020-02-22 23:06:43 UTC
After updating today having xf86-input-synaptics installed no longer works around the bug. Applying the X11 config by Mads was able to restore the touchpad.
Comment 5 akb825 2020-07-24 22:42:39 UTC
To provide an update for this issue, the X11 workaround Mads posted is inconsistent. Sometimes it still disables the touchpad on boot and requires one or two reboots before it works. I've kept up to date based on Arch's packages, so I'm currently on Plasma 5.19.3.
Comment 6 akb825 2020-11-25 03:37:31 UTC
From what I can tell the workaround listed by Mads is no longer doing anything. Having the workaround or not has the same behavior: sometimes when I boot (maybe 25-50% of the time) it will disable the trackpad, other times it won't. Logging off and logging back on doesn't seem to change anything, a full reboot is required. (though there's probably some magic command that could fix it as well)

Would it be possible to at least bring back the option to not disable the trackpad when it detects a mouse?
Comment 7 akb825 2020-11-25 23:07:19 UTC
After some investigation, it looks like the current issue is caused because there's a second touchpad device (PS/2 Synaptics TouchPad) that shows up in the xinput device list. The ordering of the list is inconsistent between boots, and it will incorrectly disable the touchpad when the PS/2 Synaptics TouchPad is on top.

When I disable this extra touchpad device, it looks like it works around the issue. Therefore, the new workaround for the Xorg config is:

Section "InputClass"
    Identifier "Ignore synaptics touchpad"
    MatchProduct "PS/2 Synaptics TouchPad"
    MatchIsTouchpad "on"
    Option "Ignore" "on"
EndSection

Just to note, I do not have the xf86-input-synaptics package installed, so the Synaptics device seems to be detected even with the default X11 packages.
Comment 8 akb825 2020-12-20 04:12:39 UTC
This seems to be a constantly moving target. I additionally need to disable PS/2 Generic Mouse to have the touchpad reliably work:

Section "InputClass"
	Identifier "Ignore synaptics mouse"
	MatchProduct "PS/2 Generic Mouse"
	MatchIsPointer "on"
	Option "Ignore" "on"
EndSection
Comment 9 akb825 2020-12-20 04:18:52 UTC
Nevermind, it isn't consistent even with that change: XOrg will still sometimes keep the device enabled, even when verifying that the device name listed in xinput matches one of the ones I've disabled through an XOrg config.
Comment 10 Jeff Stern 2023-08-23 20:19:39 UTC
Related problem here, though opposite, and less inconvenient, though still annoying, when I upgraded my laptop:

The "Disable touchpad when mouse is plugged in" was off (and disappeared), and no way to turn it on.

I too noticed this option(*) went away in recent updates to OpenSUSE Tumbleweed's KDE packaging. I couldn't find the option to disable touchpad upon mouse plugged in.

When I installed xserver-xorg-input-synaptics package, the option is restored(*).

Though it does not solve the more complex problem described here, nvtl IMHO, the xserver-xorg-input-synaptics package *should* be installed by default (all distros): This would at least reduce one level of complexity, putting everyone on the same page.

(*) Start --> Settings --> System Settings --> Hardware/Input Devices --> Touchpad --> Enable/Disable Touchpad --> [x] Disable touchpad when mouse is plugged in.
Comment 11 Jeff Stern 2023-08-23 20:22:07 UTC
N.B. - On my OpenSUSE Tumbleweed distro, the package is slightly renamed to "xf86-input-synaptics". I should have mentioned that, above.
Comment 12 Nate Graham 2024-03-25 02:37:15 UTC
For the original reporter of the issue: this bug report concerns the Synaptics version of the Touchpad page, which is no longer supported in Plasma 6. Can you please see if the issue still happens when using Libinput? Thanks!

For other people: please open new bug reports to report new issues. Thanks!
Comment 13 akb825 2024-03-25 05:05:03 UTC
After updating to Plasma 6 and switching to a Wayland session and libinput, everything seems to be working as expected. IIRC I earlier opted to use Synaptics because the libinput driver didn't support drag-lock, but this is now supported under Plasma 6.
Comment 14 Nate Graham 2024-03-25 14:34:51 UTC
Great!