2

My laptop has a wonky trackpoint that keeps on moving the mouse around.

When using xorg, i can use this command to shut it off: xinput -set-prop "AlpsPS/2 ALPS DualPoint Stick" "Device Enabled" 0

seems like xinput is not a thing on wayland? A quick search gave me libinput, but libinput gives me no possibility to shut down the trackpoint (as far as i can see)

So how would I turn off the trackpoint in wayland? Or is there maybe another way of doing this than xinput/libinput?

System info:

Toshiba Portege Z30A

Ubuntu 19.10 GNOME

*Update:

I found this discussion: https://gist.github.com/fghaas/3406be59095de212182f1803a503a64b#file-75-input-rules

Which seems to do exactly what I need, but I don't understand how to execute it. Could I get some help making sense of it? Where do I put what?

Eirik
  • 277
  • Right, xinput is a X11-only tool. I can't offhand write an answer, but a few possibilities that come to my mind: α) Did you look at Gnome settings for "Mouse and Touchpad"? There's an option to disable touchpad, I assume there should one for trackpoint too. β) Some options unfortunately have no an UI for them. So if α didn't work, you can find out which gsetting gets changed when UI disables touchpad, and try using dconf-editor to find an analogous setting for the trackpoint γ) if nothing helped, libinput has "quirks" subsystem, which can be used to ignore the device too. – Hi-Angel Dec 14 '19 at 09:03
  • δ) You can also blacklist the trackpoint driver. – Hi-Angel Dec 14 '19 at 10:06
  • There is no option to disable it in the settings. – Eirik Dec 21 '19 at 15:19
  • If you can direct me to something about these 'quirks'? or how to blacklist the driver, that would be helpful. – Eirik Dec 21 '19 at 15:20
  • I found this: https://gist.github.com/fghaas/3406be59095de212182f1803a503a64b#file-75-input-rules

    Which seems to be exactly what I look for, but I don't understand how to go about executing it. Maybe someone could help me ?

    – Eirik Dec 21 '19 at 15:42
  • No, what you linked is an udev rule, not libinput. Tbh, I don't know what is possible with udev regarding a trackpoint, maybe you could disable it. Anyway, here's an example of a libinput quirk usage. Judging by documentation for AttrEventCodeDisable, you can pass it a trackpoint movement event. Its name, in turn, you can get by executing evemu-record command, and trying to use the trackpoint. – Hi-Angel Dec 22 '19 at 00:25
  • Oh, I didn't notice you asked about how to blacklist a driver too. You can see examples here – Hi-Angel Dec 23 '19 at 05:46

3 Answers3

6

This worked for me today:

sudo gedit /etc/udev/rules.d/99-myfavoritetrackpoint.rules

In that file:

# ALPS DualPoint Stick: Ignore as input device
ATTRS{name}=="*DualPoint Stick", ENV{ID_INPUT}="", ENV{ID_INPUT_MOUSE}="", ENV{ID_INPUT_POINTINGSTICK}=""

If that's not your device name, you would probably do the following and look for your device name to replace in the above command:

sudo apt-get install libinput-tools
sudo libinput list-devices
  • Amazing! Thanks a billion! – Eirik Oct 10 '21 at 16:00
  • 2
    Works for ThinkPads too - # ALPS ThinkPad TrackPoint: Ignore as input device ATTRS{name}=="*TPPS/2 IBM TrackPoint", ENV{ID_INPUT}="", ENV{ID_INPUT_MOUSE}="", ENV{ID_INPUT_POINTINGSTICK}="" – Vojtech Cerveny Apr 30 '22 at 11:27
0

This worked for my HP Elitebook 8470p too:

sudo vim /etc/udev/rules.d/99-myfavoritetrackpoint.rules

then in the file:


ATTRS{name}=="PS/2 Generic Mouse", ENV{ID_INPUT}="", ENV{ID_INPUT_MOUSE}="", ENV{ID_INPUT_POINTINGSTICK}=""```

use: sudo apt-get install libinput-tools; sudo libinput list-devices to get the name of your pointing stick

Flint
  • 1
0

On recent Thinkpads ~2023 above solution didn't work for me. However with guidance from following post I could make it easily.

First find folder location of our device:

grep -a2 TrackPoint /proc/bus/input/devices

Then append 1 to the inhibited button and include folder /sys/ before the location of the output of the S: section, example:
S: Sysfs=/devices/platform/i8042/serio1/input/input5

As root:

echo 1 > /sys/devices/platform/i8042/serio1/input/input5/inhibited

Pit
  • 101