You are not logged in.

#1 2012-04-24 04:54:41

cjtenny
Member
Registered: 2010-04-06
Posts: 4

Synaptics Overriding Settings

After updating, it seems the new synaptics driver isn't respecting the settings I have in /etc/X11/xorg.conf.d/10-synaptics.conf.

10-synaptics.conf:

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Option "TapButton1" "0"
        Option "TapButton2" "0"
        Option "TapButton3" "3"
	Option "PalmDetect" "1"
	Option "HorizTwoFingerScroll" "1"
	Option "MaxSpeed" "3"
	Option "AccelFactor" "0.20"
	Option "SHMConfig" "on"
	Option "CoastingSpeed" "0"
EndSection

cat /var/log/Xorg.0.log | grep synaptics:

[     3.778] (II) LoadModule: "synaptics"
[     3.778] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[     3.779] (II) Module synaptics: vendor="X.Org Foundation"
[     3.779] (II) Using input driver 'synaptics' for 'bcm5974'
[     4.197] (II) synaptics: bcm5974: found clickpad property
[     4.197] (--) synaptics: bcm5974: x-axis range -4460 - 5166
[     4.197] (--) synaptics: bcm5974: y-axis range -75 - 6700
[     4.197] (--) synaptics: bcm5974: pressure range 0 - 256
[     4.197] (--) synaptics: bcm5974: finger width range 0 - 16
[     4.197] (--) synaptics: bcm5974: buttons: left double triple
[     4.197] (--) synaptics: bcm5974: Vendor 0x5ac Product 0x236
[     4.198] (--) synaptics: bcm5974: touchpad found
[     4.213] (**) synaptics: bcm5974: (accel) MinSpeed is now constant deceleration 2.5
[     4.213] (**) synaptics: bcm5974: MaxSpeed is now 7.50
[     4.213] (**) synaptics: bcm5974: AccelFactor is now 0.200
[     4.219] (--) synaptics: bcm5974: touchpad found

Additionally, the driver is terribly picky about multiple fingers, meaning it's very hard to right click (two finger) or middle click (three finger) on my macbook pro 7,1 touchpad. It wasn't before the update, when I had 1.5.0-something.

Help? sad In the meantime, I can override settings by running synclient MaxSpeed=3 at login, but it sucks to have it broken and right/middle click are still basically impossible.

Thanks!

Offline

#2 2012-04-29 03:03:09

Feynman
Member
From: Atlanta, GA, USA
Registered: 2008-05-06
Posts: 24

Re: Synaptics Overriding Settings

I'm having similar issues.  For example, after restarting the X server,

$ cat /etc/X11/xorg.conf.d/10-synaptics.conf | grep -iw maxspeed 
	Option "MaxSpeed" "27"
$ synclient -l | grep -iw maxspeed
MaxSpeed                = 90

For some reason it keeps resetting to some crazy value for MaxSpeed.

Offline

#3 2012-04-29 12:59:09

cjtenny
Member
Registered: 2010-04-06
Posts: 4

Re: Synaptics Overriding Settings

A temporary fix was to downgrade everything to the following versions:

xf86-input-evdev 2.6.0-4
xf86-input-synaptics 1.5.0-1
xf86-video-nouveau 0.0.16_git20120106-1
xorg-luit 1.1.0-3
xorg-xkbcomp 1.2.3-1
xorg-setxkbmap 1.2.0-3
xorg-server-common 1.11.4-1
xorg-server 1.11.4-1
xorg-util-macros 1.16.2-1
xorg-server-devel 1.11.4-1
xorg-xauth 1.0.6-1
xorg-xgamma 1.0.4-3
xorg-xhost 1.0.4-3
xorg-xinput 1.5.3-2
xorg-xlsatoms 1.1.0-3
xorg-xmodmap 1.0.5-3

However, this is an ugly cover-up; the issue is still unresolved.

Offline

#4 2012-04-29 20:46:08

cfr
Member
From: Cymru
Registered: 2011-11-27
Posts: 7,143

Re: Synaptics Overriding Settings

Is it synaptics or the device driver in the kernel, do you think? I ask because I still get a maximum speed of 1.75 and two finger tapping still works OK. (Less sure about three finger because I use it less and always find that a bit hit and miss.) According to the manual page, synaptics takes defaults from the in-kernel device driver...

Note that I don't configure through an xorg config fragment but via a script in my home directory so that would still work anyway but I don't set the maximum speed at all - so 1.75 is just the default I'm getting.

Last edited by cfr (2012-04-29 20:47:45)


CLI Paste | How To Ask Questions

Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L

Offline

