In case you have Manjaro installed and your touchpad does not have the Tap-to-click ability, then the following suits you if you would wish to enable it via the command line. Before that, lets have a moment to enjoy some food for thought..
“Be content with what you have;
rejoice in the way things are.
When you realize there is nothing lacking,
the whole world belongs to you.”
— Lao Tzu
Enabling Tap-to-click function
# xinput set-prop [device number] [option number] [setting]
To get the value of [device number], enter the following on the terminal:
sudo xinput list
You will get something that resembles the following:
Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad 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)]
↳ HP Webcam-101: HP Webcam-101 id=9 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)]
↳ HP WMI hotkeys id=12 [slave keyboard (3)]
Looking carefully, you will see something related to Synaptics from the output. Mine is "SynPS/2 Synaptics TouchPad."
It has an id of 11 as it can be clearly seen. This is the [device number]
value.
To get the value of [option number]
of the device, do:
xinput list-props 11
The following will be the output:
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (142): 1
Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (278): 0
libinput Tapping Enabled Default (279): 0
libinput Tapping Drag Enabled (280): 1
libinput Tapping Drag Enabled Default (281): 1
libinput Tapping Drag Lock Enabled (282): 0
libinput Tapping Drag Lock Enabled Default (283): 0
libinput Tapping Button Mapping Enabled (284): 1, 0
libinput Tapping Button Mapping Default (285): 1, 0
libinput Natural Scrolling Enabled (286): 0
libinput Natural Scrolling Enabled Default (287): 0
libinput Disable While Typing Enabled (288): 1
libinput Disable While Typing Enabled Default (289): 1
libinput Scroll Methods Available (290): 1, 1, 0
libinput Scroll Method Enabled (291): 1, 0, 0
libinput Scroll Method Enabled Default (292): 1, 0, 0
libinput Accel Speed (293): 0.000000
libinput Accel Speed Default (294): 0.000000
libinput Left Handed Enabled (295): 0
libinput Left Handed Enabled Default (296): 0
libinput Send Events Modes Available (263): 1, 1
libinput Send Events Mode Enabled (264): 0, 0
libinput Send Events Mode Enabled Default (265): 0, 0
Device Node (266): "/dev/input/event5"
Device Product ID (267): 2, 7
libinput Drag Lock Buttons (297):
libinput Horizontal Scroll Enabled (298): 1
Look into the output and find “Tapping enabled” Option. From the output above we have "libinput Tapping Enabled (278): 0."
From that, we get the value of [option number]
and value which are 278
and 0
respectively. The 0
is a binary value which means that it is disabled. Another way of checking whether the Tapping option is disabled or enabled, do enter the following on your terminal:
sudo libinput list-devices
You will get a long list of output and for the sake of the article, I have extracted the part related to the Touchpad
----
Device: SynPS/2 Synaptics TouchPad
Kernel: /dev/input/event5
Group: 8
Seat: seat0, default
Size: 82x42mm
Capabilities: pointer
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: none
Disable-w-typing: enabled
Accel profiles: none
Rotation: n/a
----
From the output, you can see that Tap-to-click
is disabled.
Back to enabling the Tap-to-click functionality, we now have all of the variabled we need to enable it.
Do the following to enable Tap-to-click
# xinput set-prop 11 278 1
Where,
11
is the device number
278
is the device option number and
1
is the binary “True” to enable Tap-to-click
Looking back to see if the functionality is enabled, enter the following on your terminal as previously done:
# xinput list-props 11
The output will look like the following:
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (142): 1
Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (278): 1
libinput Tapping Enabled Default (279): 0
libinput Tapping Drag Enabled (280): 1
libinput Tapping Drag Enabled Default (281): 1
libinput Tapping Drag Lock Enabled (282): 0
libinput Tapping Drag Lock Enabled Default (283): 0
libinput Tapping Button Mapping Enabled (284): 1, 0
libinput Tapping Button Mapping Default (285): 1, 0
libinput Natural Scrolling Enabled (286): 0
libinput Natural Scrolling Enabled Default (287): 0
libinput Disable While Typing Enabled (288): 1
libinput Disable While Typing Enabled Default (289): 1
libinput Scroll Methods Available (290): 1, 1, 0
libinput Scroll Method Enabled (291): 1, 0, 0
libinput Scroll Method Enabled Default (292): 1, 0, 0
libinput Accel Speed (293): 0.000000
libinput Accel Speed Default (294): 0.000000
libinput Left Handed Enabled (295): 0
libinput Left Handed Enabled Default (296): 0
libinput Send Events Modes Available (263): 1, 1
libinput Send Events Mode Enabled (264): 0, 0
libinput Send Events Mode Enabled Default (265): 0, 0
Device Node (266): "/dev/input/event5"
Device Product ID (267): 2, 7
libinput Drag Lock Buttons (297):
libinput Horizontal Scroll Enabled (298): 1
From the output, "libinput Tapping Enabled (278): 1"
declares that Tap-to-click
is enabled.