# Configure touchpads to use Chromium Multitouch (cmt) X input driver
Section "InputClass"
    Identifier      "touchpad"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver          "cmt"
    Option          "AccelerationProfile" "-1"
    Option          "Scroll Buttons" "0"
    Option          "Scroll Axes" "1"
    Option          "Scroll X Out Scale" "2.5"
    Option          "Scroll Y Out Scale" "2.5"
EndSection

Section "InputClass"
    Identifier      "CMT for Apple Magic Trackpad"
    MatchUSBID      "05ac:030e"
    MatchDevicePath "/dev/input/event*"
# We are using raw touch major value as pressure value, so set the Palm
# pressure threshold high.
    Option          "Palm Pressure" "1000"
    Option          "Compute Surface Area from Pressure" "0"
    Option          "Input Queue Delay" "0"
    Option          "IIR b0" "1"
    Option          "IIR b1" "0"
    Option          "IIR b2" "0"
    Option          "IIR b3" "0"
    Option          "IIR a1" "0"
    Option          "IIR a2" "0"
    # TODO(clchiou): Calibrate bias on X-axis
    Option          "Touchpad Device Output Bias on X-Axis" "-283.3226025266607"
    Option          "Touchpad Device Output Bias on Y-Axis" "-283.3226025266607"
    Option          "Max Allowed Pressure Change Per Sec" "100000.0"
    Option          "Max Hysteresis Pressure Per Sec" "100000.0"
    # Disable drumroll suppression
    Option          "Drumroll Suppression Enable" "0"
EndSection

Section "InputClass"
    Identifier      "CMT for Apple Magic Mouse"
    MatchUSBID      "05ac:030d"
    MatchDevicePath "/dev/input/event*"
    Driver          "cmt"
    Option          "AccelerationProfile" "-1"
    Option          "Scroll X Out Scale" "3"
    Option          "Scroll Y Out Scale" "3"
    Option          "Compute Surface Area from Pressure" "0"
    Option          "Max Allowed Pressure Change Per Sec" "170.0"
    Option          "Max Hysteresis Pressure Per Sec" "170.0"
    Option          "Max Finger Stationary Speed" "10.0"
    Option          "Fling Buffer Suppress Zero Length Scrolls" "1"
    Option          "Mouse Accel Curves" "1"
    Option          "Box Width" "8.0"
    Option          "Box Height" "1.0"
    # Resolution overrides:
    Option          "Vertical Resolution" "40"
    Option          "Horizontal Resolution" "45"
EndSection

Section "InputClass"
    Identifier      "CMT for Logitech Wireless Touchpad"
    MatchUSBID      "046d:4011"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option          "Input Queue Delay" "0"
    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          "Pressure Calibration Offset" "-313.240741792594"
    Option          "Pressure Calibration Slope" "4.39678062436752"
    Option          "Max Allowed Pressure Change Per Sec" "100000.0"
    Option          "Max Hysteresis Pressure Per Sec" "100000.0"
    Option          "Palm Pressure" "100000.0"
EndSection

Section "InputClass"
    Identifier      "CMT for Logitech T650"
    MatchUSBID      "046d:4101"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option          "Input Queue Delay" "0"
    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          "Pressure Calibration Offset" "-0.439288351750068"
    Option          "Pressure Calibration Slope" "3.05998553523335"
    Option          "Max Allowed Pressure Change Per Sec" "100000.0"
    Option          "Max Hysteresis Pressure Per Sec" "100000.0"
EndSection

Section "InputClass"
    Identifier      "CMT for Logitech T651"
    MatchUSBID      "046d:b00c"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Option          "Input Queue Delay" "0"
    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          "Pressure Calibration Offset" "-4.46520447177073"
    Option          "Pressure Calibration Slope" "3.21071719332644"
    Option          "Max Allowed Pressure Change Per Sec" "100000.0"
    Option          "Max Hysteresis Pressure Per Sec" "100000.0"
EndSection

Section "InputClass"
    Identifier      "CMT for Logitech T620"
    MatchUSBID      "046d:4027"
    MatchDevicePath "/dev/input/event*"
    Driver          "cmt"
    Option          "Max Allowed Pressure Change Per Sec" "100000.0"
    Option          "Max Hysteresis Pressure Per Sec" "100000.0"
    Option          "Box Width" "6"
    Option          "Box Height" "1"
    Option          "Drumroll Suppression Enable" "0"
    Option          "Input Queue Delay" "0.0"
    Option          "Input Queue Max Delay" "0.0"
    Option          "Fling Buffer Suppress Zero Length Scrolls" "1"
    Option          "Mouse Accel Curves" "1"
    Option          "AccelerationProfile" "-1"
EndSection

Section "InputClass"
    Identifier      "CMT for Logitech T400"
    MatchUSBID      "046d:4026"
    MatchDevicePath "/dev/input/event*"
    Driver          "cmt"
    Option          "Max Allowed Pressure Change Per Sec" "100000.0"
    Option          "Max Hysteresis Pressure Per Sec" "100000.0"
    Option          "Box Width" "6"
    Option          "Box Height" "1"
    Option          "Drumroll Suppression Enable" "0"
    Option          "Input Queue Delay" "0.0"
    Option          "Input Queue Max Delay" "0.0"
    Option          "Fling Buffer Suppress Zero Length Scrolls" "1"
    Option          "Mouse Accel Curves" "1"
    Option          "AccelerationProfile" "-1"
EndSection

Section "InputClass"
    Identifier      "CMT for Logitech Bluetooth Touchmouse"
    MatchUSBID      "046d:b00d"
    MatchDevicePath "/dev/input/event*"
    Driver          "cmt"
    Option          "Max Allowed Pressure Change Per Sec" "100000.0"
    Option          "Max Hysteresis Pressure Per Sec" "100000.0"
    Option          "Box Width" "6"
    Option          "Box Height" "1"
    Option          "Drumroll Suppression Enable" "0"
    Option          "Input Queue Delay" "0.0"
    Option          "Input Queue Max Delay" "0.0"
    Option          "Fling Buffer Suppress Zero Length Scrolls" "1"
    Option          "Mouse Accel Curves" "1"
    Option          "AccelerationProfile" "-1"
EndSection

Section "InputClass"
    Identifier "CMT for Stantum"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "MTP_USB_Controller"
    Driver          "cmt"
    Option          "SendCoreEvents" "On"
    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"
    Option          "Horizontal Resolution" "8"
    Option          "Vertical Resolution" "10"
    Option          "Two Finger Scroll Distance Thresh" "0.5"
    Option          "Pressure Calibration Offset" "1.0"
    Option          "Pressure Calibration Slope" "15.0"
    Option          "Max Allowed Pressure Change Per Sec" "100000.0"
    Option          "Max Hysteresis Pressure Per Sec" "100000.0"
EndSection
