# As banjo and yuna use the same TP, keep this file in sync with
# 50-touchpad-cmt-banjo.conf

# Configure touchpads to use Chromium Multitouch (cmt) X input driver
Section "InputClass"
    Identifier      "touchpad auron_yuna elan"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "Elan"
    Option          "Integrated Touchpad" "1"
    Option          "Touchpad Stack Version" "2"
    # Pressure calibration results:
    # Probe Diameter   Measured   Expected   Calibrated
    # 0     3.90       30.23      11.95      4.44
    # 1     5.70       32.99      25.52      15.74
    # 2     7.70       40.31      46.57      45.65
    # 3     9.90       47.28      76.98      74.13
    # 4     11.70      53.47      107.51     99.41
    # 5     13.90      64.66      151.75     145.13
    # 6     17.80      98.80      248.85     284.63
    Option          "Pressure Calibration Offset" "-119.065562529"
    Option          "Pressure Calibration Slope" "4.08610847466"
EndSection
