# 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.

# kappa/burnet/esche/fennel/fennel14/makomo
Section "InputClass"
    Identifier      "touchpad jacuzzi elan"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "Elan"
    MatchUSBID      "04f3:00d1|04f3:0102|04f3:0103|04f3:0109|04f3:010A"
    Option          "Zero Finger Click Enable" "0"
EndSection

# fennel/fennel14/makomo
Section "InputClass"
    Identifier      "touchpad jacuzzi synaptics"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "Synaptics"
    MatchUSBID      "06cb:7ca2|06cb:CDE1|06cb:CC76|06cb:CE9B"
    Option          "Zero Finger Click Enable" "0"
EndSection