#5 2012-04-29 21:59:36

Feynman
Member
From: Atlanta, GA, USA
Registered: 2008-05-06
Posts: 24

Re: Synaptics Overriding Settings

If anybody else is having this problem and doesn't want to downgrade, I hacked together a quick bash script to extract the options from xx-synaptics.conf, turn them into the appropriate synclient commands, and output those commands to a new script.  I currently have xfce autorunning the synclient commands.  I just thought I'd share -- RUN THIS AT YOUR OWN RISK, and of course change the paths/files to fit your system and your liking.

I am pretty new at scripting, but this appears to be working.  Edited to add:  This assumes that the input config file contains only options for synaptics.  It won't work if, say, you have your synaptics config lumped with with xorg.conf.

$ cat /usr/local/bin/scripts/extract_opts 
#!/bin/bash

if [ "$(id -u)" -ne "0" ]; then
    echo "This must be run as root"
    exit 1
fi

syn_file="/etc/X11/xorg.conf.d/10-synaptics.conf"
output_file=/usr/local/bin/scripts/set_tpadopts
syn=`which synclient`

echo "#!/bin/bash" >$output_file
chmod +x $output_file

if [ -f $syn_file ]
then
    while read line; 
    do
	echo $line | sed -n "s:Option \"\([a-zA-Z0-9]*\)\" \"\(.*\)\":$syn \1=\2:p" >> $output_file
    done  < $syn_file
else
    echo "Nonexistant xorg config file $syn_file"
    exit 1
fi

This creates a second script designed to be run sometime during DE startup:

$ cat /usr/local/bin/scripts/set_tpadopts 
#!/bin/bash
/usr/bin/synclient LeftEdge=1746
/usr/bin/synclient RightEdge=5124
/usr/bin/synclient TopEdge=1640
/usr/bin/synclient BottomEdge=4496
/usr/bin/synclient FingerLow=25
/usr/bin/synclient FingerHigh=30
/usr/bin/synclient FingerPress=256
/usr/bin/synclient MaxTapTime=180
/usr/bin/synclient MaxTapMove=226
/usr/bin/synclient MaxDoubleTapTime=180
/usr/bin/synclient SingleTapTimeout=180
/usr/bin/synclient ClickTime=100
/usr/bin/synclient FastTaps=0
/usr/bin/synclient EmulateMidButtonTime=75
/usr/bin/synclient EmulateTwoFingerMinZ=282
/usr/bin/synclient EmulateTwoFingerMinW=7
/usr/bin/synclient VertScrollDelta=102
/usr/bin/synclient HorizScrollDelta=102
/usr/bin/synclient VertEdgeScroll=0
/usr/bin/synclient HorizEdgeScroll=0
/usr/bin/synclient CornerCoasting=0
/usr/bin/synclient VertTwoFingerScroll=1
/usr/bin/synclient HorizTwoFingerScroll=0
/usr/bin/synclient MinSpeed=0.3
/usr/bin/synclient MaxSpeed=27
/usr/bin/synclient AccelFactor=0.3
/usr/bin/synclient TrackstickSpeed=40
/usr/bin/synclient EdgeMotionMinZ=30
/usr/bin/synclient EdgeMotionMaxZ=160
/usr/bin/synclient EdgeMotionMinSpeed=1
/usr/bin/synclient EdgeMotionMaxSpeed=411
/usr/bin/synclient EdgeMotionUseAlways=0
/usr/bin/synclient TouchpadOff=0
/usr/bin/synclient LockedDrags=0
/usr/bin/synclient LockedDragTimeout=5000
/usr/bin/synclient RTCornerButton=0
/usr/bin/synclient RBCornerButton=0
/usr/bin/synclient LTCornerButton=0
/usr/bin/synclient LBCornerButton=0
/usr/bin/synclient TapButton1=1
/usr/bin/synclient TapButton2=2
/usr/bin/synclient TapButton3=3
/usr/bin/synclient ClickFinger1=1
/usr/bin/synclient ClickFinger2=1
/usr/bin/synclient ClickFinger3=1
/usr/bin/synclient CircularScrolling=0
/usr/bin/synclient CircScrollDelta=0.1
/usr/bin/synclient CircScrollTrigger=0
/usr/bin/synclient CircularPad=0
/usr/bin/synclient PalmDetect=1
/usr/bin/synclient PalmMinWidth=7
/usr/bin/synclient PalmMinZ=200
/usr/bin/synclient CoastingSpeed=2.25
/usr/bin/synclient CoastingFriction=50
/usr/bin/synclient PressureMotionMinZ=30
/usr/bin/synclient PressureMotionMaxZ=160
/usr/bin/synclient PressureMotionMinFactor=1
/usr/bin/synclient PressureMotionMaxFactor=1
/usr/bin/synclient GrabEventDevice=1
/usr/bin/synclient TapAndDragGesture=1
/usr/bin/synclient AreaLeftEdge=0
/usr/bin/synclient AreaRightEdge=0
/usr/bin/synclient AreaTopEdge=0
/usr/bin/synclient AreaBottomEdge=0
/usr/bin/synclient HorizHysteresis=8
/usr/bin/synclient VertHysteresis=8
/usr/bin/synclient ClickPad=0

