You are not logged in.
Hi! I have a dell xps 17 laptop - 9710 model. it has a quite big touchpad.
after lots of experimenting with clicking around in a xorg-xev window, I think this is a very accurate depiction of which mouse buttons are triggered on which zones of my touchpad:
needless to say, i'ld like the zoning to be a bit more fair. a 1/3 split of the clickable area for each of the 3 buttons seems more appropriate.
i've been doing some googling which gave me information about gestures, and tried gnome-tweaks but it only allows to switch between zone-based vs amount-of-fingers-based to decide which mouse button to click.
(ie https://wayland.freedesktop.org/libinpu … ck-method)
i haven't found anything about how to change the boundaries of the zones. the list of libinput options also doesn't seem to include an option to change the zones
(https://wayland.freedesktop.org/libinpu … ation.html)
i use the libinput driver, not synaptics, as that is the most recent driver recommended on arch wiki. i use the default config right now.
any ideas would be appreciated!
$ libinput list-devices
(...)
Device: DELL0A5D:00 04F3:311C Touchpad
Kernel: /dev/input/event16
Group: 8
Seat: seat0, default
Size: 150x88mm
Capabilities: pointer gesture
Tap-to-click: disabled
Tap-and-drag: enabled
Tap drag lock: disabled
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: disabled
Calibration: n/a
Scroll methods: *two-finger edge
Click methods: *button-areas clickfinger
Disable-w-typing: enabled
Accel profiles: flat *adaptive
Rotation: n/a
(...)
$ xinput list-props 'DELL0A5D:00 04F3:311C Touchpad'
Device 'DELL0A5D:00 04F3:311C Touchpad':
Device Enabled (173): 1
Coordinate Transformation Matrix (175): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Tapping Enabled (331): 0
libinput Tapping Enabled Default (332): 0
libinput Tapping Drag Enabled (333): 1
libinput Tapping Drag Enabled Default (334): 1
libinput Tapping Drag Lock Enabled (335): 0
libinput Tapping Drag Lock Enabled Default (336): 0
libinput Tapping Button Mapping Enabled (337): 1, 0
libinput Tapping Button Mapping Default (338): 1, 0
libinput Natural Scrolling Enabled (309): 0
libinput Natural Scrolling Enabled Default (310): 0
libinput Disable While Typing Enabled (339): 1
libinput Disable While Typing Enabled Default (340): 1
libinput Scroll Methods Available (311): 1, 1, 0
libinput Scroll Method Enabled (312): 1, 0, 0
libinput Scroll Method Enabled Default (313): 1, 0, 0
libinput Click Methods Available (341): 1, 1
libinput Click Method Enabled (342): 1, 0
libinput Click Method Enabled Default (343): 1, 0
libinput Middle Emulation Enabled (318): 0
libinput Middle Emulation Enabled Default (319): 0
libinput Accel Speed (320): 0.000000
libinput Accel Speed Default (321): 0.000000
libinput Accel Profiles Available (322): 1, 1
libinput Accel Profile Enabled (323): 1, 0
libinput Accel Profile Enabled Default (324): 1, 0
libinput Left Handed Enabled (325): 0
libinput Left Handed Enabled Default (326): 0
libinput Send Events Modes Available (294): 1, 1
libinput Send Events Mode Enabled (295): 0, 0
libinput Send Events Mode Enabled Default (296): 0, 0
Device Node (297): "/dev/input/event16"
Device Product ID (298): 1267, 12572
libinput Drag Lock Buttons (327): <no items>
libinput Horizontal Scroll Enabled (328): 1
libinput Scrolling Pixel Distance (329): 15
libinput Scrolling Pixel Distance Default (330): 15
< Daenyth> and he works prolifically
4 8 15 16 23 42
Offline
i was just reading https://wayland.freedesktop.org/libinpu … re-buttons and it seems like the size of the areas cannot be changed, even though in my case the zones really seem smaller than what they describe there.
< Daenyth> and he works prolifically
4 8 15 16 23 42
Offline
i was just reading https://wayland.freedesktop.org/libinpu … re-buttons and it seems like the size of the areas cannot be changed, even though in my case the zones really seem smaller than what they describe there.
I know it's been a while, just got a Dell 9370 and moving from thinkpad trackpoint I loved so much, to touchpad :-/
First, I'm not clear on how you disable middle button emulation. If we're talking about this
merlin:~$ xinput list-props 'VEN_06CB:00 06CB:CE7E Touchpad' |grep -i middle
Synaptics Middle Button Timeout (349): 0
it does default to enabled somehow, not sure where. I turn it off with
synclient EmulateMidButtonTime=0
but I guess by then it's too late and middle click at the bottom is gone? On my laptop, that '2' zone in your graph does not seem to be there at all.
One easy way to debug is
xev 2>&1 | grep --color=auto -i button
1) can you help me figure out how to have that middle button click at the bottom, work? even if it's small?
2) I have something else that may work for you
```
# Synaptics Edges (343): 70, 1700, 56, 983
# middle seems to work, max bottom is 860, right is maybe 2048?
synclient MiddleButtonAreaTop=60
# I would love to go past 860 to
synclient MiddleButtonAreaBottom=400
# narrow band top
#synclient MiddleButtonAreaLeft=800
#synclient MiddleButtonAreaRight=1200
# wide top band
synclient MiddleButtonAreaLeft=100
synclient MiddleButtonAreaRight=1600
```
this allows you to use part of the top of your touchpad as middle click. Unfortunately on my laptop
a) the very top is not clickable at all (physically it only clicks in the middle or bottom)
b) I cannot move the top and bottom to 750 to 850, which is what I would want, but it might work on yours
Mine is
```merlin:~$ xinput list-props 'VEN_06CB:00 06CB:CE7E Touchpad'
Device 'VEN_06CB:00 06CB:CE7E Touchpad':
Device Enabled (179): 1
Coordinate Transformation Matrix (181): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (313): 1
Device Accel Constant Deceleration (314): 2.500000
Device Accel Adaptive Deceleration (315): 1.000000
Device Accel Velocity Scaling (316): 12.500000
Synaptics Edges (343): 70, 1700, 56, 983
Synaptics Finger (344): 25, 30, 0
Synaptics Tap Time (345): 180
Synaptics Tap Move (346): 90
Synaptics Tap Durations (347): 180, 180, 100
Synaptics ClickPad (348): 1
Synaptics Middle Button Timeout (349): 0
Synaptics Two-Finger Pressure (350): 282
Synaptics Two-Finger Width (351): 7
Synaptics Scrolling Distance (352): 41, 41
Synaptics Edge Scrolling (353): 0, 0, 0
Synaptics Two-Finger Scrolling (354): 1, 0
Synaptics Move Speed (355): 1.000000, 1.750000, 0.150000, 0.000000
Synaptics Off (356): 0
Synaptics Locked Drags (357): 0
Synaptics Locked Drags Timeout (358): 5000
Synaptics Tap Action (359): 3, 7, 0, 6, 0, 0, 0
Synaptics Click Action (360): 1, 3, 2
Synaptics Circular Scrolling (361): 0
Synaptics Circular Scrolling Distance (362): 0.100000
Synaptics Circular Scrolling Trigger (363): 0
Synaptics Circular Pad (364): 0
Synaptics Palm Detection (365): 1
Synaptics Palm Dimensions (366): 2, 50
Synaptics Coasting Speed (367): 20.000000, 50.000000
Synaptics Pressure Motion (368): 30, 160
Synaptics Pressure Motion Factor (369): 1.000000, 1.000000
Synaptics Grab Event Device (370): 0
Synaptics Gestures (371): 1
Synaptics Capabilities (372): 1, 0, 0, 1, 1, 0, 0
Synaptics Pad Resolution (373): 12, 12
Synaptics Area (374): 0, 0, 0, 0
Synaptics Soft Button Areas (375): 885, 0, 851, 0, 100, 1800, 0, 400
Synaptics Noise Cancellation (376): 10, 10
Device Product ID (306): 1739, 52862
Device Node (305): "/dev/input/event8"
```
Thanks, Marc
Offline
ok, I have good news, I was able to make the bottom pad work, but doing it manually with synclient is error prone because it's not trivial to get the right coordinates.
merlin:~$ cat /etc/X11/xorg.conf.d/70-synaptics.conf
# https://wiki.archlinux.org/title/Touchp … figuration
# https://www.dell.com/support/kbdoc/en-u … -issue-fix
Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
#Option "TapButton1" "1"
#Option "TapButton2" "3"
#Option "TapButton3" "2"
#Option "VertEdgeScroll" "on"
#Option "VertTwoFingerScroll" "on"
#Option "HorizEdgeScroll" "on"
#Option "HorizTwoFingerScroll" "on"
#Option "CircularScrolling" "on"
#Option "CircScrollTrigger" "2"
#Option "EmulateTwoFingerMinZ" "40"
#Option "EmulateTwoFingerMinW" "8"
#Option "CoastingSpeed" "0"
#Option "FingerLow" "30"
#Option "FingerHigh" "50"
#Option "MaxTapTime" "125"
#Option "SendEventsMode" "disabled-on-external-mouse"
#Option "Tapping" "True"
#Option "AccelProfile" "adaptive"
#Option "AccelSpeed" "0.3"
#Option "TappingDrag" "True"
#Option "HorizontalScrolling" "True"
#Option "ScrollMethod" "edge"
# https://wiki.archlinux.org/title/Touchpad_Synaptics
# left 30% middle 40% (30% to 69%) right 30% (from 70% to 0=inf)
# buttons go from 82% down to 0=inf
Option "SoftButtonAreas" "70% 0 82% 0 30% 69% 82% 0"
EndSection
However you can do this with synclient too once you know the actual coordinates that get computed by the xorg config, so you can change them at runtime or use synclient only. On my Dell XPS 17 9370, I got these numbers
for i in 1 2; do
synclient RightButtonAreaLeft=1239
synclient RightButtonAreaRight=0
synclient RightButtonAreaTop=851
synclient RightButtonAreaBottom=0
synclient MiddleButtonAreaLeft=531
synclient MiddleButtonAreaRight=1221
synclient MiddleButtonAreaTop=851
synclient MiddleButtonAreaBottom=0
done
the loop is to reset values that may have got rejected the first time around because of coordinate conflicts.
Hope this helps
Offline