Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
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
# Quirks for special touchpads
# Force clickpad on for wireless trackpad. The propbit isn't set on 3.3.
# Remove once we're on 3.4
Section "InputClass"
Identifier "Disable clickpad buttons on Apple touchpads"
MatchProduct "Apple Wireless Trackpad"
MatchDriver "synaptics"
Option "ClickPad" "on"
EndSection
# Some devices have the buttons as part of the lower edge of the
# touchpad. Pressing a button moves the cursor, causing cursor jumps and
# erroneous clicks.
# Use the synaptics area property to work around this, udev labels these
# devices for us as touchpad_button_overlap.
# Affected: Dell Mini
Section "InputClass"
Identifier "touchpad button overlap"
MatchIsTouchpad "on"
MatchTag "touchpad_button_overlap"
Option "AreaBottomEdge" "4000"
EndSection
# Some devices have the buttons on the top of the touchpad. For those, set
# the touchpad buttons to exactly that.
# Affected: Lenovo T440, T540, x240, ...
Section "InputClass"
Identifier "touchpad buttons on top"
MatchIsTouchpad "on"
MatchTag "touchpad_softbutton_top"
Option "SoftButtonAreas" "60% 0 0 0 40% 60% 0 0"
EndSection
# FIXME: This config below requires a kernel fix to expose the device's PnPID
# correctly https://lkml.org/lkml/2014/2/23/63, and an Xserver fix to
# actually find that PNPID. So for now, leave the above snippet in place as well
# so we have something for those who haven't updated everything yet.
Section "InputClass"
Identifier "Lenovo 40 series top buttons custom"
MatchDriver "synaptics"
MatchPnPID "LEN0034*"
# WARNING: these devices are affected by a kernel bug that
# provides us with wrong min/max ranges. So we can't use percentages
# here and instead hardcode some range that seems sensible for now.
# Do not copy this into your custom file, wait for the kernel bug to be
# fixed and use percentages
Option "SoftButtonAreas" "3251 0 4390 0 2950 3250 4390 0"
Option "SecondarySoftButtonAreas" "3251 0 0 2270 2950 3250 0 2270"
EndSection