This really isn't a solution, but I preferred doing this than dealing with downgrades until the bug is fixed.  Heck, I'm not even sure which package has the bug at the moment or I'd file a report.

Last edited by Feynman (2012-04-29 22:04:48)

Offline

#6 2012-04-30 09:18:01

Cdh
Member
Registered: 2009-02-03
Posts: 1,098

Re: Synaptics Overriding Settings

The most recent synaptics (1.5.99.904-1) has some other annoying problems:

For example while dragging the mouse pointer pressing the left touchpad button doesn't do anything. So when I want to select text I need to not touch the touchpad surface, then click the button, then select the text with the touchpad.

The tap-clicking feels not right too.


฿ 18PRsqbZCrwPUrVnJe1BZvza7bwSDbpxZz

Offline

#7 2012-05-04 17:21:03

cjtenny
Member
Registered: 2010-04-06
Posts: 4

Re: Synaptics Overriding Settings

I'm not sure, but given that the behavior was fixed when I downgraded synaptics, I'm guessing it's not the kernel driver? I think it was setting MaxSpeed to the device's possible erported MaxSpeed (just a guess). I tried using a script like Feynman suggested, but the mouse pointer (unreported above) would still frequently disappear on suspend/resume or when it was in the mood to do so, and so downgrading seemed the only option.

Yeah, dragging was sad too... and since I don't have a button separate from the touchpad surface (macbook pro), blurgh. Downgrading has made me a happy clam, though.

Offline

#8 2012-05-04 19:08:23

Cdh
Member
Registered: 2009-02-03
Posts: 1,098

Re: Synaptics Overriding Settings

I just upgraded to xf86-input-synaptics-git from AUR.

It just didn't include a proper /etc/X11/xorg.conf.d/10-synaptics.conf so I just copied the example.

Now the touchpad works well again.

# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
#   Option "OptionName" "value"
#
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*"
EndSection

Section "InputClass"
        Identifier "touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/mouse*"
        Option "Ignore" "on"
EndSection

# This option enables the bottom right corner to be a right button on
# non-synaptics clickpads.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Default clickpad buttons"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
EndSection

# This option disables software buttons on Apple touchpads.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Disable clickpad buttons on Apple touchpads"
        MatchProduct "Apple|bcm5974"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"
EndSection

฿ 18PRsqbZCrwPUrVnJe1BZvza7bwSDbpxZz

Offline

#9 2012-05-04 20:40:28

Feynman
Member
From: Atlanta, GA, USA
Registered: 2008-05-06
Posts: 24

Re: Synaptics Overriding Settings

I'm glad that it fixed your issue CDH, but upgrading to xf86-synaptics-git didn't work for me.  I copied the section to ignore duplicates with MatchDevicePath "/dev/input/mouse*" with no improvement.  Here is my current synaptics.conf:

