# Do not edit this file, it will be overwritten on update
#
# This file contains hwdb matches for libinput model-specific quirks.
# The contents of this file are a contract between libinput, udev rules and
# the hwdb.
# IT IS NOT A STABLE API AND SUBJECT TO CHANGE AT ANY TIME

# The lookup keys are composed in:
#	90-libinput-model-quirks.rules
#
# Match string formats:
#	libinput:<modalias>
#	libinput:name:<name>:dmi:<dmi string>
#	libinput:name:<name>:fwversion:<version>
#
# Sort by brand, model

##########################################
# ALPS
##########################################
libinput:name:*AlpsPS/2 ALPS DualPoint TouchPad:dmi:*
libinput:name:*AlpsPS/2 ALPS GlidePoint:dmi:*
 LIBINPUT_MODEL_ALPS_TOUCHPAD=1

libinput:name:*AlpsPS/2 ALPS DualPoint TouchPad:fwversion:8
libinput:name:*AlpsPS/2 ALPS GlidePoint:fwversion:8
 LIBINPUT_ATTR_SIZE_HINT=100x55

##########################################
# Apple
##########################################
libinput:touchpad:input:b0003v05ACp*
libinput:touchpad:input:b0005v05ACp*
 LIBINPUT_MODEL_APPLE_TOUCHPAD=1
 LIBINPUT_ATTR_SIZE_HINT=104x75

libinput:name:*Apple Inc. Apple Internal Keyboard*:dmi:*
 LIBINPUT_MODEL_APPLE_INTERNAL_KEYBOARD=1

##########################################
# Elantech
##########################################
libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*
 LIBINPUT_ATTR_RESOLUTION_HINT=31x31
 LIBINPUT_MODEL_ELANTECH_TOUCHPAD=1

##########################################
# Google
##########################################

# The various chromebooks, info from modinfo chromeos_laptop, touchpad names
# extrapolated from the chromiumos touchad-tests repo
# https://chromium.googlesource.com/chromiumos/platform/touchpad-tests
libinput:name:Cypress APA Trackpad (cyapa):dmi:*pnFalco:pvr*
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*pn*Mario*
libinput:name:Cypress APA Trackpad (cyapa):dmi:*pn*Butterfly*
libinput:name:Cypress APA Trackpad (cyapa):dmi:*pn*Peppy*
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*pn*ZGB*
libinput:name:Cypress APA Trackpad (cyapa):dmi:*pn*Parrot*
libinput:name:Cypress APA Trackpad (cyapa):dmi:*bvn*coreboot*:pn*Leon*
libinput:name:Cypress APA Trackpad (cyapa):dmi:*bvn*coreboot*:pn*Falco*
libinput:name:Cypress APA Trackpad (cyapa):dmi:*bvn*coreboot*:pn*Wolf*
libinput:name:Cypress APA Trackpad (cyapa):dmi:*svn*GOOGLE*:pn*Link*
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*pn*Alex*
libinput:name:Cypress APA Trackpad (cyapa):dmi:*svn*SAMSUNG*:pn*Lumpy*
libinput:name:Atmel maXTouch Touchpad:dmi:*svn*GOOGLE*:pn*Samus*
 LIBINPUT_MODEL_CHROMEBOOK=1

##########################################
# LENOVO
##########################################

# X220 after a bios update updating the touchpad firmware version to 8.1
# See https://bugzilla.redhat.com/show_bug.cgi?id=1264453 for details
# If the touchpad is unresponsive and dmesg includes this line
# 	psmouse serio1: synaptics: Touchpad model: 1, fw: 8.1 [...]
# then copy the two lines below into a new file
# /etc/udev/hwdb.d/90-libinput-x220-touchpad-fw81.hwdb, then run
# sudo udevadm hwdb --update and reboot.
#
# Copy the two lines below:
#libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*:pvrThinkPadX220*
# LIBINPUT_MODEL_LENOVO_X220_TOUCHPAD_FW81=1

# X230 (Tablet)
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*:pvrThinkPadX230*
 LIBINPUT_MODEL_LENOVO_X230=1

##########################################
# Synaptics
##########################################
libinput:touchpad:input:b0011v0002p0007*
 LIBINPUT_MODEL_SYNAPTICS_SERIAL_TOUCHPAD=1

##########################################
# System76
##########################################

# Bonobo Professional
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnSystem76*pvrbonp5*
 LIBINPUT_MODEL_SYSTEM76_BONOBO=1

# Clevo
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*pnW740SU*rnW740SU*
 LIBINPUT_MODEL_CLEVO_W740SU=1

# Galago Ultra Pro
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnSystem76*pvrgalu1*
 LIBINPUT_MODEL_SYSTEM76_GALAGO=1

# Kudu Professional
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnSystem76*pvrkudp1*
 LIBINPUT_MODEL_SYSTEM76_KUDU=1

##########################################
# Wacom
##########################################
libinput:touchpad:input:b0003v056Ap*
 LIBINPUT_MODEL_WACOM_TOUCHPAD=1
