# Configure touchpads to use Chromium Multitouch (cmt) X input driver
Section "InputClass"
    Identifier      "touchpad peppy"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option          "Integrated Touchpad" "1"
    # Disable some causes of delay
    Option          "IIR b0" "1"
    Option          "IIR b1" "0"
    Option          "IIR b2" "0"
    Option          "IIR b3" "0"
    Option          "IIR a1" "0"
    Option          "IIR a2" "0"
    Option          "IIR Distance Threshold" "1000"
    Option          "Input Queue Delay" "0"
EndSection

Section "InputClass"
    Identifier      "touchpad peppy cyapa"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "cyapa"
    Option          "Pressure Calibration Offset" "-10.1706452244229"
    Option          "Pressure Calibration Slope" "1.82361892734539"
    # Extra filters for Cyapa
    Option          "Box Width" "1.0"
    Option          "Box Height" "1.0"
    Option          "Sensor Jump Filter Enable" "1"

    # TODO(adlr): Tune these two parameters:
    Option          "Merge Max Ratio" "0.63"
    Option          "Split Merge Max Movement" "7.1"

    Option          "Max Allowed Pressure Change Per Sec" "4000"
    Option          "Max Hysteresis Pressure Per Sec" "4000"
    Option          "Delay On Possible Liftoff" "1"
    Option          "Input Queue Max Delay" "0.019"
    Option          "Split Corrector Enabled" "1"
    # People complain that light tap clicks don't register
    Option          "Tap Minimum Pressure" "10.0"
    # Peppy's touchpad has a higher friction than the others and its
    # height offset at the bottom edge is also larger, causing thumbs
    # to have lower pressure compared to other devices.
    # Thus, decrease related thresholds here.
    Option          "Two Finger Pressure Diff Thresh" "20"
    Option          "Two Finger Pressure Diff Factor" "1.3"
EndSection

Section "InputClass"
    Identifier      "touchpad peppy elan"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "Elan Touchpad"

    Option          "Pressure Calibration Offset" "-179.252581726842"
    Option          "Pressure Calibration Slope" "4.33133444856914"

    Option          "Tap Minimum Pressure" "15.0"

EndSection