$ cat /etc/X11/xorg.conf.d/10-synaptics.conf 

Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Option "LeftEdge" "1746"
	Option "RightEdge" "5124"
	Option "TopEdge" "1640"
       	Option "BottomEdge" "4496"
	Option "FingerLow" "25"
	Option "FingerHigh" "30"
	Option "FingerPress" "256"
	Option "MaxTapTime" "180"
	Option "MaxTapMove" "226"
	Option "MaxDoubleTapTime" "180"
	Option "SingleTapTimeout" "180"
	Option "ClickTime" "100"
	Option "FastTaps" "0"
	Option "EmulateMidButtonTime" "75"
	Option "EmulateTwoFingerMinZ" "282"
	Option "EmulateTwoFingerMinW" "7"
	Option "VertScrollDelta" "102"
	Option "HorizScrollDelta" "102"
	Option "VertEdgeScroll" "0"
	Option "HorizEdgeScroll" "0"
	Option "CornerCoasting" "0"
	Option "VertTwoFingerScroll" "1"
	Option "HorizTwoFingerScroll" "0"
	Option "MinSpeed" "0.3"
	Option "MaxSpeed" "28.5"
	Option "AccelFactor" "0.3"
	Option "TrackstickSpeed" "40"
	Option "EdgeMotionMinZ" "30"
	Option "EdgeMotionMaxZ" "160"
	Option "EdgeMotionMinSpeed" "1"
	Option "EdgeMotionMaxSpeed" "411"
	Option "EdgeMotionUseAlways" "0"
	Option "TouchpadOff" "0"
	Option "LockedDrags" "0"
	Option "LockedDragTimeout" "5000"
	Option "RTCornerButton" "0"
	Option "RBCornerButton" "0"
	Option "LTCornerButton" "0"
	Option "LBCornerButton" "0"
	Option "TapButton1" "1"
	Option "TapButton2" "2"
	Option "TapButton3" "3"
	Option "ClickFinger1" "1"
	Option "ClickFinger2" "1"
	Option "ClickFinger3" "1"
	Option "CircularScrolling" "0"
	Option "CircScrollDelta" "0.1"
	Option "CircScrollTrigger" "0"
	Option "CircularPad" "0"
	Option "PalmDetect" "1"
	Option "PalmMinWidth" "7"
	Option "PalmMinZ" "200"
	Option "CoastingSpeed" "2.25"
	Option "CoastingFriction" "50"
	Option "PressureMotionMinZ" "30"
	Option "PressureMotionMaxZ" "160"
	Option "PressureMotionMinFactor" "1"
	Option "PressureMotionMaxFactor" "1"
	Option "GrabEventDevice" "1"
	Option "TapAndDragGesture" "1"
	Option "AreaLeftEdge" "0"
	Option "AreaRightEdge" "0"
	Option "AreaTopEdge" "0"
	Option "AreaBottomEdge" "0"
	Option "HorizHysteresis" "8"
	Option "VertHysteresis" "8"
	Option "ClickPad" "0"
EndSection

Section "InputClass"
        Identifier "touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/mouse*"
        Option "Ignore" "on"
EndSection

The synaptics archwiki Gnome section https://wiki.archlinux.org/index.php/To … tics#GNOME indicated that Gnome may try to override some settings.  I'm using Xfce instead of gnome, but the behavior sounds similar.  I'll try to disable Xfce's mouse settings program (not sure how to do that yet..) and see what happens.

Last edited by Feynman (2012-05-05 00:10:25)

Offline

#10 2012-05-04 21:36:33

Cdh
Member
Registered: 2009-02-03
Posts: 1,098

Re: Synaptics Overriding Settings

Maybe we don't have the same issues...

(I am wondering, is X no still trying to load a file named original.10-synaptics.conf?)

In the git version there have been multiple issues fixed for me: Coasting works as expected again, clicking with the touchpad keys while dragging the mouse pointer works correctly and generally the touchpad_kcm control for kde works again, many parts of it wouldn't work with current synaptics, and the sensitivity has been fixed (I believe the tap-clicks feeling not right was due to too high sensitivity.). But maybe there are still unresolved issues.


฿ 18PRsqbZCrwPUrVnJe1BZvza7bwSDbpxZz

Offline

#11 2012-05-05 00:09:51

Feynman
Member
From: Atlanta, GA, USA
Registered: 2008-05-06
Posts: 24

Re: Synaptics Overriding Settings

Oops, I didn't mean to post that typo from my terminal (editing it out now), but in case that was the issue. I've moved those files in and out and restarted X with no change

Last edited by Feynman (2012-05-05 00:10:59)

Offline

#12 2012-09-29 13:29:20

satanas
Member
Registered: 2012-09-29
Posts: 2

Re: Synaptics Overriding Settings

I have a notebook HP dm4 and I had the same issue with my synaptic touchpad. After a lot of reading I realized that Xorg has new features, one of them is the  Pointer Acceleration. It basically try to set a correct velocity and acceleration for our pointer but it seems that synaptics try to do the same, resulting in a very weird behavior.

I didn't downgrade, what I did to solve this issue was comment MaxSpeed, MinSpeed and AccelFactor and choose my prefered acceleration profile and play with the ConstantDeceleration until I got a responsive pointer. I'm currently using xf86-input-synaptics 1.6.2-1.

Here is my final 10-synaptics.conf:

