# Configure touchpads to use Chromium Multitouch (cmt) X input driver
Section "InputClass"
    Identifier      "touchpad daisy_spring atmel"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "Atmel"
    Option          "Touchpad Stack Version" "1"
    Option          "Integrated Touchpad" "1"

    # On the X-axis the pad does not report any values in 0-60 or 1899-1960
    Option          "Active Area Left" "60"
    Option          "Active Area Right" "1899"

    # 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          "Pressure Calibration Offset" "-24.7357019600736"
    Option          "Pressure Calibration Slope" "2.99088029937309"
    # TODO(clchiou): Calibrate bias on X-axis
    Option          "Touchpad Device Output Bias on X-Axis" "135.232093932954"
    Option          "Touchpad Device Output Bias on Y-Axis" "135.232093932954"

    # We see lots of pressure changes under normal use, so raise thresholds
    Option          "Max Allowed Pressure Change Per Sec" "100000.0"
    Option          "Max Hysteresis Pressure Per Sec" "100000.0"

    # People complain that light tap clicks don't register
    Option          "Tap Minimum Pressure" "21.0"

    # Fix for finger merge issue
    Option          "Finger Merge Filter Enabled" "1"

    # Enable Stationary Wiggle Filter
    Option          "Stationary Wiggle Filter Enabled" "1"
    Option          "Finger Moving Energy" "0.002"
    Option          "Finger Moving Hysteresis" "0.001"

    # Increase Change Timeout
    Option          "Change Timeout" "0.1"
EndSection
