You are not logged in.

#1 2020-02-04 13:53:44

k395
Member
Registered: 2020-01-29
Posts: 37

How to disable the track point movement without disabling the buttons?

The question is in the title.

I can disable the track point (pointing stick) with `xinput disable <id>` or the BIOS option, but that would disable the mouse buttons too.

-----

My real problem is that sometimes the touchpoint moves the mouse spuriously (this is a known issue with touchpoints), but that would disable input with the mouse. Since I don't use the touchpoint anyway I figure out the easiest way would be to disable it.

Last edited by k395 (2020-02-04 13:58:16)

Offline

#2 2020-02-04 14:06:12

Ropid
Member
Registered: 2015-03-09
Posts: 1,068

Re: How to disable the track point movement without disabling the buttons?

You can use the property named "Coordinate Transformation Matrix" to make it so the pointer can't move. This wouldn't disable the device. It would just make it so the pointer won't move.

The default value for that matrix is this set of nine numbers here:

1 0 0
0 1 0
0 0 1

To make it so it can't move the pointer, you can use this matrix here:

0 0 0
0 0 0
0 0 1

The xinput command line to set the matrix looks for example like this:

xinput set-prop 8 'Coordinate Transformation Matrix' 0 0 0 0 0 0 0 0 1

This would disable pointer movement for the device with id "8".

To put it back to normal again, the command line would look like this:

xinput set-prop 8 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1

Offline

#3 2020-02-04 14:07:07

schard
Member
From: Hannover
Registered: 2016-05-06
Posts: 1,900
Website

Re: How to disable the track point movement without disabling the buttons?

I doubt, that this is possible without modifying the corresponding driver.
The system seems to detect the trackpoint and its buttons as one single input device.
Afaik, your only option is to disable the (whole) device or don't.

Edit: Too slow. See above for a possible hack.

Last edited by schard (2020-02-04 14:07:41)

Offline

#4 2020-02-04 14:09:30

k395
Member
Registered: 2020-01-29
Posts: 37

Re: How to disable the track point movement without disabling the buttons?

Ropid wrote:

The xinput command line to set the matrix looks for example like this:

xinput set-prop 8 'Coordinate Transformation Matrix' 0 0 0 0 0 0 0 0 1

This would disable pointer movement for the device with id "8".


That works, but unfortunately doesn't solve the real problem. When there's any input on the touchpoint, the touchpad is unusable.

Offline

#5 2020-02-07 08:14:38

k395
Member
Registered: 2020-01-29
Posts: 37

Re: How to disable the track point movement without disabling the buttons?

This could be achieved by writing some program to grab the device, then only forward the click events to the OS.

It isn't a simple configuration, however.

Offline

#6 2020-03-20 04:41:53

k395
Member
Registered: 2020-01-29
Posts: 37

Re: How to disable the track point movement without disabling the buttons?

After some more research, there's no easy way.

https://unix.stackexchange.com/question … ting-stick -- disable both, doesn't help.
https://askubuntu.com/questions/1121773 … ep-buttons -- no answers.
https://askubuntu.com/questions/370505/ … nkpad-e531 -- method specific to touchpad.
Set track point acceleration speed -- minimum value is -1.

So this is a script to do that (edit event21 accordingly)

sudo evtest --grab /dev/input/event21 | perl -ne 'system("xdotool mouse".($2?"down ":"up ").($1-271)) if /Event:.*code (.*) \(BTN.* value (.)/'

It's pretty inefficient but works well-enough.

A more efficient way would be to write everything in a compiled program and do not invoke a subprocess every time a click is performed.

Last edited by k395 (2020-03-20 04:48:32)

Offline

#7 2021-02-28 13:05:59

WSDEs via FOSS
Member
Registered: 2021-02-28
Posts: 7

Re: How to disable the track point movement without disabling the buttons?

Thank you, this solution has worked for me so far: my buttons still work but the Trackpoint is no longer disrupting the pointer and preventing me from using the Trackpad.

You were very helpful - I'm very happy as my system was sent in for repair once already and they didn't solve the problem having replaced the Trackpad and cable.

This saves me sending it in again to repair the Trackpoint which I never use anyway.


This page was also helpful: https://techne.alaya.net/?p=19017

Ropid wrote:

You can use the property named "Coordinate Transformation Matrix" to make it so the pointer can't move. This wouldn't disable the device. It would just make it so the pointer won't move.

The default value for that matrix is this set of nine numbers here:

1 0 0
0 1 0
0 0 1

To make it so it can't move the pointer, you can use this matrix here:

0 0 0
0 0 0
0 0 1

The xinput command line to set the matrix looks for example like this:

xinput set-prop 8 'Coordinate Transformation Matrix' 0 0 0 0 0 0 0 0 1

This would disable pointer movement for the device with id "8".

To put it back to normal again, the command line would look like this:

xinput set-prop 8 'Coordinate Transformation Matrix' 1 0 0 0 1 0 0 0 1

Last edited by WSDEs via FOSS (2021-02-28 13:08:18)

Offline

Board footer

Powered by FluxBB