How do I stop the cursor jumping from desired location to the far left of the screen?

Solution 1:

Assuming that this is due to spuriously brushing of yr touchpad as you type, you can modify certain parameters, provided yr touchpad driver is well installed.

First list Xorg input devices.
Results are for my present machine and will be different in yr case.

$ xinput --list  # list of Xorg session input devices
⎡ Virtual core pointer                 id=2 [master pointer (3)]
⎜   ↳ Virtual core XTEST pointer       id=4 [slave pointer (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad       id=10 [slave pointer (2)]
⎜   ↳ PS/2 Generic Mouse               id=11 [slave pointer (2)]
⎣ Virtual core keyboard                id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard      id=5 [slave keyboard (3)]
    ↳ Power Button                     id=6 [slave keyboard (3)]
    ↳ Video Bus                        id=7 [slave keyboard (3)]
    ↳ Sleep Button                     id=8 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard     id=9 [slave keyboard (3)]
    ↳ HP WMI hotkeys                   id=12 [slave keyboard (3)]

As you can see the present touchpad is identified as "SynPS/2 Synaptics TouchPad", next, to list yr touchpad properties, do in terminal:

$ xinput --list-props "SynPS/2 Synaptics TouchPad" | grep -e Finger
# Replace "SynPS/2 Synaptics TouchPad" above with yr own touchpad description.
Synaptics Finger (275): 25, 30, 0
Synaptics Two-Finger Pressure (281):    282
Synaptics Two-Finger Width (282):   7
Synaptics Two-Finger Scrolling (285):   1, 1

To understand the listed properties in detail, look up $ man 4 synaptics.
"Synaptics Finger" is the property of interest here:

  • Finger Low = 25 <- when finger pressure drops below this value, the driver counts it as a release.
  • Finger High = 30 <- when finger pressure goes above this value, the driver counts it as a touch.

As you see I like to keep my touchpad on the sensitive side. You, on the other hand, probably want to tweak "Finger High" and set it to a higher value, 50 or 60 or more. It depends as much on yr hardware as it does on you. You just need to experiment to fine tune yr hardware to yr specific needs. For instance:

 $ xinput --set-prop [device number] "Synaptics Finger" 25 60 0

In my use-case [device number] would correspond to 10 (as seen above from $ xinput --list) I increased the property "FingerHigh" above from 30 to 60. That translates in yr touchpad becoming less sensitive to spurious contacts.

Another way to configure yr device on the fly, without the need to restart yr Xorg session, is to use the cli utility synclient. It queries and modifies Synaptics driver options. This would allow you to adjust touchpad features that are not be exposed via the GUI. One would adjust parameters via a terminal:

 $ synclient FingerHigh=60

See $ man synclient for more details.

Although that type of configuration is not permanent and will not survive a reboot, it will help you in experimenting with values. Once you're satisfied with device behavior, you can edit the file /usr/share/X11/xorg.conf.d/50-synaptics.conf (<- this is my own configuration file's name; yr filename may differ.)

Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"
        Option "..." "..."
        ...
        Option "FingerLow" "25"
        Option "FingerHigh" "60"
        ...
EndSection

That should make changes permanent across reboot, but those changes will likely be wiped out, when you perform a system or driver upgrade.

HTH. Feedback welcome.