3

I have done a lot of googling for disable touchpad click and disable touchpad while typing and found a lot of answers. However most of them are related to a desktop enviornment. I do not use a DE.

So, I need to:

  • Completely disable touchpad clicks always

and

  • Disable touchpad while typing (like scrolling, moving mouse)

3 Answers 3

1

Disable touchpad while typing (like scrolling, moving mouse)

I was able to achieve this by adding syndaemon -i 1 -d & to my ~/.xinitrc file.

The number 1 here is seconds, which is how long to to wait to activate the touchpad after the last key is pressed.

Completely disable touchpad clicks always

I was partially able to achieve this by adding Section "InputClass" Identifier "touchpad catchall" Driver "synaptics" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "MaxTapTime" "0" EndSection to /etc/X11/xorg.conf.d/10-synaptics.conf

I say partially here because it does prevent click on unwanted windows, but it does not prevent accidental activation on background windows by scrolling on them

0

If it is a Synaptics touchpad, its properties can be changed for running X server with synclient program, more info here and here. For example, to disable tap ("click") action, use

synclient TapButton1=0

To list available configuration options:

synclient -l

You might be particularly interested in

Option "TouchpadOff" "integer"
 Switch off the touchpad. Valid values are:
 0 Touchpad is enabled
 1 Touchpad is switched off
 2 Only tapping and scrolling is switched off
0

I use xinput

how to use xinput

xinput lists all the input devices currently recognized by your X-server. Find the one you are interested in and remember the id.

Next, list the properties of that device with xinput list-porps $input_id.

This looks scary, but really it is just a list of settings, that you can change.

Have a look at the properties and see if you find sth, that is interesting to you, remember the id of the property. With xinput set-prop $input_id $prop_id $new_value you can change the setting.

an example:

$ xinput
...
⎜   ↳ Touchpad                  id=12

...

My touchpad has the id 12. Let's check its properties:

$ xinput list-props 12
...
    libinput Disable While Typing Enabled (331):    1
...

The setting to disable the touchpad while typing has the id 331 and is enabled (value of 1), we now want to disable this setting

$ xinput set-prop 12 331 0

Now the touchpad should remain usable while typing.

important note

property changes you make with xinput are not permanent and are lost with the X-server, so if you want to have them everytime you must include them in your startup script. Sounds simple enough, however: The ids can change depending on what peripherals you have connected on startup, meaning if you sometimes have a mouse connected when you start and sometimes you don't the ids can be different, so you need to identify them every time.

This is how I do it:

ID=$(xinput list|grep touch -i|sed -nr 's/.*id=([0-9]*).*/\1/p')
IN_TAP=$(xinput list-props $ID|grep "Disable While"|grep -v "Default" |sed -nr 's/.*\(([0-9][0-9][0-9])\).*/\1/p')
xinput set-prop $ID $IN_TAP 1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .