PINE64
Manjaro Arm users - What does your trackpad/keyboard conf file look like? - Printable Version

+- PINE64 (https://forum.pine64.org)
+-- Forum: Pinebook Pro (https://forum.pine64.org/forumdisplay.php?fid=111)
+--- Forum: Linux on Pinebook Pro (https://forum.pine64.org/forumdisplay.php?fid=114)
+--- Thread: Manjaro Arm users - What does your trackpad/keyboard conf file look like? (/showthread.php?tid=9200)



Manjaro Arm users - What does your trackpad/keyboard conf file look like? - Eggmonkey - 02-17-2020

So I'm using Manjaro for ARM with KDE and it is in general fantastic, so thank you very much to the team behind it.

I have one major issue - whatever I do my trackpad still isn't accurate.
I have run the firmware update described on the Manjaro forum - it helped a bit but I still find that the pointer keeps moving after I drag it across the screen.
I have experimented with the config file, any feedback is welcome:

[ivan@ivan ~]$  cat /etc/X11/xorg.conf.d/00-keyboard.conf     
# Written by systemd-localed(8), read by systemd-localed and Xorg. It's
# probably wise not to edit this file manually. Use localectl(1) to
# instruct systemd-localed to update it.
Section "InputClass"
       Identifier "system-keyboard"
       MatchIsKeyboard "on"
       Option "XkbLayout" "gb"
       Option "XkbModel" "pc105"
       Option "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

Section "InputClass"
       Identifier "touchpad catchall"
       Driver "synaptics"
       MatchIsTouchpad "on"
       MatchDevicePath "/dev/input/event*"
       Option "MinSpeed" "0.25"
       Option "FingerLow" "0.25"
       Option "PalmDetect" "1"
       Option "VertScrollDelta" "64"
       Option "HorizScrollDelta" "64"
       Option "ConstantDeceleration" "1"
       Option "CoastingFriction" "0"
       Option "HorizHysteresis" "0"
       Option "VertHysteresis" "0"
       Option "PressureMotionMinZ" "60"
       Option "PressureMotionMaxZ" "160"
EndSection



Would others mind catting the contents of their file?
And are you all using synaptics or just libinput?

Cheers.


RE: Manjaro Arm users - What does your keyboard conf file look like? - Eggmonkey - 02-27-2020

Bump - no on else experiencing this or tried to tweak this file to improve the trackpad?
Obviously I realise there are limitations with the hardware, but still doesn't stop me trying to make it better.


RE: Manjaro Arm users - What does your keyboard conf file look like? - Surehand53 - 04-17-2020

(02-27-2020, 04:18 PM)Eggmonkey Wrote: Bump - no on else experiencing this or tried to tweak this file to improve the trackpad?
Obviously I realise there are limitations with the hardware, but still doesn't stop me trying to make it better.

Hi.

I am using the Synaptics touchpad driver as well, and I have to say it works quite good now.

I have used it with Manjaro, openSuse and Ubuntu and they all behave pretty much the same, so I assume that the result works for all.
It is easy enough to set up, download the Xorg Synaptics driver, copy the .config file from /usr/share/X11/xorg.conf.d/70-synaptics.conf to /etc/X11/xorg.conf.d/70-synaptics.conf and modify it as you need.

Here are the synaptics parameter I have as an output from synclient:
Code:
  LeftEdge                = 56
   RightEdge               = 1344
   TopEdge                 = 49
   BottomEdge              = 865
   FingerLow               = 25
   FingerHigh              = 30
   MaxTapTime              = 250
   MaxTapMove              = 73
   MaxDoubleTapTime        = 180
   SingleTapTimeout        = 180
   ClickTime               = 100
   EmulateMidButtonTime    = 0
   EmulateTwoFingerMinZ    = 50
   EmulateTwoFingerMinW    = 5
   VertScrollDelta         = -33
   HorizScrollDelta        = -33
   VertEdgeScroll          = 0
   HorizEdgeScroll         = 0
   CornerCoasting          = 0
   VertTwoFingerScroll     = 1
   HorizTwoFingerScroll    = 0
   MinSpeed                = 1
   MaxSpeed                = 2.8
   AccelFactor             = 0.5
   TouchpadOff             = 2
   LockedDrags             = 0
   LockedDragTimeout       = 5000
   RTCornerButton          = 0
   RBCornerButton          = 0
   LTCornerButton          = 0
   LBCornerButton          = 0
   TapButton1              = 1
   TapButton2              = 3
   TapButton3              = 0
   ClickFinger1            = 1
   ClickFinger2            = 3
   ClickFinger3            = 2
   CircularScrolling       = 0
   CircScrollDelta         = 0.1
   CircScrollTrigger       = 0
   CircularPad             = 0
   PalmDetect              = 0
   PalmMinWidth            = 10
   PalmMinZ                = 200
   CoastingSpeed           = 20
   CoastingFriction        = 50
   PressureMotionMinZ      = 30
   PressureMotionMaxZ      = 160
   PressureMotionMinFactor = 1
   PressureMotionMaxFactor = 1
   GrabEventDevice         = 0
   TapAndDragGesture       = 1
   AreaLeftEdge            = 0
   AreaRightEdge           = 0
   AreaTopEdge             = 0
   AreaBottomEdge          = 0
   HorizHysteresis         = 8
   VertHysteresis          = 8
   ClickPad                = 1
   RightButtonAreaLeft     = 700
   RightButtonAreaRight    = 0
   RightButtonAreaTop      = 749
   RightButtonAreaBottom   = 0
   MiddleButtonAreaLeft    = 0
   MiddleButtonAreaRight   = 0
   MiddleButtonAreaTop     = 0
   MiddleButtonAreaBottom  = 0

And here is my /etc/X11/xorg.conf.d/70-synaptics.conf file:

Code:
Section "InputClass"
       Identifier "touchpad catchall"
       Driver "synaptics"
       MatchIsTouchpad "on"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
      MatchDevicePath "/dev/input/event*"
      Option "VertScrollDelta" "-33"
      Option "HorizScrollDelta" "-33"
      Option "TapButton1" "1"
      Option "TapButton2" "3"
      Option "TapButton3" "0"
      Option "MinSpeed" "0.25"
      Option "AccelFactor" "0.5"
      Option "EmulateTwoFingerMinZ" "50"
      Option "EmulateTwoFingerMinW" "5"
      Option "MaxTapTime" "250"


This could  be tweaked further, but all in all I am quite happy with it. I have the suspicion that some parameter are set outside of the .conf file, maybe from the KDE touchpad settings, so dependent of the distro you use you might want to copy more parameter from the full list to your .conf file.

(Small side note, it would probably be better if the title of this thread would reference touchpad, rather than keyboard)


RE: Manjaro Arm users - What does your keyboard conf file look like? - Eggmonkey - 04-18-2020

(04-17-2020, 10:58 AM)Surehand53 Wrote:
(02-27-2020, 04:18 PM)Eggmonkey Wrote: Bump - no on else experiencing this or tried to tweak this file to improve the trackpad?
Obviously I realise there are limitations with the hardware, but still doesn't stop me trying to make it better.

Hi.

I am using the Synaptics touchpad driver as well, and I have to say it works quite good now.

I have used it with Manjaro, openSuse and Ubuntu and they all behave pretty much the same, so I assume that the result works for all.
It is easy enough to set up, download the Xorg Synaptics driver, copy the .config file from /usr/share/X11/xorg.conf.d/70-synaptics.conf to /etc/X11/xorg.conf.d/70-synaptics.conf and modify it as you need.

Here are the synaptics parameter I have as an output from synclient:
Code:
  LeftEdge                = 56
   RightEdge               = 1344
   TopEdge                 = 49
   BottomEdge              = 865
   FingerLow               = 25
   FingerHigh              = 30
   MaxTapTime              = 250
   MaxTapMove              = 73
   MaxDoubleTapTime        = 180
   SingleTapTimeout        = 180
   ClickTime               = 100
   EmulateMidButtonTime    = 0
   EmulateTwoFingerMinZ    = 50
   EmulateTwoFingerMinW    = 5
   VertScrollDelta         = -33
   HorizScrollDelta        = -33
   VertEdgeScroll          = 0
   HorizEdgeScroll         = 0
   CornerCoasting          = 0
   VertTwoFingerScroll     = 1
   HorizTwoFingerScroll    = 0
   MinSpeed                = 1
   MaxSpeed                = 2.8
   AccelFactor             = 0.5
   TouchpadOff             = 2
   LockedDrags             = 0
   LockedDragTimeout       = 5000
   RTCornerButton          = 0
   RBCornerButton          = 0
   LTCornerButton          = 0
   LBCornerButton          = 0
   TapButton1              = 1
   TapButton2              = 3
   TapButton3              = 0
   ClickFinger1            = 1
   ClickFinger2            = 3
   ClickFinger3            = 2
   CircularScrolling       = 0
   CircScrollDelta         = 0.1
   CircScrollTrigger       = 0
   CircularPad             = 0
   PalmDetect              = 0
   PalmMinWidth            = 10
   PalmMinZ                = 200
   CoastingSpeed           = 20
   CoastingFriction        = 50
   PressureMotionMinZ      = 30
   PressureMotionMaxZ      = 160
   PressureMotionMinFactor = 1
   PressureMotionMaxFactor = 1
   GrabEventDevice         = 0
   TapAndDragGesture       = 1
   AreaLeftEdge            = 0
   AreaRightEdge           = 0
   AreaTopEdge             = 0
   AreaBottomEdge          = 0
   HorizHysteresis         = 8
   VertHysteresis          = 8
   ClickPad                = 1
   RightButtonAreaLeft     = 700
   RightButtonAreaRight    = 0
   RightButtonAreaTop      = 749
   RightButtonAreaBottom   = 0
   MiddleButtonAreaLeft    = 0
   MiddleButtonAreaRight   = 0
   MiddleButtonAreaTop     = 0
   MiddleButtonAreaBottom  = 0

And here is my /etc/X11/xorg.conf.d/70-synaptics.conf file:

Code:
Section "InputClass"
       Identifier "touchpad catchall"
       Driver "synaptics"
       MatchIsTouchpad "on"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
      MatchDevicePath "/dev/input/event*"
      Option "VertScrollDelta" "-33"
      Option "HorizScrollDelta" "-33"
      Option "TapButton1" "1"
      Option "TapButton2" "3"
      Option "TapButton3" "0"
      Option "MinSpeed" "0.25"
      Option "AccelFactor" "0.5"
      Option "EmulateTwoFingerMinZ" "50"
      Option "EmulateTwoFingerMinW" "5"
      Option "synclient MaxTapTime" "250"


This could  be tweaked further, but all in all I am quite happy with it. I have the suspicion that some parameter are set outside of the .conf file, maybe from the KDE touchpad settings, so dependent of the distro you use you might want to copy more parameter from the full list to your .conf file.

(Small side note, it would probably be better if the title of this thread would reference touchpad, rather than keyboard)

Thanks for your response surehand.

I ended up turning off Synaptics and just using libinput form the advice of others on this forum:


# Match on all types of devices but tablet devices and joysticks
Section "InputClass"
      Identifier "libinput pointer catchall"
      MatchIsPointer "on"
      MatchDevicePath "/dev/input/event*"
      Driver "libinput"
EndSection

Section "InputClass"
      Identifier "libinput keyboard catchall"
      MatchIsKeyboard "on"
      MatchDevicePath "/dev/input/event*"
      Driver "libinput"
EndSection

Section "InputClass"
      Identifier "libinput touchpad catchall"
      MatchIsTouchpad "on"
      MatchDevicePath "/dev/input/event*"
      Driver "libinput"
# This is the only "fancy" feature I have enabled: the right side of the
# touchpad emulates a scroll wheel on a mouse, press hard, move up and down.
Option "ScrollMethod" "edge"
EndSection



You're tempting me to go back to Synaptics and play around again now Tongue
Good point about the thread title, I'll try to change it.


RE: Manjaro Arm users - What does your trackpad/keyboard conf file look like? - akirakyle - 04-18-2020

See here for what I've learned so far about the touchpad. Currently the most relevant bit to a config fix is the touchpad dimensions fix which improves libinput's handling quite a bit as it relies on accurately knowing the touchpads physical dimensions.


RE: Manjaro Arm users - What does your trackpad/keyboard conf file look like? - manawyrm - 04-19-2020

@Eggmonkey
Big thanks for mentioning synaptics, your config works a lot better for me. 

I'm still trying to figure out how to get 2 finger clickpad handling to work correctly. 
Currently putting one finger down on the left bottom of the trackpad (where the left mouse button is) prohibits any movement of the cursor with a second finger. (and sends a VerticalScroll). Any idea how I might fix that?


RE: Manjaro Arm users - What does your trackpad/keyboard conf file look like? - belfastraven - 04-19-2020

(04-19-2020, 07:46 AM)manawyrm Wrote: @Eggmonkey
Big thanks for mentioning synaptics, your config works a lot better for me. 

I'm still trying to figure out how to get 2 finger clickpad handling to work correctly. 
Currently putting one finger down on the left bottom of the trackpad (where the left mouse button is) prohibits any movement of the cursor with a second finger. (and sends a VerticalScroll). Any idea how I might fix that?

I am NOT running the synaptics driver, on Manjaro 20.04 KDE Plasma,  and touch and drag works fine for me.  If you are on KDE,  you can go to touchpad in system settings and enable "click and drag".   You  also have the capability to enable/disable two-fingered scroll.  I believe the settings module is a bit different for xfce,  perhaps someone else will chime in if enabling click and drag is different there.   I do have all of firmware updates from  Jack Humbert's github applied.  (github.com/jackhumbert).  If you already have the first two steps applied,  you can apply just step three which coorects the dimensions of the trackpad...


RE: Manjaro Arm users - What does your trackpad/keyboard conf file look like? - Surehand53 - 04-21-2020

(04-19-2020, 07:46 AM)manawyrm Wrote: @Eggmonkey
Big thanks for mentioning synaptics, your config works a lot better for me. 

I'm still trying to figure out how to get 2 finger clickpad handling to work correctly. 
Currently putting one finger down on the left bottom of the trackpad (where the left mouse button is) prohibits any movement of the cursor with a second finger. (and sends a VerticalScroll). Any idea how I might fix that?

I think you have to double click with two fingers to get a right click.
It seems the standard time for the right click (double finger click) is quite short, so if you concentrate and do a click with two fingers very quickly it should work.

I played a bit around with the parameters and MaxTapTime=250 works much better for me.
You can try it out with:

Code:
synclient MaxTapTime=250


If it works for you, you can add it to the /etc/X11/xorg.conf.d/70-synaptics.conf configuration file.