How to set track pad settings on arch systems with libinput

My laptop when running Linux never enables click on tap by default. Given the heavy press required for clicking, this was a real hindrance to using the track pad. I also wanted to enable Natural Scrolling as I had gotten used to it.

In Shell, type xinput list to get a list of devices and their ids.

$ xinput list
 ⎡ Virtual core pointer                id=2    [master pointer  (3)]
 ⎜   ↳ Virtual core XTEST pointer      id=4    [slave  pointer  (2)]
 ⎜   ↳ SynPS/2 Synaptics TouchPad      id=13   [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)]
     ↳ HP WMI hotkeys                  id=14   [slave  keyboard (3)]
     ↳ HP Wireless hotkeys             id=15   [slave  keyboard (3)]

i

Input the ID of the touchpad into the following command

xinput list-props <id>

In this case, it would give the output

xinput list-props 13
 Device 'SynPS/2 Synaptics TouchPad':
     Device Enabled (205):   1
     Coordinate Transformation Matrix (207): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
     libinput Tapping Enabled (359): 0
     libinput Tapping Enabled Default (360): 0
     libinput Tapping Drag Enabled (361):    1
     libinput Tapping Drag Enabled Default (362):    1
     libinput Tapping Drag Lock Enabled (363):   0
     libinput Tapping Drag Lock Enabled Default (364):   0
     libinput Tapping Button Mapping Enabled (365):  1, 0
     libinput Tapping Button Mapping Default (366):  1, 0
     libinput Natural Scrolling Enabled (339):   0
     libinput Natural Scrolling Enabled Default (340):   0
     libinput Disable While Typing Enabled (367):    1
     libinput Disable While Typing Enabled Default (368):    1
     libinput Scroll Methods Available (341):    1, 1, 0
     libinput Scroll Method Enabled (342):   1, 0, 0
     libinput Scroll Method Enabled Default (343):   1, 0, 0
     libinput Click Methods Available (369): 1, 1
     libinput Click Method Enabled (370):    1, 0
     libinput Click Method Enabled Default (371):    1, 0
     libinput Middle Emulation Enabled (348):    0
     libinput Middle Emulation Enabled Default (349):    0
     libinput Accel Speed (350): 0.000000
     libinput Accel Speed Default (351): 0.000000
     libinput Accel Profiles Available (352):    1, 1
     libinput Accel Profile Enabled (353):   1, 0
     libinput Accel Profile Enabled Default (354):   1, 0
     libinput Left Handed Enabled (355): 0
     libinput Left Handed Enabled Default (356): 0
     libinput Send Events Modes Available (324): 1, 1
     libinput Send Events Mode Enabled (325):    0, 0
     libinput Send Events Mode Enabled Default (326):    0, 0
     Device Node (327):  "/dev/input/event18"
     Device Product ID (328):    2, 7
     libinput Drag Lock Buttons (357):   
     libinput Horizontal Scroll Enabled (358):   1

The List that appears is all the settings and their current values.

If you want to change a setting, look at the number in parentheses after the settings title, and then use it in the following syntax

For example, you want to enable natural scrolling:

xinput set-prop 13 339 1 

You can also use the Setting name, for example, enabling <Tapping> on my Synaptics track pad:

xinput set-prop 13 "libinput Tapping Enabled" 1

Update:

The options above aren't persisted after rebooting. To do that, you can add the settings to .xsessionrc

Related Posts

Leave a Reply

%d bloggers like this: