Drivers – Dell Precision 7550 Physical Mouse Buttons Behaving Like Clickpad

driversmousetouchpad

Edit: this post previously stated that the mouse buttons didn't work at all. I only recently discovered that touching the touchpad can make the left button work like a clickpad.

I just bought a Dell Precision 7550, which has 3 separate physical mouse buttons beneath the touchpad. It came with Ubuntu 18.04, where these mouse buttons work as intended. However, I just did a fresh install of 20.04 alongside it, and the mouse buttons have gone funny: I can't make the right button do anything, while the middle button works normally. The left button behaves like the click of a clickpad: if I'm not touching the touchpad, it does nothing. If I touch the touchpad at the same time, however, then it works: either it issues a left click or, if I'm touching the bottom right corner of the touchpad, it issues a right click.

How do I make Ubuntu stop treating this like a clickpad, and register the physical mouse buttons?

In the (working) 18.04, xinput shows

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ HID 05ac:0256 Consumer Control            id=12   [slave  pointer  (2)]
⎜   ↳ HID 05ac:0256 Mouse                       id=13   [slave  pointer  (2)]
⎜   ↳ DELL09C3:00 0488:120A Touchpad            id=20   [slave  pointer  (2)]
⎜   ↳ PS/2 Generic Mouse                        id=25   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 Consumer Control id=16   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 Consumer Control id=19   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 Mouse    id=28   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Video Bus                                 id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ HID 05ac:0256                             id=10   [slave  keyboard (3)]
    ↳ HID 05ac:0256 System Control              id=11   [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD: Integrate           id=14   [slave  keyboard (3)]
    ↳ Intel HID events                          id=21   [slave  keyboard (3)]
    ↳ Intel HID 5 button array                  id=22   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=23   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=24   [slave  keyboard (3)]
    ↳ HID 05ac:0256 Consumer Control            id=26   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 System Control   id=15   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 Consumer Control id=17   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0  id=18   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 Consumer Control id=27   [slave  keyboard (3)]

Whereas the (broken) 20.04 shows:

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ HID 05ac:0256 Mouse                       id=11   [slave  pointer  (2)]
⎜   ↳ HID 05ac:0256 Consumer Control            id=13   [slave  pointer  (2)]
⎜   ↳ DELL09C3:00 0488:120A Mouse               id=20   [slave  pointer  (2)]
⎜   ↳ DELL09C3:00 0488:120A Touchpad            id=21   [slave  pointer  (2)]
⎜   ↳ PS/2 Generic Mouse                        id=27   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 Mouse    id=16   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 Consumer Control id=18   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 Consumer Control id=29   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Video Bus                                 id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ HID 05ac:0256                             id=10   [slave  keyboard (3)]
    ↳ HID 05ac:0256 System Control              id=12   [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD: Integrate           id=14   [slave  keyboard (3)]
    ↳ DELL09C3:00 0488:120A UNKNOWN             id=22   [slave  keyboard (3)]
    ↳ Intel HID events                          id=23   [slave  keyboard (3)]
    ↳ Intel HID 5 button array                  id=24   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=25   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=26   [slave  keyboard (3)]
    ↳ HID 05ac:0256 Consumer Control            id=28   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0  id=15   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 System Control   id=17   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 Consumer Control id=19   [slave  keyboard (3)]
    ↳ Microsoft Microsoft® 2.4GHz Transceiver v9.0 Consumer Control id=30   [slave  keyboard (3)]

The Microsoft stuff is my USB mouse/keyboard. The only meaningful difference I see is the appearance of DELL09C3:00 0488:120A UNKNOWN on 20.04, suggesting some hardware isn't recognized, although everything that's recognized on 18.04 is also recognized on 20.04. /etc/X11 is nearly identical, with only some changes in Xsession.d/70im-config_launch, Xsession.d/90qt-a11y, app-defaults/XLogo, and app-defaults/XCalc, none of which look relevant, except possibly the removal of QT_LINUX_ACCESSIBILITY_ALWAYS_ON in 90qt-a11y.

Best Answer

Finally managed to fix it.

I first installed xserver-xorg-input-synaptics, and rebooted. The behavior didn't change, but the driver did change: xinput list-props "DELL09C3:00 0488:120A Touchpad" now has several new "synaptics" options, including Synaptics ClickPad which was set to 1. Setting it to 0 via xinput set-prop "DELL09C3:00 0488:120A Touchpad" "Synaptics ClickPad" 0 fixed the problem immediately.

This isn't terribly satisfying, as it's unclear why the touchpad is being detected as a clickpad in the first place. However, the touchpad is now usable, so I'm marking this as solved.

It's worth pointing out that others have reported the same issue, e.g. in this reddit thread: https://www.reddit.com/r/Dell/comments/hw1o4c/dell_precision_laptop_7550_1_month_in/

Related Question