Blob Blame History Raw
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