Touchpad stops working when a key is pressed/held #

I’ve seen this happen on various machines and various Linux distros and I keep forgetting the exact way to control the behavior, so a blog post is due.

Essentially on an Xorg setup the default behavior for touchpads is to stop pointer activity as soon as a keyboard button is pressed or held.

If for example you wanted to relax a bit and play an Openarena match, you will quickly discover that when you use WASD to move in-game, the touchpad gets “locked” and you cannot look around … until you stop moving.

Solution #

Input devices on an Xorg machine are handled by the xinput utility. You can configure these devices to a usually very high detail, but you need to know how.

To start with, you’ve got to find your device. Run

xinput list

(or just xinput)

and you will get back a detailed listing of input devices. Each will have its ID listed like so

...
⎜   ↳ SynPS/2 Synaptics TouchPad              	id=12	[slave  pointer  (2)]
...

(in this example it’s id=12). Find your device in the list and remember that ID.

To see what properties can be configured for this device, run

xinput list-props 12

among which you can find, for example, something like

libinput Disable While Typing Enabled (355):	1

where the 355 represents the ID of that one specific setting, and the 1 represents what it is set to at the moment (1 meaning true since this setting is boolean).

To disable it, I run

xinput set-prop 12 355 0

and to confirm the settings has been applied I can do

xinput list-props 12

again.

That’s it. Feel free to explore various settings and look them up and BE CAREFUL not to change things you don’t understand.