====== Disable notebook touchpad in GNU/Linx ====== Following this recipe you can disable or enable the touchpad of your **GNU/Linux notebook** using the **command line**. I used it to control the touchpad of my **Teclast F6**, where the Fn key to disable the touchpad does not work. Install the **xinput** Debian package and run the following to list the X input devices: xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ Logitech USB Receiver Consumer Control id=8 [slave pointer (2)] ⎜ ↳ Logitech USB Receiver id=15 [slave pointer (2)] ⎜ ↳ SYNA3602:00 0911:5288 Touchpad id=11 [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)] ↳ Power Button id=7 [slave keyboard (3)] ↳ SHUNCCM2MP: SHUNCCM2MP id=10 [slave keyboard (3)] ↳ Intel HID events id=12 [slave keyboard (3)] ↳ Intel HID 5 button array id=13 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)] ↳ Logitech USB Receiver Consumer Control id=9 [slave keyboard (3)] The ask more info about input the touchpad (ID #11 in the above example): niccolo@ithaca:~$ xinput list-props 11 Device 'SYNA3602:00 0911:5288 Touchpad': Device Enabled (154): 1 Coordinate Transformation Matrix (156): 1.000000, ... Device Accel Profile (286): 1 ... The **Device Enabled** property has ID #154, we can disable it: xinput set-prop 11 154 0 Replace the **zero** with **1** to re-enable it. ===== Mapping Fn+ESC on the Teclast F6 ===== The ESC key on the **Teclast F6 notebook** has the blue label indicating that the shortcut **Fn+ESC** should trigger the **touchpad toggle** function, but it does not work in GNU/Linux. Using the **evtest** tool we can see that the Fn+ESC keys produces three events, i.e. it is the same as pressing three keys together: Event: time 1620808296.082667, -------------- SYN_REPORT ------------ Event: time 1620808298.469045, type 4 (EV_MSC), code 4 (MSC_SCAN), value 1d Event: time 1620808298.469045, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 1 Event: time 1620808298.469045, -------------- SYN_REPORT ------------ Event: time 1620808298.471997, type 4 (EV_MSC), code 4 (MSC_SCAN), value db Event: time 1620808298.471997, type 1 (EV_KEY), code 125 (KEY_LEFTMETA), value 1 Event: time 1620808298.471997, -------------- SYN_REPORT ------------ Event: time 1620808298.473572, type 4 (EV_MSC), code 4 (MSC_SCAN), value 76 Event: time 1620808298.473572, type 1 (EV_KEY), code 85 (KEY_ZENKAKUHANKAKU), value 1 The keys are **Left Control**, **Left Meta** (also known as //Left Windows Logo// key) and the key used to toggle from Zenkaku (full-width) to Hankaku (half-width) Japanese character spacing :-O Using **udev** I remapped the ''ZENKAKUHANKAKU'' key to the more useable **ESC** (see this page about **[[remap_keyboard_keys#customize_events_using_udev|customize udev events]]**): evdev:atkbd:dmi:* KEYBOARD_KEY_76=esc If you are interested, I have a more complete configuration file which I use also to swap the **Fn key** behaviour on function keys (I want them to work as first option, instead of multimedia buttons). See this page about **[[remap_keyboard_keys#configuration_example_for_the_teclast_f6_notebook|rempapping keyboard keys]]**. Finally, using the XFCE **Settings** => **Keyboard**, I associated the **Ctrl+Super+Escape** keyboard shortcut (where //Super// means //Left Windows Logo//) to the following shell script **/usr/local/bin/touchpad-toggle**: #!/bin/sh STATE="$(xinput --list-props 11 | egrep '^\s+Device Enabled' | rev | awk '{print $1}')" set_on() { xinput set-prop 11 154 1 echo "Touchpad enabled" } set_off() { xinput set-prop 11 154 0 echo "Touchpad disabled (pass \"1\" as first option to re-enable it)" } case "$1" in on|yes|1) set_on ;; off|no|0) set_off ;; *) if [ "$STATE" -eq "1" ]; then set_off else set_on fi ;; esac **NOTICE**: I usually use the **Left Windows Logo** key as the **compose key**, to type international characters. Unfortunately the compose key cannot be used into an XFCE keyboard shortcut, so I changed my compose key to the **Menu key** (the one at the right of the space). ===== Web References ===== * **[[https://www.nico.schottelius.org/blog/xorg-disable-touchpad-with-xinput/| How to disable the touchpad in Xorg with xinput]]**