summaryrefslogtreecommitdiff
path: root/udev/90-libinput-model-quirks.hwdb
blob: 10f46f82e2a66ddb519327a44da9fe237f66a9bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
# 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:mouse:<modalias>
#	libinput:touchpad:<modalias>
#	libinput:name:<name>:dmi:<dmi string>
#	libinput:name:<name>:dt:<device-tree string>
#
# Sort by brand, model

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

##########################################
# Serial keyboards are internal
##########################################
libinput:keyboard:input:b0011v*
 LIBINPUT_ATTR_KEYBOARD_INTEGRATION=internal

##########################################
# Aiptek
##########################################
libinput:tablet:input:b0003v08CAp*
 LIBINPUT_MODEL_TABLET_NO_TILT=1

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

# ALPS firmware versions:
# V1		= 0x100
# V2		= 0x200
# V3		= 0x300
# V3_RUSHMORE	= 0x310
# V4		= 0x400
# V5		= 0x500
# V6		= 0x600
# V7		= 0x700	/* t3btl t4s */
# V8		= 0x800	/* SS4btl SS4s */
# V9		= 0x900	/* ss3btl */
libinput:touchpad:input:b0011v0002p0008e0800*
 LIBINPUT_ATTR_SIZE_HINT=100x55

libinput:pointingstick:input:b0011v0002p0008e0800*
 LIBINPUT_ATTR_TRACKPOINT_RANGE=160

##########################################
# Apple
##########################################
libinput:touchpad:input:b0003v05ACp*
libinput:touchpad:input:b0005v05ACp*
 LIBINPUT_MODEL_APPLE_TOUCHPAD=1
 LIBINPUT_ATTR_SIZE_HINT=104x75
 LIBINPUT_ATTR_TOUCH_SIZE_RANGE=150:130
 LIBINPUT_ATTR_PALM_SIZE_THRESHOLD=800

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

libinput:mouse:input:b0005v05ACp030D*
 LIBINPUT_MODEL_APPLE_MAGICMOUSE=1

# Apple Magic Trackpad v1 (2010, clickpad)
libinput:touchpad:input:b0005v05ACp030E*
 LIBINPUT_ATTR_SIZE_HINT=130x110
 LIBINPUT_ATTR_TOUCH_SIZE_RANGE=20:10
 LIBINPUT_ATTR_PALM_SIZE_THRESHOLD=900

libinput:touchpad:input:b0003v05ACp021A*
 LIBINPUT_MODEL_APPLE_TOUCHPAD_ONEBUTTON=1

# MacBookPro5,5 (Mid 2009)
libinput:touchpad:input:b0003v05ACp0237*
 LIBINPUT_ATTR_PALM_SIZE_THRESHOLD=1000

##########################################
# Asus
##########################################
libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*svnASUSTeKCOMPUTERINC.:pnX555LAB:*
 LIBINPUT_MODEL_TOUCHPAD_VISIBLE_MARKER=1

##########################################
# Chicony
##########################################
# Acer Hawaii Keyboard, uses Chicony VID
libinput:touchpad:input:b0003v04F2p1558*
 LIBINPUT_ATTR_TPKBCOMBO_LAYOUT=below

##########################################
# Cyborg
##########################################
# Saitek Cyborg R.A.T.5 Mouse
libinput:mouse:input:b0003v06A3p0CD5*
 LIBINPUT_MODEL_CYBORG_RAT=1

##########################################
# Dell
##########################################
libinput:name:SynPS/2 Synaptics TouchPad:dmi:*svnDellInc.:*
libinput:name:* Touchpad:dmi:*svnDellInc.:*
 LIBINPUT_MODEL_TOUCHPAD_VISIBLE_MARKER=1

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

libinput:name:*CyPS/2 Cypress Trackpad:dmi:*svnDell*:*XPSL322X*
 LIBINPUT_ATTR_PRESSURE_RANGE=30:20
 LIBINPUT_ATTR_PALM_PRESSURE_THRESHOLD=254

libinput:name:*Synaptics s3203:dmi:*svnDellInc.:*pnXPS139333*
 LIBINPUT_ATTR_PRESSURE_RANGE=15:10
 LIBINPUT_ATTR_PALM_PRESSURE_THRESHOLD=150

##########################################
# Elantech
##########################################
libinput:name:*ETPS/2 Elantech Touchpad*:dmi:*
 LIBINPUT_ATTR_RESOLUTION_HINT=31x31
 LIBINPUT_ATTR_PRESSURE_RANGE=10:8

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

libinput:name:*Elan Touchpad*:dt:*
 LIBINPUT_ATTR_PRESSURE_RANGE=10:8

libinput:name:*Elan Touchpad*:dt:*Chromebook R13 CB5-312T*
libinput:name:*Elan Touchpad*:dt:*CB5-312T*
libinput:name:*Elan Touchpad*:dt:*Elm*
 LIBINPUT_ATTR_PRESSURE_RANGE=6:4

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

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

##########################################
# HP
##########################################

# HP Chromebook 14
libinput:name:*Cypress APA Trackpad *cyapa*:dmi:*svnHewlett-Packard*:pnFalco*
 LIBINPUT_ATTR_PRESSURE_RANGE=13:10

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

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

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

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

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

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

##########################################
# IBM
##########################################
#
# IBM/Lenovo Scrollpoint mouse. Instead of a scroll wheel these mice
# feature trackpoint-like sticks which generate a huge amount of scroll
# events that need to be handled differently than scroll wheel events
libinput:mouse:b0003v04B3p3100*
libinput:mouse:b0003v04B3p3103*
libinput:mouse:b0003v04B3p3105*
libinput:mouse:b0003v04B3p3108*
libinput:mouse:b0003v04B3p3109*
libinput:mouse:b0003v17EFp6049*
 LIBINPUT_MODEL_LENOVO_SCROLLPOINT=1

# Lenovo Thinkpad X41 Tablet has lid buttons to be used in tablet mode
# (#103749)
libinput:name:AT Translated Set 2 keyboard:dmi:*svnIBM:*pvrThinkPadX41Tablet:*
 LIBINPUT_MODEL_TABLET_MODE_NO_SUSPEND=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

# 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

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

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

# 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:*:pvrThinkPadP50*:
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
 LIBINPUT_ATTR_PALM_PRESSURE_THRESHOLD=150

# Lenovo ThinkPad series
libinput:name:*Synaptics*:dmi:*svnLENOVO:*:pvrThinkPad*:*
 LIBINPUT_ATTR_THUMB_PRESSURE_THRESHOLD=100

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

# Lenovo X270
libinput:name:*TPPS/2 IBM TrackPoint*:dmi:svnLENOVO:*:pvrThinkPadX270:*
 LIBINPUT_ATTR_TRACKPOINT_RANGE=40

# Lenovo X280
libinput:name:*ALPS TrackPoint*:dmi:svnLENOVO:*:pvrThinkPadX280:*
 LIBINPUT_ATTR_TRACKPOINT_RANGE=70

# Lenovo Thinkpad Yoga (not the consumer versions) disables the keyboard
# mechanically. We must not disable the keyboard because some keys are
# still accessible on the screen and volume rocker.
# Initially #103749 and extended by #106799 comment 7
libinput:name:AT Translated Set 2 keyboard:dmi:*svnLENOVO:*pvrThinkPad*Yoga*:*
 LIBINPUT_MODEL_TABLET_MODE_NO_SUSPEND=1

# Lenovo Carbon X1 6th gen (RMI4 only, PS/2 is broken on this device)
libinput:name:Synaptics TM3288-011:dmi:*svnLenovo:*pvrThinkPadX1Carbon6th:*
 LIBINPUT_MODEL_LENOVO_CARBON_X1_6TH=1

##########################################
# Logitech
##########################################
libinput:name:*Logitech M570*:dmi:*
 LIBINPUT_MODEL_TRACKBALL=1

# Logitech Marble Mouse trackball
libinput:mouse:input:b0003v046DpC408*
 LIBINPUT_MODEL_LOGITECH_MARBLE_MOUSE=1

# Logitech K400
libinput:mouse:input:b0003v046Dp4024*
# Logitech K400r
libinput:mouse:input:b0003v046Dp404B*
# Logitech K830
libinput:mouse:input:b0003v046Dp404C*
# Logitech K400Plus
libinput:mouse:input:b0003v046Dp404D*
 LIBINPUT_MODEL_BOUNCING_KEYS=1

# Logitech Wireless Touchpad
libinput:touchpad:input:b0003v046Dp4011*
 LIBINPUT_ATTR_PALM_PRESSURE_THRESHOLD=400

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

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

# Microsoft Microsoft® Nano Transceiver v2.0"
libinput:mouse:input:b0003v045Ep0800*
 LIBINPUT_MODEL_BOUNCING_KEYS=1

##########################################
# Razer
##########################################
libinput:keyboard:input:b0003v1532p0220*
 LIBINPUT_ATTR_KEYBOARD_INTEGRATION=internal

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

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

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

##########################################
# Anything that has trackball in the name
##########################################
libinput:name:*Trackball*:dmi:*
 LIBINPUT_MODEL_TRACKBALL=1