# Configure touchpads to use Chromium Multitouch (cmt) X input driver
Section "InputClass"
    Identifier      "touchpad winky atmel"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "Atmel"
    Option          "Touchpad Stack Version" "1"
    Option          "Integrated Touchpad" "1"
    Option          "Pressure Calibration Offset" "-20.0256397754628"
    Option          "Pressure Calibration Slope" "1.0709525531637"

    # 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"

    # The flexible case can cause accidental physical clicks
    Option          "Zero Finger Click Enable" "0"

    # Some fingers were accidentally triggering palm detection
    Option          "Palm Width" "26.0"
    Option          "Palm Pressure" "150.0"

    # TODO(clchiou): Calibrate bias on X-axis
    Option          "Touchpad Device Output Bias on X-Axis" "139.858245421079"
    Option          "Touchpad Device Output Bias on Y-Axis" "139.858245421079"

    # 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"
    Option          "Fling Buffer Suppress Zero Length Scrolls" "1"

    # People complain that light tap clicks don't register
    Option          "Tap Minimum Pressure" "21.0"
    Option          "Two Finger Vertical Close Distance Thresh" "35.0"
    Option          "Fling Buffer Suppress Zero Length Scrolls" "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"

    # Raw data is a little unsteady, add box filter for smoother movement
    Option          "Box Width" "0.3"
    Option          "Box Height" "0.3"
EndSection
