How to Disable Horizontal Scroll and Enable Palm Detection on Libinput

This solution applies to laptops using Libinput as the touchpad driver. If you are using Synaptics, the steps may be slightly different. To check your driver, open the terminal and run:

xinput --list

This command will list your input devices. The output might differ based on your device, but for mine (a Dell laptop), the result looks like this:

nesi@Alpha:~$ xinput --list
  ⎑ Virtual core pointer                     id=2    [master pointer  (3)]
  ⎜   ↳ Virtual core XTEST pointer               id=4    [slave  pointer  (2)]
  ⎜   ↳ DLL0651:00 06CB:2985                     id=11   [slave  pointer  (2)]
  ⎣ Virtual core keyboard                    id=3    [master keyboard (2)]
      ↳ Virtual core XTEST keyboard              id=5    [slave  keyboard (3)]
      ↳ Power Button                             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                     id=10   [slave  keyboard (3)]
      ↳ AT Translated Set 2 keyboard             id=12   [slave  keyboard (3)]
      ↳ Dell WMI hotkeys                         id=13   [slave  keyboard (3)]

In this case, the touchpad driver is listed as DLL0651:00 06CB:2985 id=11, but if you have Synaptics, the name should be displayed here. Note the device ID (mine is 11). Next, run the following command to check the current options enabled on your touchpad:

xinput list-props 11

This command will list all the properties of your touchpad. The output will look something like this:

xinput list-props 11
  Device 'DLL0651:00 06CB:2985':
    Device Enabled (140):    1
    Coordinate Transformation Matrix (142):    1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Tapping Enabled (275):    1
    libinput Tapping Enabled Default (276):    0
    libinput Tapping Drag Enabled (277):    1
    libinput Tapping Drag Enabled Default (278):    1
    libinput Tapping Drag Lock Enabled (279):    0
    libinput Tapping Drag Lock Enabled Default (280):    0
    libinput Tapping Button Mapping Enabled (281):    1, 0
    libinput Tapping Button Mapping Default (282):    1, 0
    libinput Accel Speed (283):    -0.508333
    libinput Accel Speed Default (284):    0.000000
    libinput Natural Scrolling Enabled (285):    0
    libinput Natural Scrolling Enabled Default (286):    0
    libinput Send Events Modes Available (260):    1, 1
    libinput Send Events Mode Enabled (261):    0, 0
    libinput Send Events Mode Enabled Default (262):    0, 0
    libinput Left Handed Enabled (287):    0
    libinput Left Handed Enabled Default (288):    0
    libinput Scroll Methods Available (289):    1, 1, 0
    libinput Scroll Method Enabled (290):    1, 0, 0
    libinput Scroll Method Enabled Default (291):    1, 0, 0
    libinput Click Methods Available (292):    1, 1
    libinput Click Method Enabled (293):    1, 0
    libinput Click Method Enabled Default (294):    1, 0
    libinput Middle Emulation Enabled (295):    0
    libinput Middle Emulation Enabled Default (296):    0
    libinput Disable While Typing Enabled (297):    1
    libinput Disable While Typing Enabled Default (298):    1
    Device Node (263):    "/dev/input/event12"
    Device Product ID (264):    1739, 10629
    libinput Drag Lock Buttons (299):
    libinput Horizontal Scroll Enabled (300):    1

The last option, libinput Horizontal Scroll Enabled (300): 1, indicates that horizontal scrolling is enabled. A value of 1 means "true" (enabled). If you want to disable horizontal scrolling, run the following command:

xinput set-prop 11 300 0

Where:

  • xinput set-prop: Command to set a property.
  • 11: The ID of your touchpad device.
  • 300: The ID of the horizontal scroll property.
  • 0: A value of 0 to disable the horizontal scroll (false).

If you want to re-enable horizontal scrolling, use:

xinput set-prop 11 300 1

To make this change permanent, add the command to your startup applications:

  1. Go to Settings > Applications > Startup.
  2. Click the + button to add a new application.
  3. Select Custom Command and enter the command: xinput set-prop 11 300 0.

Note: The device IDs may differ on your system.

Update: If you connect another pointing device after the system has loaded the OS, make sure to connect it after the system has finished loading. Otherwise, there is a chance that the ID of your touchpad may change. For example, if I connected a USB mouse before the OS finished loading, my touchpad’s ID changed from 11 to 12, which caused my startup command to not work.