synaptics click both buttons to get middle?
peter.hutterer at who-t.net
Wed Aug 30 00:56:46 UTC 2017
On Tue, Aug 29, 2017 at 08:51:34AM -0500, Jeremy C. Reed wrote:
> On Tue, 15 Aug 2017, Peter Hutterer wrote:
> > judging by pictures for the Inspiron 5000, you do *not* have a
> > physical right button, the device only has a left button and the right
> > button is emulated based on the device being detected as clickpad
> > (most likely anyway, check the log for SoftButtonAreas settings).
> > That also limits the middle button emulation, synaptics does not have
> > two-finger middle button emulation on clickpads. And ad-hoc I'm not
> > even sure it could easily do that, the whole multitouch implementation
> > in synaptics is a tad messy. But the default config should give you a
> > middle button area anyway in the center of the touchpad - don't you
> > have that?
> Thanks for the response.
> My log has:
> $ grep -2 -i SoftButtonAreas /var/log/Xorg.0.log
> [484187.476] (--) synaptics: DELL0742:00 06CB:7E92 Touchpad: invalid pressure range. defaulting to 0 - 255
> [484187.476] (--) synaptics: DELL0742:00 06CB:7E92 Touchpad: invalid finger width range. defaulting to 0 - 15
> [484187.476] (**) Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
^^^ this was your problem, the 4 zeros mean you don't have a middle mouse
button. look up the synaptics man page, you can configure that statically
instead of having to play with xinput.
> [484187.476] (--) synaptics: DELL0742:00 06CB:7E92 Touchpad: touchpad found
> [484187.476] (**) DELL0742:00 06CB:7E92 Touchpad: always reports core events
> [484187.572] (--) synaptics: SynPS/2 Synaptics TouchPad: buttons: left double triple
> [484187.572] (--) synaptics: SynPS/2 Synaptics TouchPad: Vendor 0x2 Product 0x7
> [484187.572] (**) Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
> [484187.572] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
> [484187.572] (**) SynPS/2 Synaptics TouchPad: always reports core events
> I have:
> $ synclient -l | grep -i ButtonArea
fwiw, synclient doesn't work well for multiple touchpads, see below.
> RightButtonAreaLeft = 3471
> RightButtonAreaRight = 0
> RightButtonAreaTop = 4028
> RightButtonAreaBottom = 0
> MiddleButtonAreaLeft = 0
> MiddleButtonAreaRight = 0
> MiddleButtonAreaTop = 0
> MiddleButtonAreaBottom = 0
> $ xinput --list-props "DELL0742:00 06CB:7E92 Touchpad" | grep Soft.Button
> Synaptics Soft Button Areas (334): 614, 0, 761, 0, 0, 0, 0, 0
> (I am still confused why xinput and X see two different touchpads for
> the same physical hardware. There is also a third touch device which is
> the display itself.)
your kernel initializes two devices, one for the legacy ps2 protocol, one
for the new rmi4 one. That's expected, you won't see events from the ps2
device. synclient though only handles the first device it sees (there's a
bug open for it somewhere) so you may be setting the wrong device.
> Thank you much for the hints. I was able to configure a middle button
> xinput --set-prop "DELL0742:00 06CB:7E92 Touchpad" "Synaptics Soft Button Areas" "859" 0 "761" 0 "614" "859" "761" 0
> resulting in:
> Synaptics Soft Button Areas (334): 859, 0, 761, 0, 614, 859, 761, 0
> I can now paste by pressing this bottom middle-right area of my
> By the way, I first tried to use percentages like
> xinput --set-prop "DELL0742:00 06CB:7E92 Touchpad" "Synaptics Soft Button Areas" "70%" 0 "82%" 0 "50%" "70%" "82%" 0
> But that resulted in not percent of pad but literal top small area of
> pad available for mouse pointer movement. My synaptics(4) manpage does
> say "values may be given as percentage of the touchpad width or height"
> but I guess that does not work.
it does, but the synaptics man page refers to the Option parsing in the
xorg.conf. xinput is just a debugging tool that can change numbers, but it
doesn't have any knowledge of what the numbers are supposed to mean. So 82%
is parsed as number 82.
> Now I need to learn how to use left or right click without an accidental
> paste (because hit middle instead). I may adjust it more so I have some
> unused buffer between middle and right, but don't see way to separate
> middle from left, like:
> xinput --set-prop "DELL0742:00 06CB:7E92 Touchpad" "Synaptics Soft
> Button Areas" "870" 0 "761" 0 "614" "850" "761" 0
> My problem there is no physical separation that I can feel. If I could
> use left plus right to emulate middle that would be nice (instead of
> middle I have now), that may be better. I tried settng "Synaptics Middle
> Button Timeout" to different values but no help yet.
> (I shouldn't have bought this July 2017 Dell Inspiron 15 5578 laptop.
> Maybe I will consider an external mousepad.)
> I found another workaround that may work for me:
> xinput --set-prop "DELL0742:00 06CB:7E92 Touchpad" "Synaptics Tap
> Action" 0 0 0 0 0 0 2
> So now I can three finger tap anywhere for the paste.
> I have some other problems too:
> - Multiple times a day my mouse pointer jumps to bottom of display.
probably a bug in the synaptics driver somewhere where it submits garbage
deltas. could be a bug in the xserver too, hard to say without any further
> - Every couple days, my mouse pad becomes unusable. I cannot move
> pointer. I try changing virtual consoles and back and no fix. I try
> clicking buttons on bottom of pad many times and swipe many times on pad
> and maybe 60 seconds later the mouse pointer starts moving again.
run evemu-record when this happens (ideally over ssh so rendering delays
don't affect the output). if you see data coming from the device, the issue
is in the driver, if not, then the issue is in the hw or the kernel.
> - Multiple times a day my entire left button returns a right click. So I
> try to select a window title bar (in jwm) or a link in firefox (and get
> window menu or firefox menu). I keep moving mouse around and after maybe
> 20 seconds the left mouse works again. This has caused problems as some
> right click may use may break what I am working on and I don't notice
probably some stuck button count in the synaptics driver somewhere.
> Hopefully with new settings above I won't have the problems.
> (As a workaround until I got this paste to work, I used xclip to add an
> extra step copy and paste. So I highlight in xterm, then go to xclip
> window and paste there, then I could then paste that into some GTK-based
> app or firefox. I also attempted to set copy and paste properties with
> xterm so highlighted text would go to additional buffers, but it
> required new behavior like keystrokes. I guess for another option is to
> not use xterm but try another terminal emulator that has different
> copy/paste features.)
More information about the xorg