Discussion:
why have I never known about synclient before?
(too old to reply)
Eli the Bearded
2018-01-14 20:20:16 UTC
Permalink
New laptop, Asus W202 (suggested by Stef in
<p1pogc$m32$***@gioia.aioe.org> of the topic "want to help me find a new
computer?" in linux.misc late last month). Installed Linux just fine,
once I changed the boot parameters in BIOS (F2 during start up). Not
quite as small as I would have liked, but small and cheap.

With a fresh install, the trackpad was registering only right and left
click buttons. This was Not Great, and so one of the first configuration
quests I needed to embark on here was Fix That.

The xinput tool identified the input device as "ELAN1201:00 04F3:3054
Touchpad". Nothing in /etc/X11 or /usr/share/X11 about Elan touchpads.
But some websearches later I found hints that it uses the synaptics driver:

https://wiki.archlinux.org/index.php/ASUS_x205ta
Explicitly assigning the 'synaptics' driver to 'Elan Touchpad' in
xorg.conf provides even more functionality (e.g., two-finger tap to
right click, etc.)

Then from here I learned about the synclient config tool:

https://askubuntu.com/questions/748729/making-custom-synaptics-touchpad-config-persistent-not-working

I'm struggling to make my custom touchpad persistent.

I very well know the config I want. Here's the command, using
synclient:

synclient RightButtonAreaLeft=0 RightButtonAreaTop=0 \
ClickTime=20 AccelFactor=0.3 MaxSpeed=2.5 PalmDetect=1 \
VertTwoFingerScroll=1 HorizTwoFingerScroll=1 VertEdgeScroll=0 \
HorizEdgeScroll=0

And wow! Nifty! "synclient -l" lists all the settings and with some
experimentation I got middle click working with:

synclient TapButton3=2 RightButtonAreaLeft=1800 \
MiddleButtonAreaRight=1799 MiddleButtonAreaTop=1495 \
MiddleButtonAreaLeft=1400

I've added that to my .xinitrc, right after the xmodmap settings.
(TapButton3=2 I now suspect is not useful.)

I never knew about that tool and I wish I had. Where can I find full
documentation on synclient?

The docs in man are spartan. The docs here:

https://www.x.org/archive/X11R7.5/doc/man/man4/synaptics.4.html

Don't incluse MiddleButton* directives. I found, quite by accident, that
the order of the settings for MiddleButtonArea* is significant. In the
wrong order, you just get error messages.

Elijah
------
boots to command line and starts x manually
Peter "Shaggy" Haywood
2018-01-23 11:44:32 UTC
Permalink
I apologise for the lateness of this followup! Since I see no other
responses to your query (which doesn't necessarily mean there haven't
been any, I know), I feel it is worth responding now.

Groovy hepcat Eli the Bearded was jivin' in comp.os.linux.misc on Mon,
15 Jan 2018 7:20 am. It's a cool scene! Dig it.
https://askubuntu.com/questions/748729/making-custom-synaptics-touchpad-config-persistent-not-working
Post by Eli the Bearded
I'm struggling to make my custom touchpad persistent.
You need to open /etc/X11/xorg.conf and make an "InputDevice" entry
for your touchpad. See below.
Post by Eli the Bearded
I very well know the config I want. Here's the command, using
synclient RightButtonAreaLeft=0 RightButtonAreaTop=0 \
ClickTime=20 AccelFactor=0.3 MaxSpeed=2.5 PalmDetect=1 \
VertTwoFingerScroll=1 HorizTwoFingerScroll=1 VertEdgeScroll=0
\ HorizEdgeScroll=0
And wow! Nifty! "synclient -l" lists all the settings and with some
synclient TapButton3=2 RightButtonAreaLeft=1800 \
MiddleButtonAreaRight=1799 MiddleButtonAreaTop=1495 \
MiddleButtonAreaLeft=1400
You probably want something like this (untested):

Section "InputDevice"
Identifier "synaptics"
Driver "synaptics"
Option "Device" "/dev/input/by-path/<name of your device goes here>"
Option "Protocol" "auto-dev"
Option "ClickTime" "20"
Option "AccelFactor" "0.3"
Option "MaxSpeed" "2.5"
Option "PalmDetect" "1"
Option "VertTwoFingerScroll" "1"
Option "HorizTwoFingerScroll" "1"
Option "VertEdgeScroll" "0"
Option "HorizEdgeScroll" "0"
Option "TapButton3" "2"
Option "RightButtonAreaLeft" "1800"
Option "RightButtonAreaTop" "0"
Option "MiddleButtonAreaLeft" "1799"
Option "MiddleButtonAreaTop" "1495"
Option "MiddleButtonAreaLeft" "1400"
EndSection

I prefer the following settings, though, on my Lenovo Ideapad S10e
(and similar settings on other laptops):

Section "InputDevice"
Identifier "synaptics"
Driver "synaptics"

Option "Device" "/dev/input/by-path/platform-i8042-serio-1-event-mouse"
Option "Protocol" "event"
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"
Option "VertEdgeScroll" "1"
Option "PalmDetect" "0"
Option "SHMConfig" "true"
Option "SendCoreEvents" "yes"
Option "HorizScrollDelta" "0"
Option "RBCornerButton" "0"
Option "RTCornerButton" "2"
EndSection
Post by Eli the Bearded
I've added that to my .xinitrc, right after the xmodmap settings.
(TapButton3=2 I now suspect is not useful.)
I never knew about that tool and I wish I had. Where can I find full
documentation on synclient?
https://www.x.org/archive/X11R7.5/doc/man/man4/synaptics.4.html
Don't incluse MiddleButton* directives. I found, quite by accident,
Try man synaptics and man xorg.conf.
Post by Eli the Bearded
that the order of the settings for MiddleButtonArea* is significant.
In the wrong order, you just get error messages.
My synaptics man page doesn't even list those options. It lists
the "SoftButtonAreas" option:

Option "SoftButtonAreas" "RBL RBR RBT RBB MBL MBR MBT MBB"

I assume that is equivalent though I've never used either.
--
----- Dig the NEW and IMPROVED news sig!! -----


-------------- Shaggy was here! ---------------
Ain't I'm a dawg!!
Eli the Bearded
2018-01-23 21:39:13 UTC
Permalink
Post by Peter "Shaggy" Haywood
I apologise for the lateness of this followup! Since I see no other
responses to your query (which doesn't necessarily mean there haven't
been any, I know), I feel it is worth responding now.
I didn't see any others either.
Post by Peter "Shaggy" Haywood
Groovy hepcat Eli the Bearded was jivin' in comp.os.linux.misc on Mon,
15 Jan 2018 7:20 am. It's a cool scene! Dig it.
Post by Eli the Bearded
https://askubuntu.com/questions/748729/making-custom-synaptics-touchpad-config-persistent-not-working
I'm struggling to make my custom touchpad persistent.
You need to open /etc/X11/xorg.conf and make an "InputDevice" entry
for your touchpad. See below.
That was quoted from the askubuntu site, not my own problem. I have no
problems making it "persistent" via my .xinitrc file.
Post by Peter "Shaggy" Haywood
Section "InputDevice"
Identifier "synaptics"
Driver "synaptics"
Option "Device" "/dev/input/by-path/<name of your device goes here>"
Option "Protocol" "auto-dev"
Option "ClickTime" "20"
Option "AccelFactor" "0.3"
Option "MaxSpeed" "2.5"
Option "PalmDetect" "1"
I gather PalmDetect requires hardware support. I have not tried enabling
it yet.
Post by Peter "Shaggy" Haywood
Post by Eli the Bearded
I never knew about that tool and I wish I had. Where can I find full
documentation on synclient?
https://www.x.org/archive/X11R7.5/doc/man/man4/synaptics.4.html
Try man synaptics and man xorg.conf.
The above link is the "man synaptics" page.
Post by Peter "Shaggy" Haywood
Post by Eli the Bearded
that the order of the settings for MiddleButtonArea* is significant.
In the wrong order, you just get error messages.
None of the docs seem to mention that parameter order matters. It's
probably the difference between expecting the whole set of changes is
applied in one atomic step, and all of the changes happening as separate
steps in the order encountered.
Post by Peter "Shaggy" Haywood
My synaptics man page doesn't even list those options. It lists
Option "SoftButtonAreas" "RBL RBR RBT RBB MBL MBR MBT MBB"
I assume that is equivalent though I've never used either.
Apparently not. Very similar though:

Option "SoftButtonAreas" "RBL RBR RBT RBB MBL MBR MBT MBB"
This option is only available on ClickPad devices. Enable
soft button click area support on ClickPad devices. The
first four parameters are the left, right, top, bottom edge
of the right button, respectively, the second four
parameters are the left, right, top, bottom edge of the
middle button, respectively. Any of the values may be given
as percentage of the touchpad width or height, whichever
applies. If any edge is set to 0 (not 0%), the button is
assumed to extend to infinity in the given direction.
Setting all values to 0 (not 0%) disables soft button
areas. Button areas may not overlap, however it is
permitted for two buttons to share an edge value.
Property: "Synaptics Soft Button Areas"

The settings I'm using are not percentages.

Elijah
------
software defined buttons are neat, but not as tactile-friendly

Loading...