# Copyright 2021 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 redrix"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchUSBID      "04F3:323B|04F3:044A"

    Option          "Compute Surface Area from Pressure" "0"
    Option          "Palm Pressure" "90.0"
    Option          "Max Finger Stationary Speed" "50.0"
EndSection

Section "InputClass"
    Identifier      "touchpad vell"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchUSBID      "04F3:323B|04F3:044a|04F3:3267"
    Option          "Compute Surface Area from Pressure" "0"
    Option          "Palm Pressure" "90.0"
EndSection
