90-libinput-model-quirks.hwdb 10.5 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
# 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:
12 13
#	libinput:mouse:<modalias>
#	libinput:touchpad:<modalias>
14
#	libinput:name:<name>:dmi:<dmi string>
15
#	libinput:name:<name>:dt:<device-tree string>
16
#	libinput:name:<name>:fwversion:<version>
17 18
#
# Sort by brand, model
19

20 21 22 23 24 25 26 27 28
##########################################
# Chassis types 9 (Laptop) and 10
# (Notebook) are expected to have working
# lid switches
##########################################
libinput:name:*Lid Switch*:dmi:*:ct10:*
libinput:name:*Lid Switch*:dmi:*:ct9:*
 LIBINPUT_ATTR_LID_SWITCH_RELIABILITY=reliable

29 30 31 32 33 34
##########################################
# Serial keyboards are internal
##########################################
libinput:keyboard:input:b0011v*
 LIBINPUT_ATTR_KEYBOARD_INTEGRATION=internal

35 36 37 38 39 40
##########################################
# Aiptek
##########################################
libinput:tablet:input:b0003v08CAp*
 LIBINPUT_MODEL_TABLET_NO_TILT=1

41 42 43 44 45 46 47
##########################################
# ALPS
##########################################
libinput:name:*AlpsPS/2 ALPS DualPoint TouchPad:dmi:*
libinput:name:*AlpsPS/2 ALPS GlidePoint:dmi:*
 LIBINPUT_MODEL_ALPS_TOUCHPAD=1

48 49
libinput:name:*AlpsPS/2 ALPS DualPoint TouchPad:fwversion:800
libinput:name:*AlpsPS/2 ALPS GlidePoint:fwversion:800
50 51
 LIBINPUT_ATTR_SIZE_HINT=100x55

52 53 54 55 56 57
##########################################
# Apple
##########################################
libinput:touchpad:input:b0003v05ACp*
libinput:touchpad:input:b0005v05ACp*
 LIBINPUT_MODEL_APPLE_TOUCHPAD=1
58
 LIBINPUT_ATTR_SIZE_HINT=104x75
59
 LIBINPUT_ATTR_TOUCH_SIZE_RANGE=150:130
60
 LIBINPUT_ATTR_PALM_SIZE_THRESHOLD=800
61

62
libinput:name:*Apple Inc. Apple Internal Keyboard*:dmi:*
63
 LIBINPUT_ATTR_KEYBOARD_INTEGRATION=internal
64

65 66 67
libinput:mouse:input:b0005v05ACp030D*
 LIBINPUT_MODEL_APPLE_MAGICMOUSE=1

Mario's avatar
Mario committed
68
# Magic Trackpad
69 70
libinput:touchpad:input:b0005v05ACp030E*
 LIBINPUT_ATTR_SIZE_HINT=130x110
Mario's avatar
Mario committed
71
 LIBINPUT_ATTR_TOUCH_SIZE_RANGE=60:40
72

73 74 75
libinput:touchpad:input:b0003v05ACp021A*
 LIBINPUT_MODEL_APPLE_TOUCHPAD_ONEBUTTON=1

76 77 78 79 80 81
##########################################
# Asus
##########################################
libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*svnASUSTeKCOMPUTERINC.:pnX555LAB:*
 LIBINPUT_MODEL_TOUCHPAD_VISIBLE_MARKER=1

82 83 84 85 86 87 88
##########################################
# Chicony
##########################################
# Acer Hawaii Keyboard, uses Chicony VID
libinput:touchpad:input:b0003v04F2p1558*
 LIBINPUT_ATTR_TPKBCOMBO_LAYOUT=below

89
##########################################
90 91 92 93 94 95
# Cyborg
##########################################
# Saitek Cyborg R.A.T.5 Mouse
libinput:mouse:input:b0003v06A3p0CD5*
 LIBINPUT_MODEL_CYBORG_RAT=1

96 97 98 99 100
##########################################
# Dell
##########################################
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnDellInc.:*
libinput:name:* Touchpad:dmi:*svnDellInc.:*
101
 LIBINPUT_MODEL_TOUCHPAD_VISIBLE_MARKER=1
102

103
libinput:name:*AlpsPS/2 ALPS GlidePoint:dmi:*svnDellInc.:pnLatitudeE6220:*
104
 LIBINPUT_ATTR_PRESSURE_RANGE=100:90
105

106
##########################################
107 108 109 110
# Elantech
##########################################
libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*
 LIBINPUT_ATTR_RESOLUTION_HINT=31x31
111
 LIBINPUT_ATTR_PRESSURE_RANGE=10:8
112

113 114 115
libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*svnASUSTeKComputerInc.:pnUX21E:*
 LIBINPUT_ATTR_PRESSURE_RANGE=24:10

116 117 118
libinput:name:*Elan Touchpad*:dt:*
 LIBINPUT_ATTR_PRESSURE_RANGE=10:8

119 120 121 122 123
libinput:name:*Elan Touchpad*:dt:*Chrombook R13*
libinput:name:*Elan Touchpad*:dt:*CB5-312T*
libinput:name:*Elan Touchpad*:dt:*Elm*
 LIBINPUT_ATTR_PRESSURE_RANGE=6:4

124 125 126 127 128 129 130
##########################################
# 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
131
libinput:name:Cypress APA Trackpad ?cyapa?:dmi:*pnFalco:pvr*
132
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*pn*Mario*
133 134
libinput:name:Cypress APA Trackpad ?cyapa?:dmi:*pn*Butterfly*
libinput:name:Cypress APA Trackpad ?cyapa?:dmi:*pn*Peppy*
135
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*pn*ZGB*
136 137 138 139 140
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*
141
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*pn*Alex*
142
libinput:name:Cypress APA Trackpad ?cyapa?:dmi:*svn*SAMSUNG*:pn*Lumpy*
143
libinput:name:Atmel maXTouch Touchpad:dmi:*svn*GOOGLE*:pn*Samus*
144 145
 LIBINPUT_MODEL_CHROMEBOOK=1

146
libinput:name:Cypress APA Trackpad ?cyapa?:dmi:*
147
 LIBINPUT_ATTR_PRESSURE_RANGE=10:8
148

149 150 151
##########################################
# HP
##########################################
152

153 154 155 156 157
# HP Compaq6910p
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnHewlett-Packard:*pnHPCompaq6910p*
 LIBINPUT_MODEL_HP6910_TOUCHPAD=1

# HP Compaq 8510w
158 159 160
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnHewlett-Packard:*pnHPCompaq8510w*
 LIBINPUT_MODEL_HP8510_TOUCHPAD=1

161 162 163 164
# HP Pavillion dm4
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnHewlett-Packard:*pnHPPaviliondm4NotebookPC*
 LIBINPUT_MODEL_HP_PAVILION_DM4_TOUCHPAD=1

165
# HP Stream 11
166
libinput:name:SYN1EDE:00 06CB:7442:dmi:*svnHewlett-Packard:pnHPStreamNotebookPC11*
167 168
 LIBINPUT_MODEL_HP_STREAM11_TOUCHPAD=1

169 170 171 172
# HP Zbook Studio G3
libinput:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnHP:pnHPZBookStudioG3:*
 LIBINPUT_MODEL_HP_ZBOOK_STUDIO_G3=1

173 174 175 176 177 178 179 180 181
##########################################
# HUION
##########################################
#
# HUION PenTablet device. Some of these devices send a BTN_TOOL_PEN event
# with value 1 on the first event received by the device but never send the
# matching BTN_TOOL_PEN value 0 event. The device appears as if it was
# permanently in proximity.
#
182 183 184 185
# HUION re-uses USB IDs for its devices, not every HUION tablet is
# affected by this bug, libinput will auto-disable this feature
libinput:tablet:input:b0003v256Cp*
 LIBINPUT_MODEL_TABLET_NO_PROXIMITY_OUT=1
186

187 188 189 190
##########################################
# LENOVO
##########################################

191 192 193 194 195 196 197 198 199 200 201 202
# 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

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

207 208 209 210 211 212
# T440p on PS/2
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*:pvrThinkPadT440p*
# T440p on RMI4
libinput:name:Synaptics tm2964-001:dmi:*svnLENOVO:*:pvrThinkPadT440p*
 LIBINPUT_MODEL_LENOVO_T450_TOUCHPAD=1

213 214 215 216
# T440s trackpoint
libinput:name:TPPS/2 IBM TrackPoint:dmi:*svnLENOVO:*:pvrThinkPadT440s*
 LIBINPUT_ATTR_TRACKPOINT_RANGE=30

217 218 219 220
# T450s trackpoint
libinput:name:TPPS/2 IBM TrackPoint:dmi:*svnLENOVO:*:pvrThinkPadT450s*
 LIBINPUT_ATTR_TRACKPOINT_RANGE=50

221 222 223 224 225 226
# Lenovo T450/T460 and all other Lenovos of the *50 and *60 generation,
# including the X1 Carbon 3rd gen
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*:pvrThinkPad??50*:
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*:pvrThinkPad??60*:
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*:pvrThinkPadX1Carbon3rd:*
 LIBINPUT_MODEL_LENOVO_T450_TOUCHPAD=1
227
 LIBINPUT_ATTR_PALM_PRESSURE_THRESHOLD=150
228

229 230 231 232
# Lenovo ThinkPad Compact USB Keyboard with TrackPoint
libinput:keyboard:input:b0003v17EFp6047*
 LIBINPUT_ATTR_KEYBOARD_INTEGRATION=external

233 234 235 236
# Lenovo X280
libinput:name:*ALPS TrackPoint*:svnLENOVO:*:pvrThinkPadX280:*
 LIBINPUT_ATTR_TRACKPOINT_RANGE=70

237 238 239 240 241 242
##########################################
# Logitech
##########################################
libinput:name:*Logitech M570*:dmi:*
 LIBINPUT_MODEL_TRACKBALL=1

243 244 245 246
# Logitech Marble Mouse trackball
libinput:mouse:input:b0003v046DpC408*
 LIBINPUT_MODEL_LOGITECH_MARBLE_MOUSE=1

247 248 249 250 251 252 253
##########################################
# Microsoft
##########################################
# Surface3 needs us to write the open lid switch event
libinput:name:*Lid Switch*:dmi:*svnMicrosoftCorporation:pnSurface3:*
 LIBINPUT_ATTR_LID_SWITCH_RELIABILITY=write_open

254 255 256 257
# Surface 3 Type Cover keyboard
libinput:name:*Microsoft Surface Type Cover Keyboard*:dmi:*svnMicrosoftCorporation:pnSurface3:*
 LIBINPUT_ATTR_KEYBOARD_INTEGRATION=internal

258 259 260 261
# Microsoft Microsoft® Nano Transceiver v2.0"
libinput:mouse:input:b0003v045Ep0800*
 LIBINPUT_MODEL_MS_NANO_TRANSCEIVER=1

262 263 264 265 266 267 268 269 270
##########################################
# Razer
##########################################
libinput:keyboard:input:b0003v1532p0220*
 LIBINPUT_ATTR_KEYBOARD_INTEGRATION=internal

libinput:name:*Lid Switch*:dmi:*svnRazer:pnBlade*
 LIBINPUT_ATTR_LID_SWITCH_RELIABILITY=write_open

271 272 273 274 275 276
##########################################
# Synaptics
##########################################
libinput:touchpad:input:b0011v0002p0007*
 LIBINPUT_MODEL_SYNAPTICS_SERIAL_TOUCHPAD=1

277 278 279 280 281 282 283 284 285 286
##########################################
# 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*
287
 LIBINPUT_MODEL_CLEVO_W740SU=1
288 289 290 291 292 293 294 295

# 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
296 297 298 299 300 301

##########################################
# Wacom
##########################################
libinput:touchpad:input:b0003v056Ap*
 LIBINPUT_MODEL_WACOM_TOUCHPAD=1
Peter Hutterer's avatar
Peter Hutterer committed
302

303 304 305 306
# Wacom Intuos Pro PTH-660
libinput:touchpad:input:b0003v056Ap0357*
 LIBINPUT_ATTR_PALM_SIZE_THRESHOLD=5

Peter Hutterer's avatar
Peter Hutterer committed
307 308 309 310 311
##########################################
# Anything that has trackball in the name
##########################################
libinput:name:*Trackball*:dmi:*
 LIBINPUT_MODEL_TRACKBALL=1
312