# Configure touchpads to use Chromium Multitouch (cmt) X input driver
Section "InputClass"
    Identifier      "touchpad link"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "Atmel|cyapa"
    Option          "Touchpad Stack Version" "1"
    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"
    # The flexible case can cause accidental physical clicks
    Option          "Zero Finger Click Enable" "0"
    Option          "Two Finger Vertical Close Distance Thresh" "35.0"
EndSection

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

Section "InputClass"
    Identifier      "touchpad link atmel"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "Atmel"
    Option          "Pressure Calibration Offset" "-15.369282490859"
    Option          "Pressure Calibration Slope" "1.3219851012421"
    # TODO(clchiou): Calibrate bias on X-axis
    Option          "Touchpad Device Output Bias on X-Axis" "26.68917773528923"
    Option          "Touchpad Device Output Bias on Y-Axis" "26.68917773528923"
    # 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"
    Option          "Box Width" "0.3"
    Option          "Box Height" "0.3"
    # Fix for finger merge issue
    Option          "Finger Merge Filter Enabled" "1"
    # Fix for finger split issue
    Option	    "Split Corrector Enabled" "1"
    Option	    "Split Merge Max Separation" "14"
EndSection

# Not CMT related. This is to enable TouchNoiseFilter on Pixel touchscreen.
Section "InputClass"
    Identifier "Atmel touchscreen"
    MatchIsTouchscreen "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "Atmel"
    Option "EnableTouchNoiseFilter" "1"
EndSection
