Well, this is not the direct answer, but a suggestion and examples.
If you run xinput
, you will get list of your devices. Then run xinput list-props $id
where $id
is your touchpad id in the list.
You will have a list of options like this:
$ xinput list-props 13
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (135): 1
Coordinate Transformation Matrix (137): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (268): 1
Device Accel Constant Deceleration (269): 2.500000
Device Accel Adaptive Deceleration (270): 1.000000
Device Accel Velocity Scaling (271): 12.500000
Synaptics Edges (292): 1765, 5371, 1637, 4453
Synaptics Finger (293): 25, 30, 0
Synaptics Tap Time (294): 180
Synaptics Tap Move (295): 234
Synaptics Tap Durations (296): 180, 180, 100
Synaptics ClickPad (297): 1
[...]
You can change all of these on-the-fly with xinput set-prop $id $propId $value
where $id
is the device id, $propId
is property id in brackets and $value
is what you want it to be. For example:
xinput set-prop 13 135 0
sets Device Enabled (135)
to 0
and this will disable the touchpad.
You will need descriptions of properties and a way to make your changes permanent.
Descriptions can be found in man synaptics
, but wait, they are in another cryptic format! Let's see why.
To make changes permanent, you need to create conf file in /etc/X11/xorg.conf.d
, for example 30-tochpad.conf
with contents like these:
Section "InputClass" # you can read more in `man xorg`
Identifier "all touchpads" # just a name for this config
MatchIsTouchpad "on" # enables this config for all detected touchpads
Driver "synaptics" # enables synaptics-specific options below
# This will disable the device
#Option "Ignore" "1"
# There are options that are generic for input-devices or mouse-like devices, see `man evdev`:
Option "ButtonMapping" "0 0 0 0 0 0 0" # i disabled all buttons here, for example
# Here go options from `man synaptics`
Option "VertTwoFingerScroll" "1"
Option "HorizTwoFingerScroll" "1"
Option "PalmDetect" "1"
Option "ClickPad" "0"
# ...etc...
EndSection
So, man synaptics
describes options for xorg.conf
and tells how they correspond to xinput list-props
output.
PS. I tried to configure trackpoint on my ThinkPad X220 to have only two-fingers-scroll enabled, without clicks or mouse movement. I failed. Maybe you will manage to do what you want (there was an option to disable everything but clicks, maybe Synaptics Off
).
Sources, more examples and unicorns:
https://wiki.ubuntu.com/X/Config/Input
https://wiki.archlinux.org/index.php/Touchpad_Synaptics
I had symptoms similar to yours regarding keys but not touchpad.
The solution I found was from Fixing Keyboard repeat problems in Kernel 4.13. Check it out to find a more comprehensive guide and explanations.
Writing showkeys
in a terminal showed that keycode 213 was being pressed and unpressed about once every second, explaining why keys held were being interrupted.
This is caused by the PEAQ WMI hotkeys
module, that I see you have running too.
So to fix the keyboard
I typed in a terminal
sudo rmmod peaq_wmi
and verified that this fixed my problem temporarily. To keep the setting after the computer is restarted, I typed
gedit /etc/modprobe.d/blacklist.conf
and added the following to the file
#spams ^@
blacklist peaq_wmi
(Note: I do not know if this module was important to the functioning of my computer in any way. I will personally make a note that if something on my pc doesn't work I can try to re-enable it. I'll also check in a month or two to see if I can re-enable it because an update has fixed the issue.)
To fix the touchpad
according to the post you can try similarly
sudo rmmod psmouse
sudo modprobe psmouse
and if this fixes the problem until next time you restard, you can do
gedit /etc/rc.local
and add these lines
/sbin/rmmod psmouse
/sbin/modprobe psmouse
Best Answer
Try this:
If it works add both the lines to:
But add them without the leading
sudo
. So the lines you'll add to/etc/rc.local
will look like:If
/etc/rc.local
ends with something likeexit 0
, make sure to add those lines before thatexit
line.