# 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 cyan 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       36.53      11.95      -1.05
    # 1     5.70       39.96      25.52      17.04
    # 2     7.70       46.48      46.57      51.40
    # 3     9.90       52.48      76.98      83.01
    # 4     11.70      59.15      107.51     118.12
    # 5     13.90      74.65      151.75     199.77
    # 6     17.80      115.23     248.85     413.58
    Option          "Pressure Calibration Offset" "-193.474994174"
    Option          "Pressure Calibration Slope" "5.26809355904"

    Option          "Palm Edge Zone Width" "2.5"
    Option          "Tap Exclusion Border Width" "1.0"

    Option          "Tap Minimum Pressure" "10.0"
EndSection
