# Copyright 2020 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

Section "InputClass"
    Identifier      "touchpad heli 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       28.64      11.95      13.19
    # 1     5.70       30.63      25.52      18.93
    # 2     7.70       41.99      46.57      51.72
    # 3     9.90       50.70      76.98      76.86
    # 4     11.70      61.46      107.51     107.95
    # 5     13.90      77.25      151.75     153.52
    # 6     17.80      109.61     248.85     246.94
    Option          "Pressure Calibration Offset" "-69.5123930744"
    Option          "Pressure Calibration Slope" "2.88723188559"
    Option          "Palm Edge Zone Width" "2.5"
    Option          "Tap Exclusion Border Width" "1.0"
    Option          "Tap Minimum Pressure" "25.0"
EndSection

Section "InputClass"
    Identifier      "touchpad heli synaptics"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "SYN"
    Option          "Integrated Touchpad" "1"
    Option          "Touchpad Stack Version" "2"
    # Pressure calibration results:
    # Probe Diameter   Measured   Expected   Calibrated
    # 0     3.90       32.73      11.95      -3.57
    # 1     5.70       36.74      25.52      14.74
    # 2     7.70       48.04      46.57      66.32
    # 3     9.90       51.95      76.98      84.21
    # 4     11.70      56.91      107.51     106.82
    # 5     13.90      62.28      151.75     131.36
    # 6     17.80      74.39      248.85     186.64
    Option          "Pressure Calibration Offset" "-153.025789113"
    Option          "Pressure Calibration Slope" "4.56625853475"
    Option          "Tap Minimum Pressure" "5.0"
EndSection
