2

I have an MSI laptop that has a touchpad that is WAY too wide. Part of my right hand rests on the touchpad, and I often accidentally move the cursor when my hand rubs against the touchpad. It is driving me crazy.

I want to disable the right edge of my touchpad. I have already used the "disable touchpad while typing" feature in Gnome Tweaks, but that doesn't fix the problem because my hand rubs against the touchpad, thus moving the cursor, just before I start typing. I tried the steps listed in Can you disable PART of a touchpad?, but I do not believe that my system uses Synaptics drivers.

xinput list

⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ PNP0C50:00 06CB:CDAA Mouse id=12 [slave pointer (2)] ⎜ ↳ PNP0C50:00 06CB:CDAA Touchpad id=13 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Video Bus id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Power Button id=8 [slave keyboard (3)] ↳ Sleep Button id=9 [slave keyboard (3)] ↳ Intel HID 5 button array id=14 [slave keyboard (3)] ↳ Intel HID events id=15 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=16 [slave keyboard (3)] ↳ MSI WMI hotkeys id=18 [slave keyboard (3)]

xinput --list-props "PNP0C50:00 06CB:CDAA Touchpad"

Device 'PNP0C50:00 06CB:CDAA Touchpad':
    Device Enabled (187):   1
    Coordinate Transformation Matrix (189): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Tapping Enabled (338): 1
    libinput Tapping Enabled Default (339): 0
    libinput Tapping Drag Enabled (340):    1
    libinput Tapping Drag Enabled Default (341):    1
    libinput Tapping Drag Lock Enabled (342):   0
    libinput Tapping Drag Lock Enabled Default (343):   0
    libinput Tapping Button Mapping Enabled (344):  1, 0
    libinput Tapping Button Mapping Default (345):  1, 0
    libinput Natural Scrolling Enabled (322):   0
    libinput Natural Scrolling Enabled Default (323):   0
    libinput Disable While Typing Enabled (346):    1
    libinput Disable While Typing Enabled Default (347):    1
    libinput Scroll Methods Available (324):    1, 1, 0
    libinput Scroll Method Enabled (325):   1, 0, 0
    libinput Scroll Method Enabled Default (326):   1, 0, 0
    libinput Click Methods Available (348): 1, 1
    libinput Click Method Enabled (349):    1, 0
    libinput Click Method Enabled Default (350):    1, 0
    libinput Middle Emulation Enabled (351):    0
    libinput Middle Emulation Enabled Default (352):    0
    libinput Accel Speed (329): 0.382353
    libinput Accel Speed Default (330): 0.000000
    libinput Left Handed Enabled (334): 0
    libinput Left Handed Enabled Default (335): 0
    libinput Send Events Modes Available (307): 1, 1
    libinput Send Events Mode Enabled (308):    0, 0
    libinput Send Events Mode Enabled Default (309):    0, 0
    Device Node (310):  "/dev/input/event10"
    Device Product ID (311):    1739, 52650
    libinput Drag Lock Buttons (336):   <no items>
    libinput Horizontal Scroll Enabled (337):   1
  • So, I don't believe there's a way to do that with libinput. I don't see any property in the list that could help. And I also cursory looked through libinput quirks and haven't found anything to that effect. Perhaps only if AttrTouchSizeRange? I'm not sure what that does. I think you might want to create a feature request on the libinput issue tracker. – Hi-Angel Mar 28 '21 at 14:03
  • @Hi-Angel Thank you for your comment. I ended up switching to synaptics, and it seems like that set of drivers does what I need. I posted the commands I used in case anyone else could use them. I agree that libinput should add this feature. – arandano Mar 29 '21 at 04:03
  • I presume, you're aware that synaptics is long obsolete and unmaintained? – Hi-Angel Mar 29 '21 at 06:22

1 Answers1

1

I ended up switching from libinput to synaptics for the touchpad driver. Synaptics has many functions that libinput lacks, and disabling a section of the touchpad is one of them. Fine-tuning the "disable touchpad while typing" time interval is also a useful Synaptics feature.

#disabling right part of touchpad

#install synaptics drivers sudo apt install xserver-xorg-input-synaptics reboot xinput list-props "PNP0C50:00 06CB:CDAA Touchpad" xinput list-props "PNP0C50:00 06CB:CDAA Touchpad"|grep Edges #check the right edge dimension for the touchpad synclient -l | grep RightEdge #change the right edge boundary (and add this to startup programs) synclient AreaRightEdge=900 #adjust cursor speed (and add this to startup programs) xinput --set-prop "PNP0C50:00 06CB:CDAA Touchpad" "Device Accel Constant Deceleration" 1.05 #disable touchpad while typing (disable touchpad for 1 second after each keypress - add this to startup programs) syndaemon -i 1 -t -K -R -d