Section "InputClass"
    Identifier  "evdev touchpad catchall"
    Driver      "synaptics"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*" 
        Option      "Protocol" "auto-dev"
        Option      "SHMConfig" "true"
        # Edges
        Option      "LeftEdge" "1500"
        Option      "RightEdge" "5200"
        Option      "TopEdge" "1350"
        Option      "BottomEdge" "3500"
        # Finger press
        Option      "FingerLow" "28"
        Option      "FingerHigh" "45"
        Option      "FingerPress" "70"
        # Taps time
        Option      "MaxTapTime" "180"
        Option      "MaxTapMove" "220"
        Option      "MaxDoubleTapTime" "180"
        Option      "SingleTapTimeout" "180"
        Option      "ClickTime" "100"
        Option      "FastTaps" "0"
        # Emulate
        Option      "EmulateMidButtonTime" "75"
        Option      "EmulateTwoFingerMinZ" "70"
        Option      "EmulateTwoFingerMinW" "5"
        # Scrolling
        Option      "VertScrollDelta" "100"
        Option      "HorizScrollDelta" "0"
        Option      "VertEdgeScroll" "1"
        Option      "HorizEdgeScroll" "0"
        Option      "CornerCoasting" "0"
        Option      "VertTwoFingerScroll" "1"
        Option      "HorizTwoFingerScroll" "0"
        # Pointer speed
        #Option      "MinSpeed" "1"
        #Option      "MaxSpeed" "1"
        Option      "AccelerationProfile" "2"
        Option      "ConstantDeceleration" "3.5"
        #Option      "AccelFactor" "0.7"
        Option      "TrackstickSpeed" "0"
        Option      "EdgeMotionMinZ" "29"
        Option      "EdgeMotionMaxZ" "59"
        Option      "EdgeMotionMinSpeed" "1"
        Option      "EdgeMotionMaxSpeed" "40"
        Option      "EdgeMotionUseAlways" "0"
        # Scrolling flags
        Option      "UpDownScrolling" "0"
        Option      "LeftRightScrolling" "0"
        Option      "UpDownScrollRepeat" "0"
        Option      "LeftRightScrollRepeat" "0"
        # Touchpad mouse on/off
        Option      "TouchpadOff" "0"
        Option      "GuestMouseOff" "0"
        # Dragging
        Option      "LockedDrags" "0"
        Option      "LockedDragsTimeout" "5000"
        # Corners
        Option      "RTCornerButton" "0"
        Option      "RBCornerButton" "2"
        Option      "LTCornerButton" "0"
        Option      "LBCornerButton" "1"
        # Tap
        Option      "TapButton1" "1"
        Option      "TapButton2" "3"
        Option      "TapButton3" "2"
        # Click
        Option      "ClickFinger1" "1"
        Option      "ClickFinger2" "0"
        Option      "ClickFinger3" "0"
        # Circular
        Option      "CircularScrolling" "0"
        Option      "CircScrollDelta" "0.1"
        Option      "CircScrollTrigger" "0"
        Option      "CircularPad" "0"
        # Palm
        Option      "PalmDetect" "1"
        Option      "PalmMinWidth" "7"
        Option      "PalmMinZ" "40"
        Option      "CoastingSpeed" "0"
        # Grab
        Option      "GrabEventDevice" "1"
        Option      "TapAndDragGesture" "1"
        # Area
        Option      "AreaLeftEdge" "0"
        Option      "AreaRightEdge" "0"
        Option      "AreaTopEdge" "0"
        Option      "AreaBottomEdge" "3500"
EndSection

Section "InputClass"
    Identifier  "Ignore mouse devs"
    MatchDevicePath "/dev/input/mouse*"
    Driver      "synaptics"
    Option      "Ignore" "on"
EndSection

I hope this help you

Offline

#13 2012-09-29 13:33:17

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,414

Re: Synaptics Overriding Settings

satanas, there have been quite a few xorg-input-synaptics updates since this thread was last active.  So I suspect that the problem you were having is probably unrelated to the issue discussed here.


Edit:  BTW, welcome to the forums!

Last edited by WonderWoofy (2012-09-29 13:33:42)

Offline

#14 2012-09-29 13:47:19

satanas
Member
Registered: 2012-09-29
Posts: 2

Re: Synaptics Overriding Settings

WonderWoofy wrote:

satanas, there have been quite a few xorg-input-synaptics updates since this thread was last active.  So I suspect that the problem you were having is probably unrelated to the issue discussed here.


Edit:  BTW, welcome to the forums!

WonderWoofy, I'm pretty sure that xorg-input-synaptics has had lot of changes since then but there are two reasons that made me post the reply: 1) My symptoms were exactly the same and 2) this is an issue that can pass unnoticed if you don't touch the MaxSpeed and MinSpeed values at your 10-synaptics.conf.

I thought that my post could help to clarify the reason of why synaptics is overriding settings. That's it wink

Oh! and thanks for the welcome smile

Offline

Board footer

Powered by FluxBB