How to *completely* disable laptop touchpad, without disabling trackpoint?

I run Devuan ASCII on my T400 laptop. I only use the trackpoint ("nipple mouse"). To me, the touchpad is just a nuisance.

I've discovered (by monitoring output of sudo cat /dev/input/event5 ) that the touchpad generates random input while the lid is closed. This causes applications that should run while the system is idle (e.g., xscreensaver) to never run while the lid is closed.

I've tried to disable the touchpad via xinput, synaptics and evtest ( evtest --grab /dev/input/event5 >/dev/null 2>&1 ), but none of these remedy the issue. The only remedy I've found is to unbind the touchpad's driver with this command:

# echo serio1 >/sys/bus/serio/drivers/psmouse/unbind

Unfortunately, the above command has the unacceptable side effect of simultaneously unbinding serio2, which renders my trackpoint ("nipple mouse") inoperable.

Please, do you know how to *completely* disable the touchpad (e.g., via unbinding its driver) without disabling the trackpoint?

P.S. Here is some relevant information:

bruno@thinkpad:~$ cat /proc/bus/input/devices
---snip---
I: Bus=0011 Vendor=0002 Product=0007 Version=01b1
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input6
U: Uniq=
H: Handlers=mouse0 event5
B: PROP=1
B: EV=b
B: KEY=420 30000 0 0 0 0
B: ABS=11000003

I: Bus=0011 Vendor=0002 Product=000a Version=0000
N: Name="TPPS/2 IBM TrackPoint"
P: Phys=synaptics-pt/serio0/input0
S: Sysfs=/devices/platform/i8042/serio1/serio2/input/input7
U: Uniq=
H: Handlers=mouse1 event6
B: PROP=21
B: EV=7
B: KEY=70000 0 0 0 0
B: REL=3
1 Like

Off hand, you do not need either devices when the laptop is closed.

Have you looked into disabling both when the laptop is closed and (re)enabling when opened?

1 Like

That's an excellent idea. It would be a nice solution if I could get it to work.

# echo serio1 >/sys/bus/serio/drivers/psmouse/unbind
# echo serio1 >/sys/bus/serio/drivers/psmouse/bind

The second command causes the terminal to hang and neither the touchpad nor the trackpoint are re-enabled.

1 Like

What happens if you attempt bind serio2 first when you (re)enable, before you attempt to (re)bind serio1 (since you have observed that when you unbind serio1, serio2 also unbinds)?

Neo, here you go:

# echo serio1 >/sys/bus/serio/drivers/psmouse/unbind
# echo serio2 >/sys/bus/serio/drivers/psmouse/bind
bash: echo: write error: No such device

By the way, I found a hardware solution. If I disconnect the touchpad's ribbon (it's just below the palmrest, trivial to get to and disconnect), it only disables the touchpad (and its two buttons); the trackpoint (and its three buttons just below the space bar) remain fully functional. Here is the relevant part of the output when the touchpad's ribbon is disconnected (notice that there's no "serio2" anywhere):

$ cat /proc/bus/input/devices
---snip---
I: Bus=0011 Vendor=0002 Product=000a Version=0000
N: Name="TPPS/2 IBM TrackPoint"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input6
U: Uniq=
H: Handlers=mouse0 event5 
B: PROP=21
B: EV=7
B: KEY=70000 0 0 0 0
B: REL=3

So it seems that on a hardware level the touchpad and trackpoint are indepedent; it is only on the software level that the trackpoint is always a child of the touchpad.

I'm still interested in finding a software solution.

1 Like

Understood... I prefer software solutions as well.

Time for me to get to sleep; so I leave you in the good hands of other team members.