Skip to content

Instantly share code, notes, and snippets.

@omo
Last active March 14, 2024 15:56
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save omo/4839c896019980d4f9d49aeff3c25929 to your computer and use it in GitHub Desktop.
Save omo/4839c896019980d4f9d49aeff3c25929 to your computer and use it in GitHub Desktop.
XPS 17 9730 touchpad problem workaround on Ubuntu 22.04

XPS 17 9730 touchpad problem workaround on Ubuntu 22.04

This is a follow up for my Reddit post. Note that this is relevant for the classic X server (not Xwayland, which doesn't have this problem). If you have an NVIDIA GPU on your laptop, This is probably for you: Ubuntu configures the system with the non-Wayland, classic X server when an NVIDIA GPU is used.

The inspiration is from this article from the DELL site. Although the approach is outdated for recent Ubuntu, the basic premise is the same, that is, to eliminate duplicated touchpad / mouse input from X server configuration.


1. Run xinput list to confirm there is two mouse/touchpad devices for the touchpad:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ELAN2097:00 04F3:2A15                     id=12   [slave  pointer  (2)]
⎜   ↳ VEN_04F3:00 04F3:32AA Mouse               id=13   [slave  pointer  (2)]
⎜   ↳ VEN_04F3:00 04F3:32AA Touchpad            id=14   [slave  pointer  (2)]
⎜   ↳ PS/2 Generic Mouse                        id=20   [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)]
    ↳ Integrated_Webcam_HD: Integrate           id=10   [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD: Integrate           id=11   [slave  keyboard (3)]
    ↳ Intel HID events                          id=15   [slave  keyboard (3)]
    ↳ Intel HID 5 button array                  id=16   [slave  keyboard (3)]
    ↳ Dell Privacy Driver                       id=17   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=18   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=19   [slave  keyboard (3)]

You have both VEN_04F3:00 04F3:32AA Touchpad and PS/2 Generic Mouse, which can cause a conflit.

Put following config at the end of /usr/share/X11/xorg.conf.d/40-libinput.conf

# See https://gist.github.com/omo/4839c896019980d4f9d49aeff3c25929
Section "InputClass"
        Identifier "Fallback Mouse"
        MatchProduct "PS/2 Generic Mouse"
        MatchIsPointer "true"
        MatchDevicePath "/dev/input/event*"
        Option "Ignore" "true" 
EndSection

Then restart the X server (by logging-out-and-in).

3. Run xinput list again to confirm that the PS/2 Mouse entry is gone.

It should look like this:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ VEN_04F3:00 04F3:32AA Touchpad            id=14   [slave  pointer  (2)]
⎜   ↳ ELAN2097:00 04F3:2A15                     id=12   [slave  pointer  (2)]
⎜   ↳ VEN_04F3:00 04F3:32AA Mouse               id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD: Integrate           id=10   [slave  keyboard (3)]
    ↳ Intel HID events                          id=15   [slave  keyboard (3)]
    ↳ Integrated_Webcam_HD: Integrate           id=11   [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=19   [slave  keyboard (3)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Dell Privacy Driver                       id=17   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=18   [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Video Bus                                 id=6    [slave  keyboard (3)]
    ↳ Intel HID 5 button array                  id=16   [slave  keyboard (3)]

Hope this helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment