More to follow in due course.
More to follow in due course.
I’ve done a bit of tinkering. By default, Xorg seems to use the
libinput driver by default.
libinput doesn’t seem as if there are any scroll speed options available. However, if we switch to the
evdev driver, there are some options available, and I can already see improvement.
I’ll continue tweaking these settings and updating this post.
Step 1: Install the evdev driver from package management (ubuntu:
Step 2: Create
/etc/X11/xorg.conf.d/20-trackpad.conf with the contents below
Step 3: Reboot or restart Xorg
Section "InputClass" Identifier "HAILUCK CO.,LTD USB KEYBOARD Mouse" MatchIsPointer "1" MatchDevicePath "/dev/input/event*" Driver "evdev" # controls scroll speed Option "VertScrollDelta" "1" Option "HorizScrollDelta" "1" Option "DialDelta" "1" # controls pointer speed Option "ConstantDeceleration" "2.15" Option "AccelerationProfile" "2" Option "AdaptiveDeceleration" "1" EndSection
Thanks so much @joshwiththegoodhair
This is awesome.
It seems like the best solution so far. Great work! Thank you!
I actually ended up using the same solution I used back with the trackpoint on GPDP 1 – using right click + mouse movement to emulate scrolling. This works much better than any sort of scrolling speed adjustment for me. I would just need to press down at the right side of the touchpad, then move another finger over the touchpad.
I still can’t understand why on earth would they make a touchpad and then report it to system as a mouse, not a touch device. If it was a touchpad to the system, things can be much much better. We have much better driver support and gesture detection by software than what they can do on hardware.
Thanks for joining us here @PeterCxy and thank you so much for your efforts in providing the solution to fix touchscreen on Linux and providing the method to flash bios without needing Windows. This is excellent. I was originally thinking I’d need to keep windows just to do the bios and firmware upgrades coming from GPD. This saved me from needing Windows. Although I think I may wipe ssd and have small partition with Windows’s on dual boot just in case. Thanks again.
@PeterCxy - I’ve used the right click to scroll on my other GPD devices, but didn’t even think about it with a touchpad. It works surprisingly well (better than two-finger scroll for sure); thanks for the suggestion!
For anyone else wanting to try this (using the
evdev driver), I added the following options to the above mentioned Xorg config. Both the two-finger scrolling adjustments and the right click to scroll can coexist as well.
Option "EmulateWheel" "True" Option "EmulateWheelButton" "3" Option "EmulateWheelInertia" "8"
BTW the right-click-to-scroll emulation can also be used on GNOME Wayland with libinput by a hack: https://github.com/PeterCxy/scroll-emulation
Though I’m not using GNOME for now but in case anyone needs it
I found this solution, and it seems to be the best one so far:
Hi @joshwiththegoodhair is this in addition to the PTP upgrade?
What’s the PTP upgrade?
GPD released new Prescision Touchpad firmware. It needs to be installed using windows (unless there is another way to apply it) but I have confirmed that the device is now recognised in Linux after a reboot as a touchpad rather than a HiD compliant mouse and tbh it seems much better.
Thanks! I saw that and assumed it was just some sort of precision/certified driver for Windows. I’ll install in a few!
Would appreciate your feedback if you could tell us if you also notice an improvement and whether you think libinput_patch is still better as your a more advanced linux user than me. Thanks in advance.
WOW - that was a treat! The firmware update essentially made the touchpad fully compatible with the xorg Synaptics driver. This is the gold standard for touchpads, and there is soooo much that is configurable now! You definitely don’t need my above fix.
Device 'HAILUCK CO.,LTD USB KEYBOARD Touchpad': Device Enabled (167): 1 Coordinate Transformation Matrix (169): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (295): 1 Device Accel Constant Deceleration (296): 2.500000 Device Accel Adaptive Deceleration (297): 1.000000 Device Accel Velocity Scaling (298): 12.500000 Synaptics Edges (299): 40, 984, 40, 710 Synaptics Finger (300): 25, 30, 0 Synaptics Tap Time (301): 180 Synaptics Tap Move (302): 55 Synaptics Tap Durations (303): 180, 180, 100 Synaptics ClickPad (304): 1 Synaptics Middle Button Timeout (305): 0 Synaptics Two-Finger Pressure (306): 282 Synaptics Two-Finger Width (307): 7 Synaptics Scrolling Distance (308): 25, 25 Synaptics Edge Scrolling (309): 0, 0, 0 Synaptics Two-Finger Scrolling (310): 1, 0 Synaptics Move Speed (311): 1.000000, 1.750000, 0.157604, 0.000000 Synaptics Off (312): 0 Synaptics Locked Drags (313): 0 Synaptics Locked Drags Timeout (314): 5000 Synaptics Tap Action (315): 0, 0, 0, 0, 0, 0, 0 Synaptics Click Action (316): 1, 3, 2 Synaptics Circular Scrolling (317): 0 Synaptics Circular Scrolling Distance (318): 0.100000 Synaptics Circular Scrolling Trigger (319): 0 Synaptics Circular Pad (320): 0 Synaptics Palm Detection (321): 0 Synaptics Palm Dimensions (322): 10, 200 Synaptics Coasting Speed (323): 20.000000, 50.000000 Synaptics Pressure Motion (324): 30, 160 Synaptics Pressure Motion Factor (325): 1.000000, 1.000000 Synaptics Grab Event Device (326): 0 Synaptics Gestures (327): 1 Synaptics Capabilities (328): 1, 0, 0, 1, 1, 0, 0 Synaptics Pad Resolution (329): 17, 15 Synaptics Area (330): 0, 0, 0, 0 Synaptics Soft Button Areas (331): 512, 0, 615, 0, 0, 0, 0, 0 Synaptics Noise Cancellation (332): 6, 6 Device Product ID (291): 9610, 32 Device Node (290): "/dev/input/event10"
Glad you like
I recommend the utility
gpointing-device-settings to configure options from a GUI and
synclient for command-line.
Pretty sure this is standard in Ubuntu Mate 19.10
Mine looks very similar to that screenshot by default.
This is also a script I wrote a LONG time ago to tweak the settings on my 13" Dell XPS, but it describes the options (from man) as well as my notes (at the time): https://gist.github.com/joshskidmore/ef6d3c92f8b6ff3d89fefa2326b9b68a
I know I spent a lot of time working to get palm rejection just right, so hopefully that will carry over with the P2Max!
PS: All these settings can be set more permanently using Xorg config, but I preferred this script because I could easily tweak and re-run it.
Thanks for the update, now I need to nuke linux and reinstall windows >_<