Compare commits

...

7 Commits

Author SHA1 Message Date
Lennart Poettering cea0e4e281
Merge pull request #17358 from keszybz/hwdb-add-stars
Add trailing star to all hwdb patterns
2020-10-16 15:35:31 +02:00
Zbigniew Jędrzejewski-Szmek 32a4aec4fa man: describe wildcards and range matches in hwdb syntax 2020-10-15 18:06:23 +02:00
Zbigniew Jędrzejewski-Szmek ad2d8e61ee parse_hwdb: enforce the ":*" suffix 2020-10-15 18:01:32 +02:00
Zbigniew Jędrzejewski-Szmek c0443b97b7 hwdb: add trailing ":*" everywhere
No functional change is intended.
The general pattern of changes:

-usb:v04F3p2B7C*
+usb:v04F3p2B7C:*
This is mostly a clarification, to make the part that makes the usb vXXXXpYYYY
part visually separated. It would only make a difference if we added further
keys with a different number of digits, which is unlikely.

-usb:v0627p0001:*QEMU USB Keyboard*
-usb:v0627p0001:*QEMU USB Mouse*
-usb:v0627p0001:*QEMU USB Tablet*
+usb:v0627p0001:*QEMU USB Keyboard*:*
+usb:v0627p0001:*QEMU USB Mouse*:*
+usb:v0627p0001:*QEMU USB Tablet*:*
Again, only a clarification. We know that ":" will appear somewhere later in
the match key, so anything that matches "…Keyboard*" will also match "…Keyboard*:*".

-evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV*
+evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV:*
This makes the match narrower. Previously we would match product "N53SV"
and "N53SV2", "N53SV3", and others. Here we are saying that the ':pn' part must
match exactly. Most of the changes in this patch match this pattern. I made a few
judgement calls and used "pn…*:*" when I wasn't sure if the full pn is included:
-evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*
+evdev:name:Dell WMI hotkeys:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:*

-evdev:name:Cypress APA Trackpad ?cyapa?:dmi:*:svnHewlett-Packard*:pnFalco*:
+evdev:name:Cypress APA Trackpad ?cyapa?:dmi:*:svnHewlett-Packard*:pnFalco*:*
This more like the "QEMU" example above, since all dmi strings end in ":", so
anything which matches the old version will also match the new version.

-evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGateway*:pnA0A1*:pvr*
+evdev:atkbd:dmi:bvn*:bvr*:bd*:svnGateway*:pnA0A1*:*

I replaced trailing ":pvr*" by ":*". This makes no functional difference because
we expect "pvr" to always appear in the dmi string. This makes patterns shorter.

-evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*
+evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*:*

OTOH, ":pn*" is kept. This is because almost patterns include ":pn*", and if we
skip it, we should make it clear that this is on purpose, that we really want to
match any product name.

The python script to generate autosuspend rules is updated to use ":*" too.

Inspired by https://github.com/systemd/systemd/pull/17281#discussion_r501489750.
2020-10-15 18:01:32 +02:00
Zbigniew Jędrzejewski-Szmek b4dfe06e19 hwdb: add missinging ":*" suffix
I'm keeping this part separate because a function change is intended here.
Those patterns didn't match:

$ systemd-hwdb query 'evdev:atkbd:dmi:bvn_:bvr_:bd_:svnLENOVO:pn_:pvrThinkPadT430s'
KEYBOARD_LED_CAPSLOCK=0
$ systemd-hwdb query 'evdev:atkbd:dmi:bvn_:bvr_:bd_:svnLENOVO:pn_:pvrThinkPadT430s:'
(nil)
2020-10-15 13:37:05 +02:00
Zbigniew Jędrzejewski-Szmek 62ad1c6495 hwdb: reindent commments and say that "*" should always be trailing 2020-10-15 13:35:58 +02:00
Zbigniew Jędrzejewski-Szmek cc17fa8511 hwdb: update chromiumos autosuspend rules 2020-10-15 13:29:01 +02:00
13 changed files with 638 additions and 607 deletions

View File

@ -5,8 +5,8 @@
# Match string formats:
# <subsystem>:<modalias>
#
# pci:v<vendor>d<device>
# usb:v<vendor>p<product>
# pci:v<vendor>d<device>:
# usb:v<vendor>p<product>:
#
# To add local entries, create a new file
# /etc/udev/hwdb.d/61-autosuspend-local.hwdb
@ -24,8 +24,9 @@
#
# Allowed properties are:
# ID_AUTOSUSPEND=1
#
# All matches should end in ':*' to allow future expansions of the match key.
# Sort by brand, model
#########################################
@ -33,7 +34,7 @@
#########################################
# AU9540 Smartcard Reader
usb:v058Fp9540*
usb:v058Fp9540:*
ID_AUTOSUSPEND=1
#########################################
@ -41,9 +42,9 @@ usb:v058Fp9540*
#########################################
# X1C8 Touchscreen
usb:v04F3p2B7C*
usb:v04F3p2B7C:*
# T14 Gen 1 Touchscreen
usb:v04F3p2ACC*
usb:v04F3p2ACC:*
ID_AUTOSUSPEND=1
#########################################
@ -51,14 +52,14 @@ usb:v04F3p2ACC*
#########################################
# Emulated USB HID devices
usb:v0627p0001:*QEMU USB Keyboard*
usb:v0627p0001:*QEMU USB Mouse*
usb:v0627p0001:*QEMU USB Tablet*
usb:v0627p0001:*QEMU USB Keyboard*:*
usb:v0627p0001:*QEMU USB Mouse*:*
usb:v0627p0001:*QEMU USB Tablet*:*
ID_AUTOSUSPEND=1
#########################################
# Wacom
#########################################
usb:v056Ap51A0*
usb:v056Ap51A0:*
ID_AUTOSUSPEND=1

View File

@ -3,10 +3,10 @@
# The lookup keys are composed in:
# 60-evdev.rules
#
# Note: The format of the "evdev:" prefix match key is a
# contract between the rules file and the hardware data, it might
# change in later revisions to support more or better matches, it
# is not necessarily expected to be a stable ABI.
# Note: The format of the "evdev:" prefix match key is a contract between the
# rules file and the hardware data, it might change in later revisions to
# support more or better matches, it is not necessarily expected to be a stable
# ABI.
#
# Match string formats:
# evdev:<modalias>
@ -17,8 +17,8 @@
# and add your rules there. To load the new rules execute (as root):
# systemd-hwdb update
# udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the device in question. If in
# doubt, simply use /dev/input/event* to reload all input rules.
# where /dev/input/eventXX is the device in question. If in doubt, simply use
# /dev/input/event* to reload all input rules.
#
# If your changes are generally applicable, preferably send them as a pull
# request to
@ -30,13 +30,14 @@
# Allowed properties are:
# EVDEV_ABS_<axis>=<min>:<max>:<res>:<fuzz>:<flat>
#
# where <axis> is the hexadecimal EV_ABS code as listed in linux/input.h
# and min, max, res, fuzz, flat are the decimal values to the respective
# fields of the struct input_absinfo as listed in linux/input.h.
# If a field is missing the field will be left as-is. Not all fields need to
# be present. e.g. ::45 sets the resolution to 45 units/mm.
# where <axis> is the hexadecimal EV_ABS code as listed in linux/input.h and
# min, max, res, fuzz, flat are the decimal values to the respective fields of
# the struct input_absinfo as listed in linux/input.h. If a field is missing
# the field will be left as-is. Not all fields need to be present. e.g. ::45
# sets the resolution to 45 units/mm.
#
# All matches should end in ':*' to allow future expansions of the match key.
# Sort by brand, model
#########################################
@ -44,9 +45,9 @@
#########################################
# Hyperpen 12000U
evdev:input:b0003v08CAp0010*
evdev:input:b0003v08CAp0010:*
# Hyperpen 6000U
evdev:input:b0003v08CAp0020*
evdev:input:b0003v08CAp0020:*
EVDEV_ABS_00=::20
EVDEV_ABS_01=::20
@ -55,48 +56,48 @@ evdev:input:b0003v08CAp0020*
#########################################
# Macbook2,1 (late 2006), single-button touchpad
evdev:input:b0003v05ACp021B*
evdev:input:b0003v05ACp021B:*
# Macbook4,1
evdev:input:b0003v05ACp0229*
evdev:input:b0003v05ACp022A*
evdev:input:b0003v05ACp0229:*
evdev:input:b0003v05ACp022A:*
EVDEV_ABS_00=256:1471:12
EVDEV_ABS_01=256:831:12
# Macbook5,1 (unibody), aka wellspring3
evdev:input:b0003v05ACp0236*
evdev:input:b0003v05ACp0237*
evdev:input:b0003v05ACp0238*
evdev:input:b0003v05ACp0236:*
evdev:input:b0003v05ACp0237:*
evdev:input:b0003v05ACp0238:*
EVDEV_ABS_00=::92
EVDEV_ABS_01=::90
EVDEV_ABS_35=::92
EVDEV_ABS_36=::90
# Macbook8 (unibody, March 2011)
evdev:input:b0003v05ACp0245*
evdev:input:b0003v05ACp0246*
evdev:input:b0003v05ACp0247*
evdev:input:b0003v05ACp0245:*
evdev:input:b0003v05ACp0246:*
evdev:input:b0003v05ACp0247:*
EVDEV_ABS_00=::92
EVDEV_ABS_01=::91
EVDEV_ABS_35=::92
EVDEV_ABS_36=::91
# Macbook8,2 (unibody)
evdev:input:b0003v05ACp0252*
evdev:input:b0003v05ACp0253*
evdev:input:b0003v05ACp0254*
evdev:input:b0003v05ACp0252:*
evdev:input:b0003v05ACp0253:*
evdev:input:b0003v05ACp0254:*
EVDEV_ABS_00=::94
EVDEV_ABS_01=::92
EVDEV_ABS_35=::94
EVDEV_ABS_36=::92
# MacbookPro10,1 (unibody, June 2012)
evdev:input:b0003v05ACp0262*
evdev:input:b0003v05ACp0263*
evdev:input:b0003v05ACp0264*
evdev:input:b0003v05ACp0262:*
evdev:input:b0003v05ACp0263:*
evdev:input:b0003v05ACp0264:*
# MacbookPro10,2 (unibody, October 2012)
evdev:input:b0003v05ACp0259*
evdev:input:b0003v05ACp025A*
evdev:input:b0003v05ACp025B*
evdev:input:b0003v05ACp0259:*
evdev:input:b0003v05ACp025A:*
evdev:input:b0003v05ACp025B:*
EVDEV_ABS_00=::94
EVDEV_ABS_01=::92
EVDEV_ABS_35=::94
@ -133,7 +134,7 @@ evdev:name:Apple SPI Touchpad:dmi:*:svnAppleInc.:pnMacBookPro14,3:*
#########################################
# Asus N53SV
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV*
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnASUSTeKComputerInc.:pnN53SV:*
EVDEV_ABS_00=0:1152:14
EVDEV_ABS_01=0:576:10
EVDEV_ABS_35=0:1152:14
@ -145,7 +146,7 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnASUSTeKComputerInc.:pnF3Sg:*
EVDEV_ABS_01=1103:5856:61
# Asus VivoBook E402SA
evdev:name:Elan Touchpad:dmi:*svnASUSTeKCOMPUTERINC.:pnE402SA*
evdev:name:Elan Touchpad:dmi:*svnASUSTeKCOMPUTERINC.:pnE402SA:*
EVDEV_ABS_00=::29
EVDEV_ABS_01=::29
EVDEV_ABS_35=::29
@ -197,26 +198,26 @@ evdev:name:SYNA3602:00 0911:5288 Touchpad:dmi:*svnBANGHO:pnCLOUDPRO:*
#########################################
# Dell Vostro 1510
evdev:name:AlpsPS/2 ALPS GlidePoint*:dmi:bvn*:bvr*:bd*:svnDellInc.:pnVostro1510*
evdev:name:AlpsPS/2 ALPS GlidePoint*:dmi:bvn*:bvr*:bd*:svnDellInc.:pnVostro1510:*
EVDEV_ABS_00=::14
EVDEV_ABS_01=::18
# Dell Inspiron 3537 - PS/2
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnDellInc.:pnInspiron3537*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnDellInc.:pnInspiron3537:*
EVDEV_ABS_00=1268:5675:41
EVDEV_ABS_01=1101:4792:61
EVDEV_ABS_35=1268:5675:41
EVDEV_ABS_36=1101:4792:61
# Dell Inspiron 3537 - RMI4
evdev:name:Synaptics TM2382-001:dmi:*svnDellInc.:pnInspiron3537*
evdev:name:Synaptics TM2382-001:dmi:*svnDellInc.:pnInspiron3537:*
EVDEV_ABS_00=::24
EVDEV_ABS_01=::34
EVDEV_ABS_35=::24
EVDEV_ABS_36=::34
# Dell Inspiron N5040
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnInspironN5040*
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnInspironN5040:*
EVDEV_ABS_00=25:2000:22
EVDEV_ABS_01=0:1351:28
EVDEV_ABS_35=25:2000:22
@ -228,42 +229,42 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*bvn*:bvr*:bd*:svnDellInc.:pnMM061:*
EVDEV_ABS_01=687:5176:107
# Dell Latitude E6220
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6220*
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6220:*
EVDEV_ABS_00=76:1815:22
EVDEV_ABS_01=131:1330:30
EVDEV_ABS_35=76:1815:22
EVDEV_ABS_36=131:1330:30
# Dell Latitude E6320
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6320*
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6320:*
EVDEV_ABS_00=79:1841:22
EVDEV_ABS_01=140:1325:29
EVDEV_ABS_35=79:1841:22
EVDEV_ABS_36=140:1325:29
# Dell Latitude E7250
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7250*
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7250:*
EVDEV_ABS_00=179:3903:38
EVDEV_ABS_01=277:1916:32
EVDEV_ABS_35=179:3903:38
EVDEV_ABS_36=277:1916:32
# Dell Latitude E7470
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470*
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470:*
EVDEV_ABS_00=29:2930:30
EVDEV_ABS_01=26:1533:29
EVDEV_ABS_35=29:2930:30
EVDEV_ABS_36=26:1533:29
# Dell Precision 5510
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnPrecision5510*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnPrecision5510:*
EVDEV_ABS_00=::42
EVDEV_ABS_01=::43
EVDEV_ABS_35=::42
EVDEV_ABS_36=::43
# Dell Precision M4700
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnDellInc.:pnPrecisionM4700*
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnDellInc.:pnPrecisionM4700:*
EVDEV_ABS_00=0:1960:24
EVDEV_ABS_01=113:1436:30
EVDEV_ABS_35=0:1960:24
@ -277,14 +278,14 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnDellInc.:pnXPS139360:cvr:*
EVDEV_ABS_36=::60
# Dell XPS15 9550
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPS159550*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPS159550:*
EVDEV_ABS_00=::41
EVDEV_ABS_01=::43
EVDEV_ABS_35=::41
EVDEV_ABS_36=::43
# Dell XPS M1530
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPSM1530*
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPSM1530:*
EVDEV_ABS_00=85:947:15
EVDEV_ABS_01=154:726:18
@ -293,7 +294,7 @@ evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:bvn*:bvr*:bd*:svnDellInc.:pnXPSM1530*
#####
# Fujitsu Component - USB Touch Panel
evdev:input:b0003v0430p0530*
evdev:input:b0003v0430p0530:*
EVDEV_ABS_00=0:4096:16
EVDEV_ABS_01=0:4096:16
@ -302,7 +303,7 @@ evdev:input:b0003v0430p0530*
#########################################
# Chromebook Pixel (2015) - Samus
evdev:name:Atmel maXTouch Touch*:dmi:bvn*:bvr*:bd*:svnGOOGLE:pnSamus*
evdev:name:Atmel maXTouch Touch*:dmi:bvn*:bvr*:bd*:svnGOOGLE:pnSamus:*
EVDEV_ABS_00=::10
EVDEV_ABS_01=::10
EVDEV_ABS_35=::10
@ -313,28 +314,28 @@ evdev:name:Atmel maXTouch Touch*:dmi:bvn*:bvr*:bd*:svnGOOGLE:pnSamus*
#########################################
# HP Chromebook 14 (Falco)
evdev:name:Cypress APA Trackpad ?cyapa?:dmi:*:svnHewlett-Packard*:pnFalco*:
evdev:name:Cypress APA Trackpad ?cyapa?:dmi:*:svnHewlett-Packard*:pnFalco*:*
EVDEV_ABS_00=:::8
EVDEV_ABS_01=:::8
EVDEV_ABS_35=:::8
EVDEV_ABS_36=:::8
# HP Pavilion dm4
evdev:name:SynPS/2 Synaptics TouchPad*:dmi:*svnHewlett-Packard:pnHPPaviliondm4*
evdev:name:SynPS/2 Synaptics TouchPad*:dmi:*svnHewlett-Packard:pnHPPaviliondm4:*
EVDEV_ABS_00=1360:5563:47
EVDEV_ABS_01=1269:4618:61
EVDEV_ABS_35=1360:5563:47
EVDEV_ABS_36=1269:4618:61
# HP Pavilion g6
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvnHewlett-Packard:*svnHewlett-Packard:pnHPPaviliong6*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:bvnHewlett-Packard:*svnHewlett-Packard:pnHPPaviliong6:*
EVDEV_ABS_00=1255:5728:50
EVDEV_ABS_01=1215:4761:71
EVDEV_ABS_35=1255:5728:50
EVDEV_ABS_36=1215:4761:71
# HP Pavilion dv7
evdev:name:SynPS/2 Synaptics TouchPad*:dmi:*svnHewlett-Packard:pnHPPaviliondv7*
evdev:name:SynPS/2 Synaptics TouchPad*:dmi:*svnHewlett-Packard:pnHPPaviliondv7:*
EVDEV_ABS_00=1068:5805:44
EVDEV_ABS_01=1197:4890:57
EVDEV_ABS_35=1068:5805:44
@ -348,14 +349,14 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnHP:pnHPLaptop15-bs0xx:*
EVDEV_ABS_36=1029:4916:78
# HP Spectre
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnHP:pnHPSpectreNotebook*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnHP:pnHPSpectreNotebook:*
EVDEV_ABS_00=1205:5691:47
EVDEV_ABS_01=1083:4808:65
EVDEV_ABS_35=1205:5691:47
EVDEV_ABS_36=1083:4808:65
# HP Envy x360
evdev:name:SynPS/2 Synaptics TouchPad:*svnHP:pnHPENVYx360Convertible15m-cn0xxx*
evdev:name:SynPS/2 Synaptics TouchPad:*svnHP:pnHPENVYx360Convertible15m-cn0xxx:*
EVDEV_ABS_00=1302:5640:36
EVDEV_ABS_01=1119:4741:61
EVDEV_ABS_35=1302:5640:36
@ -366,28 +367,28 @@ evdev:name:SynPS/2 Synaptics TouchPad:*svnHP:pnHPENVYx360Convertible15m-cn0xxx*
#########################################
# Lenovo B590
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrLenovoB590*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrLenovoB590:*
EVDEV_ABS_00=1243:5759:48
EVDEV_ABS_01=1130:4832:65
EVDEV_ABS_35=1243:5759:48
EVDEV_ABS_36=1130:4832:65
# Lenovo E530
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:pn*ThinkPadEdgeE530*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:pn*ThinkPadEdgeE530:*
EVDEV_ABS_00=1241:5703:49
EVDEV_ABS_01=1105:4820:68
EVDEV_ABS_35=1241:5703:49
EVDEV_ABS_36=1105:4820:68
# Lenovo L430
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnLENOVO*:pvrThinkPadL430*
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnLENOVO*:pvrThinkPadL430:*
EVDEV_ABS_00=19:2197:29
EVDEV_ABS_01=12:1151:25
EVDEV_ABS_35=19:2197:29
EVDEV_ABS_36=12:1151:25
# Lenovo P50
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*P50*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*P50:*
EVDEV_ABS_00=::44
EVDEV_ABS_01=::67
EVDEV_ABS_35=::44
@ -410,129 +411,129 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX240?:*
EVDEV_ABS_36=1159:4700:53
# Lenovo ThinkPad X140e
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX140e*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX140e:*
EVDEV_ABS_00=1176:5767:62
EVDEV_ABS_01=416:5534:160
EVDEV_ABS_35=1176:5767:62
EVDEV_ABS_36=416:5534:160
# Lenovo ThinkPad T430
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadT430*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadT430:*
EVDEV_ABS_00=1250:5631:58
EVDEV_ABS_01=1309:4826:78
EVDEV_ABS_35=1250:5631:58
EVDEV_ABS_36=1309:4826:78
# Lenovo Thinkpad Carbon X1 4th gen. and X1 Yoga 1st gen.
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX1Carbon4th*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX1Carbon4th:*
EVDEV_ABS_00=1262:5679:44
EVDEV_ABS_01=1101:4824:65
EVDEV_ABS_35=1262:5679:44
EVDEV_ABS_36=1101:4824:65
# Lenovo Thinkpad Carbon X1 5th gen.
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX1Carbon5th*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX1Carbon5th:*
EVDEV_ABS_00=::44
EVDEV_ABS_01=::65
EVDEV_ABS_35=::44
EVDEV_ABS_36=::65
# Lenovo Thinkpad Carbon X1 5th gen. (rmi4)
evdev:name:Synaptics TM3289-002:dmi:*svnLENOVO*:pvrThinkPadX1Carbon5th*
evdev:name:Synaptics TM3289-002:dmi:*svnLENOVO*:pvrThinkPadX1Carbon5th:*
EVDEV_ABS_00=::19
EVDEV_ABS_01=::19
EVDEV_ABS_35=::19
EVDEV_ABS_36=::19
# Lenovo Thinkpad X1 Tablet Gen3
evdev:input:b0003v17EFp60B5*
evdev:input:b0003v17EFp60B5:*
EVDEV_ABS_00=::12
EVDEV_ABS_01=::11
EVDEV_ABS_35=::12
EVDEV_ABS_36=::11
# Lenovo T460
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*T460*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*T460:*
EVDEV_ABS_00=1266:5677:44
EVDEV_ABS_01=1093:4832:65
EVDEV_ABS_35=1266:5677:44
EVDEV_ABS_36=1093:4832:65
# Lenovo T510
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*T510*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*T510:*
EVDEV_ABS_00=778:6239:72
EVDEV_ABS_01=841:5330:100
EVDEV_ABS_35=778:6239:72
EVDEV_ABS_36=841:5330:100
# Lenovo V360
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrLenovoV360*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrLenovoV360:*
EVDEV_ABS_00=1243:5927:60
EVDEV_ABS_01=902:5330:108
# Lenovo W530
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrThinkPadW530*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrThinkPadW530:*
EVDEV_ABS_00=1250:5631:59
EVDEV_ABS_01=1205:4834:81
EVDEV_ABS_35=1250:5631:59
EVDEV_ABS_36=1205:4834:81
# Lenovo X220 series
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrThinkPadX220*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO:*pvrThinkPadX220:*
EVDEV_ABS_00=1316:5627:58
EVDEV_ABS_01=1355:4826:81
EVDEV_ABS_35=1316:5627:58
EVDEV_ABS_36=1355:4826:81
# Lenovo X230 series
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*X230*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*ThinkPad*X230:*
EVDEV_ABS_01=::100
EVDEV_ABS_36=::100
# Lenovo Y700-14ISK
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapadY700-14ISK*
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapadY700-14ISK:*
EVDEV_ABS_00=::27
EVDEV_ABS_01=::29
EVDEV_ABS_35=::27
EVDEV_ABS_36=::29
# Lenovo Ideapad 310S-14ISK
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapad310S-14ISK*
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapad310S-14ISK:*
EVDEV_ABS_00=113:3960:37
EVDEV_ABS_01=100:1959:27
EVDEV_ABS_35=113:3960:37
EVDEV_ABS_36=100:1959:27
# Lenovo Ideapad 500S-13ISK
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapad500S-13ISK*
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoideapad500S-13ISK:*
EVDEV_ABS_00=125:3955:37
EVDEV_ABS_01=104:1959:27
EVDEV_ABS_35=125:3954:37
EVDEV_ABS_36=104:1959:27
# Lenovo Yoga 500-14ISK
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoYoga500-14ISK*
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoYoga500-14ISK:*
EVDEV_ABS_00=124:3955:36
EVDEV_ABS_01=103:1959:26
EVDEV_ABS_35=124:3955:36
EVDEV_ABS_36=103:1959:26
# Lenovo Flex 3 15-inch
evdev:name:AlpsPS/2 ALPS GlidePoint*:dmi:bvn*:bvr*:bd*:svnLENOVO*:pvrFlex3-15*
evdev:name:AlpsPS/2 ALPS GlidePoint*:dmi:bvn*:bvr*:bd*:svnLENOVO*:pvrFlex3-15:*
EVDEV_ABS_00=::38
EVDEV_ABS_01=::28
EVDEV_ABS_35=::38
EVDEV_ABS_36=::28
# Lenovo ThinkPad Edge 13 (02173BG)
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*02173BG*:*pvrThinkPadEdge*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pn*02173BG*:*pvrThinkPadEdge:*
EVDEV_ABS_00=916:6077:55
EVDEV_ABS_01=653:5395:116
EVDEV_ABS_35=916:6077:55
EVDEV_ABS_36=653:5395:116
# Lenovo Yoga 500-14IBD, 80N4
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoYoga500-14IBD*
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoYoga500-14IBD:*
EVDEV_ABS_00=117:3952:36
EVDEV_ABS_01=105:1960:26
EVDEV_ABS_35=117:3952:36
@ -546,7 +547,7 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*:svnLENOVO:*pvrThinkPadT490:*
EVDEV_ABS_36=::52
# Lenovo Legion Y9000X2020
evdev:name:MSFT0001:02 04F3:304B Touchpad:dmi:*svnLENOVO:*pvrLenovoLegionY9000X2020*
evdev:name:MSFT0001:02 04F3:304B Touchpad:dmi:*svnLENOVO:*pvrLenovoLegionY9000X2020:*
EVDEV_ABS_00=::31
EVDEV_ABS_01=::30
EVDEV_ABS_35=::31
@ -564,7 +565,7 @@ evdev:name:1A58675*:00 06CB:8323 Touchpad:dmi:*svnRazer:pnBladeStealth:*
EVDEV_ABS_36=::11:8
# Razer Blade Stealth (2016)
evdev:name:Synaptics TM2438-005:dmi:*svnRazer:pnBladeStealth*
evdev:name:Synaptics TM2438-005:dmi:*svnRazer:pnBladeStealth:*
EVDEV_ABS_00=0:4064:29
EVDEV_ABS_01=0:2405:37
EVDEV_ABS_35=0:4064:29
@ -575,14 +576,14 @@ evdev:name:Synaptics TM2438-005:dmi:*svnRazer:pnBladeStealth*
#########################################
# Samsung 305V4
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn305V4A/305V5A*
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn305V4A/305V5A:*
EVDEV_ABS_00=0:2480:28
EVDEV_ABS_01=0:1116:24
EVDEV_ABS_35=0:2480:28
EVDEV_ABS_36=0:1116:24
# Samsung 880Z5E
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn870Z5E/880Z5E/680Z5E*
evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn870Z5E/880Z5E/680Z5E:*
EVDEV_ABS_00=::30
EVDEV_ABS_01=::29
EVDEV_ABS_35=::30
@ -593,7 +594,7 @@ evdev:name:ETPS/2 Elantech Touchpad:dmi:*svnSAMSUNGELECTRONICSCO.,LTD.:pn870Z5E/
#########################################
# Star LabTop Mk III
evdev:name:ALPS0001:00 0911:5288 Touchpad:dmi:*svnStarLabs:pnLabTop*
evdev:name:ALPS0001:00 0911:5288 Touchpad:dmi:*svnStarLabs:pnLabTop:*
EVDEV_ABS_00=0:2627:25
EVDEV_ABS_01=0:1331:20
EVDEV_ABS_35=0:2627:25
@ -622,12 +623,12 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnSystem76:pnGalagoPro:pvrgalp2:*
#########################################
# Toshiba Tecra M11
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnTOSHIBA:pnTECRAM11*
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:*svnTOSHIBA:pnTECRAM11:*
EVDEV_ABS_00=90:962:11
EVDEV_ABS_01=51:681:14
# Toshiba Satellite R830
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnTOSHIBA:pnSATELLITER830*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnTOSHIBA:pnSATELLITER830:*
EVDEV_ABS_00=1238:5785:53
EVDEV_ABS_01=1045:4826:76
EVDEV_ABS_35=1238:5785:53
@ -638,7 +639,7 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnTOSHIBA:pnSATELLITER830*
#########################################
# Trust Flex Graphics Tablet
evdev:input:b0003v2179p0004*
evdev:input:b0003v2179p0004:*
EVDEV_ABS_00=::234
EVDEV_ABS_01=::328
@ -647,11 +648,11 @@ evdev:input:b0003v2179p0004*
#########################################
# WALTOP International Corp. Slim Tablet
evdev:input:b0003v172Fp0031*
evdev:input:b0003v172Fp0031:*
EVDEV_ABS_00=0:10000:400
EVDEV_ABS_01=0:6250:400
#WALTOP International Corp. Graphics Tablet
evdev:input:b0003v172Fp0047*
evdev:input:b0003v172Fp0047:*
EVDEV_ABS_00=0:20000:80
EVDEV_ABS_01=0:12500:80

View File

@ -3,13 +3,13 @@
# The lookup keys are composed in:
# 60-input-id.rules
#
# Note: The format of the "input-id:" prefix match key is a
# contract between the rules file and the hardware data, it might
# change in later revisions to support more or better matches, it
# is not necessarily expected to be a stable ABI.
# Note: The format of the "input-id:" prefix match key is a contract between
# the rules file and the hardware data, it might change in later revisions to
# support more or better matches, it is not necessarily expected to be a stable
# ABI.
#
# Match string formats:
# id-input:modalias:<modalias>
# id-input:modalias:<modalias pattern>
#
# To add local entries, create a new file
# /etc/udev/hwdb.d/61-input-id-local.hwdb
@ -27,16 +27,14 @@
# udevadm info /dev/input/eventXX.
#
# This file must only be used where the input_id builtin assigns the wrong
# properties or lacks the assignment of some properties. This is almost
# always caused by a device not adhering to the standard of the device's
# type.
# properties or lacks the assignment of some properties. This is almost always
# caused by a device not adhering to the standard of the device's type.
#
# Allowed properties are:
# ID_INPUT
# ID_INPUT_ACCELEROMETER, ID_INPUT_MOUSE,
# ID_INPUT_POINTINGSTICK, ID_INPUT_TOUCHSCREEN, ID_INPUT_TOUCHPAD,
# ID_INPUT_TABLET, ID_INPUT_TABLET_PAD, ID_INPUT_JOYSTICK, ID_INPUT_KEY,
# ID_INPUT_KEYBOARD, ID_INPUT_SWITCH, ID_INPUT_TRACKBALL
# ID_INPUT, ID_INPUT_ACCELEROMETER, ID_INPUT_MOUSE, ID_INPUT_POINTINGSTICK,
# ID_INPUT_TOUCHSCREEN, ID_INPUT_TOUCHPAD, ID_INPUT_TABLET,
# ID_INPUT_TABLET_PAD, ID_INPUT_JOYSTICK, ID_INPUT_KEY, ID_INPUT_KEYBOARD,
# ID_INPUT_SWITCH, ID_INPUT_TRACKBALL
#
# ID_INPUT
# * MUST be set when ANY of ID_INPUT_* is set
@ -45,32 +43,33 @@
# ID_INPUT_TABLET
# * MUST be set when setting ID_INPUT_TABLET_PAD
#
# Allowed values are 1 and 0 to set or unset, repsectively.
# Allowed values are 1 and 0 to set or unset, respectively.
#
# NOT allowed in this file are:
# ID_INPUT_WIDTH_MM, ID_INPUT_HEIGHT_MM, ID_INPUT_TOUCHPAD_INTEGRATION
#
# All matches should end in ':*' to allow future expansions of the match key.
# Example:
# id-input:modalias:input:b0003v1234pABCD*
# id-input:modalias:input:b0003v1234pABCD:*
# ID_INPUT_TOUCHPAD=1
# ID_INPUT=1
# Sort by brand, model
# UC-Logic TABLET 1060N Pad
id-input:modalias:input:b0003v5543p0081*
id-input:modalias:input:b0003v5543p0081:*
ID_INPUT_TABLET=1
ID_INPUT_TABLET_PAD=1
# XP-PEN STAR 06
id-input:modalias:input:b0003v28bdp0078*
id-input:modalias:input:b0003v28bdp0078:*
ID_INPUT_TABLET=1
# Lite-On Tech IBM USB Travel Keyboard with Ultra Nav Mouse
id-input:modalias:input:b0003v04B3p301Ee0100-e0,1,2,4*
id-input:modalias:input:b0003v04B3p301Ee0100-e0,1,2,4*:*
ID_INPUT_POINTINGSTICK=1
# Logitech Ultrathin Touch Mouse
id-input:modalias:input:b0005v046DpB00De0700*
id-input:modalias:input:b0005v046DpB00De0700:*
ID_INPUT_MOUSE=1

File diff suppressed because it is too large Load Diff

View File

@ -3,16 +3,16 @@
# The lookup keys are composed in:
# 60-sensor.rules
#
# Note: The format of the "sensor:" prefix match key is a
# contract between the rules file and the hardware data, it might
# change in later revisions to support more or better matches, it
# is not necessarily expected to be a stable ABI.
# Note: The format of the "sensor:" prefix match key is a contract between the
# rules file and the hardware data, it might change in later revisions to
# support more or better matches, it is not necessarily expected to be a stable
# ABI.
#
# Match string formats:
# sensor:modalias:<parent device modalias>:dmi:<dmi string>
# sensor:modalias:<parent modalias pattern>:dmi:<dmi pattern>
#
# The device modalias can be seen in the `modalias` file
# of the sensor parent, for example:
# The device modalias can be seen in the `modalias` file of the sensor parent,
# for example:
# cat /sys/`udevadm info -q path -n /dev/iio:device0`/../modalias
#
# The full DMI string of the running machine can be read from
@ -46,7 +46,7 @@
# where <matrix> is a mount-matrix in the format specified in the IIO
# subsystem[1]. The default, when unset, is equivalent to:
# ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 1, 0; 0, 0, 1
# eg. the identity matrix.
# eg. the identity matrix,
# and <value> is an integer value above which an object is considered
# close by a proximity sensor:
# PROXIMITY_NEAR_LEVEL=100
@ -67,24 +67,26 @@
# or 'display'. The default, when unset, is equivalent to:
# ACCEL_LOCATION=display
#
# All matches should end in ':*' to allow future expansions of the match key.
# Sort by brand, model
#########################################
# Acer
#########################################
sensor:modalias:acpi:INVN6500*:dmi:*svn*Acer*:*pn*AspireSW5-011*
sensor:modalias:acpi:INVN6500*:dmi:*svn*Acer*:*pn*AspireSW5-011:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
sensor:modalias:acpi:INVN6500*:dmi:*svn*Acer*:*pn*AspireSW5-012*
sensor:modalias:acpi:INVN6500*:dmi:*svn*Acer*:*pn*AspireSW5-012:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
sensor:modalias:acpi:BOSC0200*:dmi:*svnAcer*:*TP-SW5-017-17BU*
sensor:modalias:acpi:BOSC0200*:dmi:*svnAcer*:*TP-SW5-017-17BU:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, -1
sensor:modalias:acpi:BMA250E*:dmi:*:svnAcer:pnIconiaW1-810:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
sensor:modalias:acpi:SMO8500:*:dmi:*Acer*:pnOneS1002*
sensor:modalias:acpi:SMO8500:*:dmi:*Acer*:pnOneS1002:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, -1
sensor:modalias:acpi:KIOX0009*:dmi:*:svnAcer:pnOneS1003:*
@ -93,11 +95,9 @@ sensor:modalias:acpi:KIOX0009*:dmi:*:svnAcer:pnOneS1003:*
sensor:modalias:acpi:BOSC0200*:dmi:*:svnAcer*:pnSwitchSW312-31:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
sensor:modalias:acpi:BOSC0200*:dmi:*svn*Acer*:*pn*Spin*SP111-32*
sensor:modalias:acpi:BOSC0200*:dmi:*svn*Acer*:*pn*Spin*SP111-33*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
sensor:modalias:acpi:BOSC0200*:dmi:*svnAcer*:*pnSpinSP111-34*
sensor:modalias:acpi:BOSC0200*:dmi:*svn*Acer*:*pn*Spin*SP111-32:*
sensor:modalias:acpi:BOSC0200*:dmi:*svn*Acer*:*pn*Spin*SP111-33:*
sensor:modalias:acpi:BOSC0200*:dmi:*svnAcer*:*pnSpinSP111-34:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
#########################################
@ -109,48 +109,48 @@ sensor:modalias:acpi:SMO8500*:dmi:*:svnARCHOS:pnARCHOS80Cesium:*
#########################################
# AsusTek
#########################################
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100CHI*
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100CHI:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT300CHI*
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT300CHI:*
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, 1
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnM80TA*
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100TA*
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT200TA*
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnM80TA:*
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnT100TA:*
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pnT200TA:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnTP201SA*
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pn*E205SA*
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pnTP201SA:*
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:pn*E205SA:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LA*
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LD*
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LA:*
sensor:modalias:acpi:INVN6500*:dmi:*svn*ASUSTeK*:*pn*TP300LD:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pn*Q551LN*
sensor:modalias:acpi:INVN6500*:dmi:*svnASUSTeK*:*pn*Q551LN:*
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
sensor:modalias:acpi:KXJ2109*:dmi:*:svnASUSTeK*:pnME176C*
sensor:modalias:acpi:KXJ2109*:dmi:*:svnASUSTeK*:pnME176C:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LJ*
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LJ:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LAB*
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LB*
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LAB:*
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP500LB:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LD*
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LD:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
sensor:modalias:acpi:BOSC0200*:dmi:*svn*ASUSTeK*:*pn*TP412UA*
sensor:modalias:acpi:BOSC0200*:dmi:*svn*ASUSTeK*:*pn*TP412UA:*
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, 1
#########################################
# Axxo
#########################################
sensor:modalias:acpi:SMO8500*:dmi:*:svnStandard:pnWCBT1011:*
sensor:modalias:acpi:SMO8500*:dmi:*:svnStandard:pnWCBT1011::*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
@ -207,8 +207,8 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:svnChuwi*:pnHi13:*
# Chuwi HiBook does not have its product name filled, so we
# match the entire dmi-alias, assuming that the use of a BOSC0200 +
# bios-version + bios-date combo is unique
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/07/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnHampoo:rnCherryTrailCR:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/28/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnHampoo:rnCherryTrailCR:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/07/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnHampoo:rnCherryTrailCR:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/28/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnHampoo:rnCherryTrailCR:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# Chuwi HiBook Pro (CWI526)
@ -218,7 +218,7 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo*:pnP1D6_C109K:*
# Chuwi CoreBook
# Chuwi CoreBook does not have its product name filled, so we
# match the entire dmi-alias
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvrY13D_KB133.103:bd06/01/2018:svnHampoo:pnDefaultstring:pvrV100:rvnHampoo:rnY13D_KB133:rvrV100:cvnDefaultstring:ct9:cvrDefaultstring:
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvrY13D_KB133.103:bd06/01/2018:svnHampoo:pnDefaultstring:pvrV100:rvnHampoo:rnY13D_KB133:rvrV100:cvnDefaultstring:ct9:cvrDefaultstring:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
@ -266,7 +266,7 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:svnALLDOCUBE:pni1102:*
#########################################
# Cytrix (Mytrix)
#########################################
sensor:modalias:acpi:*KIOX000A*:dmi:*svn*CytrixTechnology:*pn*Complex11t*
sensor:modalias:acpi:*KIOX000A*:dmi:*svn*CytrixTechnology:*pn*Complex11t:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
@ -276,17 +276,17 @@ sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:pnVostro5581:*
ACCEL_LOCATION=base
# Dell Venue 8 Pro 3845
sensor:modalias:acpi:INVN6500*:dmi:*svnDellInc.*:pnVenue8Pro3845*
sensor:modalias:acpi:INVN6500*:dmi:*svnDellInc.*:pnVenue8Pro3845:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Dell Venue 10 Pro 5055
sensor:modalias:acpi:INVN6500*:dmi:*svnDell*:pnVenue10Pro5055*
sensor:modalias:acpi:INVN6500*:dmi:*svnDell*:pnVenue10Pro5055:*
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, 1
#########################################
# DEXP
#########################################
sensor:modalias:acpi:SMO8500*:dmi:*svn*DEXP*:*pn*DEXPOEM*
sensor:modalias:acpi:SMO8500*:dmi:*svn*DEXP*:*pn*DEXPOEM:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
#########################################
@ -300,7 +300,7 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnDigma:pnCITIE203ES2010EW:*
#########################################
# Endless
#########################################
sensor:modalias:acpi:ACCE0001*:dmi:*svnEndless*:*pnELT-NL3*
sensor:modalias:acpi:ACCE0001*:dmi:*svnEndless*:*pnELT-NL3:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 0, 0, -1; -1, 0, 0
#########################################
@ -320,19 +320,19 @@ sensor:modalias:acpi:KIOX010A*:dmi:*:svnGEO*:pnGeoFlex*:*
#########################################
# Google Chromebooks
#########################################
sensor:modalias:platform:cros-ec-accel:dmi:*:svnGOOGLE*
sensor:modalias:platform:cros-ec-accel:dmi:*:svnGOOGLE:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
# caroline board (Samsung Chromebook Pro) reports itself as svnGoogle
sensor:modalias:platform:cros-ec-accel:dmi:*:svnGoogle:pnCaroline*
sensor:modalias:platform:cros-ec-accel:dmi:*:svnGoogle:pnCaroline*:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
# Dell Inspiron Chromebook 14 2-in-1
sensor:modalias:platform:cros-ec-accel:dmi:*svnGoogle:pnVayne*
sensor:modalias:platform:cros-ec-accel:dmi:*svnGoogle:pnVayne*:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
# nocturne board (Google Pixel Slate)
sensor:modalias:platform:cros-ec-accel:dmi:*Google_Nocturne*
sensor:modalias:platform:cros-ec-accel:dmi:*Google_Nocturne*:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
@ -352,13 +352,13 @@ sensor:modalias:acpi:KIOX000A*:dmi:bvnINSYDECorp.:bvrBYT70A.YNCHENG.WIN.007:*:sv
# and no other devices have both board_name *and* product_name set to
# "Default string". So combined with the sensor modalias and BIOS date this
# should be unique enough to identify the GPDwin
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd10/25/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd11/18/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd12/23/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd12/26/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd02/21/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd03/20/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/25/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd10/25/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd11/18/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd12/23/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd12/26/2016:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd02/21/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd03/20/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:bd05/25/2017:svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnAMICorporation:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
ACCEL_LOCATION=base
#########################################
@ -386,7 +386,7 @@ sensor:modalias:i2c:bmc150_accel:dmi:*:svnHewlett-Packard:pnHPPavilionx2Detachab
# The I.T.Works TW891 2-in-1's DMI has the product-name field set, but not
# the sys-vendor field. This makes the DMI data a bit generic, so we match
# the whole dmi modalias, except for the BIOS version/date
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:*:svnTobefilledbyO.E.M.:pnTW891:pvrTobefilledbyO.E.M.:rvnTobefilledbyO.E.M.:rnTW891:rvr1.0:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:*:svnTobefilledbyO.E.M.:pnTW891:pvrTobefilledbyO.E.M.:rvnTobefilledbyO.E.M.:rnTW891:rvr1.0:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# I.T.Works TW701 7" windows tablet, same hw as Trekstor ST70416-6
@ -402,7 +402,7 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnIRBIS:pnTW90:*
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
# NB111
sensor:modalias:acpi:KIOX010A*:dmi:*svn*IRBIS*:*pn*NB111*
sensor:modalias:acpi:KIOX010A*:dmi:*svn*IRBIS*:*pn*NB111:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
#TW118
@ -412,7 +412,7 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnIRBIS:pnTW118:*
#########################################
# iOTA 360
#########################################
sensor:modalias:acpi:KIOX000A*:dmi:*svn*iOTA*:*pn*IOTA2210*
sensor:modalias:acpi:KIOX000A*:dmi:*svn*iOTA*:*pn*IOTA2210:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
#########################################
@ -420,7 +420,7 @@ sensor:modalias:acpi:KIOX000A*:dmi:*svn*iOTA*:*pn*IOTA2210*
#########################################
# EZpad mini 3
sensor:modalias:acpi:BOSC0200*:dmi:bvnINSYDECorp.:bvrjumperx.T87.KFBNEE*
sensor:modalias:acpi:BOSC0200*:dmi:bvnINSYDECorp.:bvrjumperx.T87.KFBNEE:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# EZpad 6 Pro
@ -440,10 +440,10 @@ sensor:modalias:acpi:KIOX000A*:dmi:bvnINSYDECorp.:bvrVISION.I22K*:svnKAZAM:pnVIS
#########################################
# Lamina
#########################################
sensor:modalias:acpi:SMO8500*:dmi:*svnLamina*:*pnT701BR.SE*
sensor:modalias:acpi:SMO8500*:dmi:*svnLamina*:*pnT701BR.SE:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
sensor:modalias:acpi:KIOX000A*:dmi:*svnLAMINA:pnT-1016BNORD*
sensor:modalias:acpi:KIOX000A*:dmi:*svnLAMINA:pnT-1016BNORD:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
#########################################
@ -452,7 +452,7 @@ sensor:modalias:acpi:KIOX000A*:dmi:*svnLAMINA:pnT-1016BNORD*
sensor:modalias:acpi:NCPE0388*:dmi:*:rnLenovoYOGA510-14IKB:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, 1
sensor:modalias:acpi:BOSC0200*:dmi:*ThinkPadYoga11e3rdGen*
sensor:modalias:acpi:BOSC0200*:dmi:*ThinkPadYoga11e3rdGen:*
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
# Miix3-1030
@ -468,7 +468,7 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnLENOVO:pn81H3:*
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
# IdeaPad Miix 300
sensor:modalias:acpi:SMO8500*:dmi:bvnLENOVO:*:pvrMIIX300-*
sensor:modalias:acpi:SMO8500*:dmi:bvnLENOVO:*:pvrMIIX300-*:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# IdeaPad Miix 310 note this only is for BIOS version (bvr) 1HCN4?WW and 1HCN2?WW, which has
@ -479,7 +479,7 @@ sensor:modalias:acpi:KIOX000A*:dmi:bvnLENOVO:bvr1HCN2?WW:*:svnLENOVO:pn80SG:*
# IdeaPad Miix 320, different batches use a different sensor
sensor:modalias:acpi:*BOSC0200*:dmi:*:svnLENOVO*:pn80XF:*
sensor:modalias:acpi:SMO8840*:dmi:*:svnLENOVO:pn80XF:pvrLenovoMIIX320*
sensor:modalias:acpi:SMO8840*:dmi:*:svnLENOVO:pn80XF:pvrLenovoMIIX320:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# IdeaPad Miix 510, multiple expressions match different internal names
@ -591,7 +591,7 @@ sensor:modalias:acpi:BMA250E*:dmi:bvnINSYDECorp.:bvrONDA.W89*:svnInsyde:pnONDATa
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Onda v975w, generic DMI strings, match entire dmi modalias inc. bios-date
sensor:modalias:acpi:SMO8500*:dmi:bvnAmericanMegatrendsInc.:bvr5.6.5:bd07/25/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
sensor:modalias:acpi:SMO8500*:dmi:bvnAmericanMegatrendsInc.:bvr5.6.5:bd07/25/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
#########################################
@ -631,8 +631,8 @@ sensor:modalias:acpi:BMA250E*:dmi:*:svnShenzhenPLOYER*:pnMOMO7W:*
# The Point of View TAB-P800W does not have its product name filled, so we
# match the entire dmi-alias, assuming that the use of a BMA250E +
# bios-version + bios-date combo is unique
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr3BAIR1013:bd08/22/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr3BAIR1014:bd10/24/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr3BAIR1013:bd08/22/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr3BAIR1014:bd10/24/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# Point of View TAB-P1005W-232 (v2.0)
@ -654,7 +654,7 @@ sensor:modalias:acpi:SMO8500*:dmi:*:svnProwise:pnPT301:*
#########################################
# SCT101CTM
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvrSCH12i.WJ210Z.KtBJRCA03*
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvrSCH12i.WJ210Z.KtBJRCA03:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
@ -686,7 +686,7 @@ sensor:modalias:acpi:SMO8500*:dmi:*bd12/19/2014:*:rvnTECLAST:rntPAD:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# Teclast X98 Plus I (A5C6), generic DMI strings, match entire dmi modalias inc. bios-date
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.011:bd11/03/2015:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnCherryTrailCR:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:bvr5.011:bd11/03/2015:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnCherryTrailCR:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# Teclast X98 Plus II
@ -698,7 +698,7 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnX98PlusII:*
#########################################
# Thundersoft TST168 tablet, generic DMI strings, match entire dmi modalias inc. bios-date
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr5.6.5:bd04/15/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:
sensor:modalias:acpi:BMA250E*:dmi:bvnAmericanMegatrendsInc.:bvr5.6.5:bd04/15/2014:svnTobefilledbyO.E.M.:pnTobefilledbyO.E.M.:pvrTobefilledbyO.E.M.:rvnAMICorporation:rnAptioCRB:rvrTobefilledbyO.E.M.:cvnToBeFilledByO.E.M.:ct3:cvrToBeFilledByO.E.M.:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################

View File

@ -36,6 +36,8 @@
#
# If the property is missing, user-space can assume:
# ID_INPUT_JOYSTICK_INTEGRATION=external
#
# All matches should end in ':*' to allow future expansions of the match key.
joystick:bluetooth:*
ID_INPUT_JOYSTICK_INTEGRATION=external
@ -45,6 +47,6 @@ joystick:bluetooth:*
###########################################################
# GPD Win, Classic and XBox 360 compat modes
joystick:usb:v11c5p5507*
joystick:usb:v045ep028e*
joystick:usb:v11c5p5507:*
joystick:usb:v045ep028e:*
ID_INPUT_JOYSTICK_INTEGRATION=internal

View File

@ -6,35 +6,37 @@
# The lookup keys are composed in:
# 70-mouse.rules
#
# Note: The format of the "mouse:" prefix match key is a
# contract between the rules file and the hardware data, it might
# change in later revisions to support more or better matches, it
# is not necessarily expected to be a stable ABI.
# Note: The format of the "mouse:" prefix match key is a contract between the
# rules file and the hardware data, it might change in later revisions to
# support more or better matches, it is not necessarily expected to be a stable
# ABI.
#
# Match string format:
# Match key format:
# mouse:<subsystem>:v<vid>p<pid>:name:<name>:
#
# Supported subsystems: usb, bluetooth
# vid/pid as 4-digit hex lowercase vendor/product
#
# if vid/pid is unavailable, use
# mouse:*:name:<name>:
# mouse:*:name:<name>:*
# if name is unavailable, use
# mouse:<subsystem>:v<vid>p<pid>:*
#
# For example, the following 5 matches all match the same mouse:
# mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:
# mouse:usb:*:name:Lenovo Optical USB Mouse:
# mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:*
# mouse:usb:*:name:Lenovo Optical USB Mouse:*
# mouse:usb:v17efp6019:*
# mouse:*:name:Lenovo Optical USB Mouse:
# mouse:*:name:Lenovo Optical USB Mouse:*
#
# All matches should end in ':*' to allow future expansions of the match key.
#
# To add local entries, create a new file
# /etc/udev/hwdb.d/71-mouse-local.hwdb
# and add your rules there. To load the new rules execute (as root):
# systemd-hwdb update
# udevadm trigger /dev/input/eventXX
# where /dev/input/eventXX is the mouse in question. If in
# doubt, simply use /dev/input/event* to reload all input rules.
# where /dev/input/eventXX is the mouse in question. If in doubt, simply use
# /dev/input/event* to reload all input rules.
#
# If your changes are generally applicable, preferably send them as a pull
# request to
@ -141,9 +143,9 @@
##########################################
# Generic
##########################################
mouse:*:name:*Trackball*:
mouse:*:name:*trackball*:
mouse:*:name:*TrackBall*:
mouse:*:name:*Trackball*:*
mouse:*:name:*trackball*:*
mouse:*:name:*TrackBall*:*
ID_INPUT_TRACKBALL=1
##########################################
@ -153,7 +155,7 @@ mouse:*:name:*TrackBall*:
# Apple MagicMouse
# Note: this device changes name once connected to a mac, the name ends up
# as $username`s mouse
mouse:bluetooth:v05acp030d:name:*:
mouse:bluetooth:v05acp030d:name:*:*
MOUSE_DPI=1300@1000
##########################################
@ -161,7 +163,7 @@ mouse:bluetooth:v05acp030d:name:*:
##########################################
# Chicony 2.4G Multimedia Wireless Kit MG-0919
mouse:usb:v04f2p0963:name:Chicony 2.4G Multimedia Wireless Kit:
mouse:usb:v04f2p0963:name:Chicony 2.4G Multimedia Wireless Kit:*
MOUSE_DPI=1000@142
##########################################
@ -169,15 +171,15 @@ mouse:usb:v04f2p0963:name:Chicony 2.4G Multimedia Wireless Kit:
##########################################
# Dell MUAR DEL7
mouse:usb:v413cp3012:name:Dell Dell USB Optical Mouse:
mouse:usb:v413cp3012:name:Dell Dell USB Optical Mouse:*
MOUSE_DPI=400@166
# Dell USB Laser Mouse
mouse:usb:v046dpc063:name:DELL DELL USB Laser Mouse:
mouse:usb:v046dpc063:name:DELL DELL USB Laser Mouse:*
MOUSE_DPI=1000@125
# Dell MS116t
mouse:usb:v413cp301a:name:PixArt Dell MS116 USB Optical Mouse:
mouse:usb:v413cp301a:name:PixArt Dell MS116 USB Optical Mouse:*
MOUSE_DPI=1000@125
##########################################
@ -185,14 +187,14 @@ mouse:usb:v413cp301a:name:PixArt Dell MS116 USB Optical Mouse:
#########################################
# Dynex Wired Optical Mouse (DX-WMSE2)
mouse:usb:v0461p4d46:name:USB Optical Mouse:
mouse:usb:v0461p4d46:name:USB Optical Mouse:*
MOUSE_DPI=1000@125
##########################################
# Fujitsu Siemens
##########################################
mouse:usb:v0461p4d16:name:USB Optical Mouse:
mouse:usb:v0461p4d16:name:USB Optical Mouse:*
MOUSE_DPI=500@125
##########################################
@ -200,7 +202,7 @@ mouse:usb:v0461p4d16:name:USB Optical Mouse:
##########################################
# SNES Mouse plugged into a Retrode 2
mouse:usb:v0403p97c1:name:Retrode SNES Mouse:
mouse:usb:v0403p97c1:name:Retrode SNES Mouse:*
MOUSE_DPI=235@126
##########################################
@ -208,11 +210,11 @@ mouse:usb:v0403p97c1:name:Retrode SNES Mouse:
##########################################
# FM-901 Wireless Mouse
mouse:usb:v1ea7p000b:name:2.4G RF Mouse:
mouse:usb:v1ea7p000b:name:2.4G RF Mouse:*
MOUSE_DPI=*800@125 1600@125
# WK-727
mouse:usb:v04d9p0499:name:*
mouse:usb:v04d9p0499:name:*:*
MOUSE_DPI=800@125
##########################################
@ -220,7 +222,7 @@ mouse:usb:v04d9p0499:name:*
##########################################
# HandShoe Mouse
mouse:usb:v192fp0916:name:USB Optical Mouse:
mouse:usb:v192fp0916:name:USB Optical Mouse:*
MOUSE_DPI=1000@128
##########################################
@ -228,7 +230,7 @@ mouse:usb:v192fp0916:name:USB Optical Mouse:
##########################################
# Hoverstop active ergonomic mouse
mouse:usb:v088dp1234:name:HoverStop NL Hoverstop active ergonomic mouse:
mouse:usb:v088dp1234:name:HoverStop NL Hoverstop active ergonomic mouse:*
MOUSE_DPI=400@129
##########################################
@ -236,18 +238,18 @@ mouse:usb:v088dp1234:name:HoverStop NL Hoverstop active ergonomic mouse:
##########################################
# HP USB 1000dpi Laser Mouse
mouse:usb:v0458p0133:name:Mouse Laser Mouse:
mouse:usb:v0458p0133:name:Mouse Laser Mouse:*
MOUSE_DPI=1000@125
MOUSE_WHEEL_CLICK_ANGLE=15
# HP X1000
# Dell MS111-T
mouse:usb:v093ap2510:name:PixArt USB Optical Mouse:
mouse:usb:v093ap2510:name:PIXART USB OPTICAL MOUSE:
mouse:usb:v093ap2510:name:PixArt USB Optical Mouse:*
mouse:usb:v093ap2510:name:PIXART USB OPTICAL MOUSE:*
MOUSE_DPI=1000@125
# HP X1200 Optical Mouse
mouse:usb:v03f0p0641:name:PixArt HP X1200 USB Optical Mouse:
mouse:usb:v03f0p0641:name:PixArt HP X1200 USB Optical Mouse:*
MOUSE_DPI=1100@125
##########################################
@ -263,7 +265,7 @@ mouse:usb:v04b3p3107:name:*
##########################################
# Kensington Expert Mouse trackball
mouse:usb:v047dp1020:*Kensington Expert Mouse*
mouse:usb:v047dp1020:*Kensington Expert Mouse*:*
ID_INPUT_TRACKBALL=1
##########################################
@ -271,31 +273,31 @@ mouse:usb:v047dp1020:*Kensington Expert Mouse*
##########################################
# Lenovo Optical USB Mouse
mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:
mouse:usb:v17efp6019:name:Lenovo Optical USB Mouse:*
MOUSE_DPI=1000@125
# Lenovo M-U0025-O
mouse:usb:v17efp6019:name:Logitech Lenovo USB Optical Mouse:
mouse:usb:v17efp6019:name:Logitech Lenovo USB Optical Mouse:*
MOUSE_DPI=1000@166
# Lenovo USB mouse model MO28UOL
mouse:usb:v04b3p310c:name:USB Optical Mouse:
mouse:usb:v04b3p310c:name:USB Optical Mouse:*
MOUSE_DPI=400@142
# Lenovo Precision USB Mouse
mouse:usb:v17efp6050:name:Lenovo Precision USB Mouse:
mouse:usb:v17efp6050:name:Lenovo Precision USB Mouse:*
MOUSE_DPI=1200@127
# Lenovo MOBGUL
mouse:usb:v17efp601d:name:Primax Lenovo Laser Mouse:
mouse:usb:v17efp601d:name:Primax Lenovo Laser Mouse:*
MOUSE_DPI=1600@125
# Lenovo MOBGULA
mouse:usb:v17efp6045:name:Lenovo USB Laser Mouse:
mouse:usb:v17efp6045:name:Lenovo USB Laser Mouse:*
MOUSE_DPI=1600@125
# ThinkPad USB Laser Mouse
mouse:usb:v17efp6044:name:ThinkPad USB Laser Mouse:
mouse:usb:v17efp6044:name:ThinkPad USB Laser Mouse:*
MOUSE_DPI=1200@125
##########################################
@ -310,135 +312,135 @@ mouse:usb:v17efp6044:name:ThinkPad USB Laser Mouse:
## G Series ##
# Logitech G5 Laser Mouse
mouse:usb:v046dpc049:name:Logitech USB Gaming Mouse:
mouse:usb:v046dpc049:name:Logitech USB Gaming Mouse:*
MOUSE_DPI=400@500 *800@500 2000@500
# Logitech G500s Laser Gaming Mouse
mouse:usb:v046dpc24e:name:Logitech G500s Laser Gaming Mouse:
mouse:usb:v046dpc24e:name:Logitech G500s Laser Gaming Mouse:*
MOUSE_DPI=400@500 *800@500 2000@500
# Logitech G9
mouse:usb:v046dpc048:name:Logitech G9 Laser Mouse:
mouse:usb:v046dpc048:name:Logitech G9 Laser Mouse:*
MOUSE_DPI=400@1000 800@1000 *1600@1000
# Logitech G9x [Call of Duty MW3 Edition]
mouse:usb:v046dpc249:name:Logitech G9x Laser Mouse:
mouse:usb:v046dpc249:name:Logitech G9x Laser Mouse:*
MOUSE_DPI=400@1000 800@1000 *1600@1000 3200@1000
# Logitech G100s Optical Gaming Mouse
mouse:usb:v046dpc247:name:Logitech G100s Optical Gaming Mouse:
mouse:usb:v046dpc247:name:Logitech G100s Optical Gaming Mouse:*
MOUSE_DPI=*1000@500 1750@500 2500@500
# Logitech G400 (Wired)
mouse:usb:v046dpc245:name:Logitech Gaming Mouse G400:
mouse:usb:v046dpc245:name:Logitech Gaming Mouse G400:*
MOUSE_DPI=400@1000 *800@1000 1800@1000 3600@1000
# Logitech G400s (Wired)
mouse:usb:v046dpc24c:name:Logitech G400s Optical Gaming Mouse:
mouse:usb:v046dpc24c:name:Logitech G400s Optical Gaming Mouse:*
MOUSE_DPI=400@1000 *800@1000 2000@1000 4000@1000
# Logitech G402 Hyperion Fury
mouse:usb:v046dpc07e:name:Logitech Gaming Mouse G402:
mouse:usb:v046dpc07e:name:Logitech Gaming Mouse G402:*
MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000
# Logitech G500 Mouse
mouse:usb:v046dpc068:name:Logitech G500:
mouse:usb:v046dpc068:name:Logitech G500:*
MOUSE_DPI=*1600@500 2600@500 3600@500
# Logitech G502 Proteus Spectrum
mouse:usb:v046dpc332:name:Logitech Gaming Mouse G502:
mouse:usb:v046dpc332:name:Logitech Gaming Mouse G502:*
# Logitech G502 HERO SE
mouse:usb:v046dpc08b:name:Logitech G502 HERO SE:
mouse:usb:v046dpc08b:name:Logitech G502 HERO SE:*
# Logitech G502 Hero
mouse:usb:v046dpc08b:name:Logitech G502 HERO Gaming Mouse:
mouse:usb:v046dpc08b:name:Logitech G502 HERO Gaming Mouse:*
MOUSE_DPI=1200@1000 *2400@1000 3200@1000 6400@1000
# Logitech G700 Laser Mouse (Wired)
mouse:usb:v046dpc06b:name:Logitech G700 Laser Mouse:
mouse:usb:v046dpc06b:name:Logitech G700 Laser Mouse:*
# Logitech G700 Laser Mouse (Wireless)
mouse:usb:v046dpc531:name:Logitech USB Receiver:
mouse:usb:v046dpc531:name:Logitech USB Receiver:*
MOUSE_DPI=*1000@500 3800@500 500@1000 1500@1000 2000@1000
# Logitech G703 (Wired)
mouse:usb:v046dpc087:name:Logitech G703 Wired/Wireless Gaming Mouse:
mouse:usb:v046dpc087:name:Logitech G703 Wired/Wireless Gaming Mouse:*
# Logitech G703 (Wireless)
mouse:usb:v046dpc539:name:Logitech USB Receiver Mouse:
mouse:usb:v046dpc539:name:Logitech USB Receiver Mouse:*
MOUSE_DPI=400@1000 800@1000 *1600@1000 3200@1000
## M Series ##
# Logitech Wireless Mouse M185
mouse:usb:v046dp4008:name:Logitech M185:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4008:
mouse:usb:v046dp4008:name:Logitech M185:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4008:*
MOUSE_DPI=1000@125
# Logitech Wireless Mouse M510
mouse:usb:v046dp1025:name:Logitech M510:
mouse:usb:v046dp1025:name:Logitech M510:*
MOUSE_DPI=1000@125
# Logitech M705 (marathon mouse)
mouse:usb:v046dp101b:name:Logitech M705:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101b:
mouse:usb:v046dp101b:name:Logitech M705:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101b:*
MOUSE_DPI=1000@125
# Logitech M705 (newer version?)
mouse:usb:v046dp406d:name:Logitech M705:
mouse:usb:v046dp406d:name:Logitech M705:*
MOUSE_DPI=1000@167
# Logitech M305 Wireless Optical Mouse
mouse:usb:v046dpc52f:name:Logitech USB Receiver:
mouse:usb:v046dpc52f:name:Logitech USB Receiver:*
MOUSE_DPI=1000@170
# Logitech Wireless Mouse M310
mouse:usb:v046dp1024:name:Logitech M310:
mouse:usb:v046dp1024:name:Logitech M310:*
MOUSE_DPI=1100@168
# Logitech Wireless Mouse M325
mouse:usb:v046dp400a:name:Logitech M325:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:400a:
mouse:usb:v046dp400a:name:Logitech M325:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:400a:*
MOUSE_DPI=600@166
MOUSE_WHEEL_CLICK_ANGLE=20
# Logitech M570 trackball
mouse:usb:v046dp1028:name:Logitech M570:
mouse:usb:v046dp1028:name:Logitech M570:*
MOUSE_DPI=540@167
ID_INPUT_TRACKBALL=1
## MX Series ##
# Logitech Performance MX
mouse:usb:v046dp101a:name:Logitech Performance MX:
mouse:usb:v046dp101a:name:Logitech Performance MX:*
MOUSE_DPI=1000@166
# Logitech MX Revolution
mouse:usb:v046dpc51a:name:Logitech USB Receiver:
mouse:usb:v046dpc51a:name:Logitech USB Receiver:*
MOUSE_DPI=800@200
# Logitech MX 518
mouse:usb:v046dpc01e:name:Logitech USB-PS/2 Optical Mouse:
mouse:usb:v046dpc01e:name:Logitech USB-PS/2 Optical Mouse:*
MOUSE_DPI=400@125 *800@125 1600@125
# Logitech MX1000 Laser Cordless Mouse
mouse:bluetooth:v046dpb003:name:Logitech MX1000 mouse:
mouse:bluetooth:v046dpb003:name:Logitech MX1000 mouse:*
MOUSE_DPI=800@80
# Logitech Anywhere MX
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:1017:
mouse:usb:v046dp1017:name:Logitech Anywhere MX:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:1017:*
mouse:usb:v046dp1017:name:Logitech Anywhere MX:*
MOUSE_WHEEL_CLICK_ANGLE=20
# Logitech Anywhere MX 2S (via Logitech Unifying Receiver)
mouse:usb:v046dp406a:name:Logitech MX Anywhere 2S:
mouse:usb:v046dp406a:name:Logitech MX Anywhere 2S:*
MOUSE_WHEEL_CLICK_ANGLE=20
# Logitech Anywhere MX 2S (via Bluetooth)
mouse:bluetooth:v046dpb01a:name:MX Anywhere 2S Mouse:
mouse:bluetooth:v046dpb01a:name:MX Anywhere 2S Mouse:*
MOUSE_WHEEL_CLICK_ANGLE=20
# Logitech MX Master (via Logitech Unifying Receiver)
# Horiz wheel has 14 stops, angle is rounded up
mouse:usb:v046dp4060:name:Logitech MX Master:
mouse:usb:v046dp4041:name:Logitech MX Master:
mouse:usb:v046dp4060:name:Logitech MX Master:*
mouse:usb:v046dp4041:name:Logitech MX Master:*
MOUSE_DPI=1000@166
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
@ -447,7 +449,7 @@ mouse:usb:v046dp4041:name:Logitech MX Master:
# Logitech MX Master (via Bluetooth)
# Horiz wheel has 14 stops, angle is rounded up
mouse:bluetooth:v046dpb012:name:MX Master Mouse:
mouse:bluetooth:v046dpb012:name:MX Master Mouse:*
MOUSE_DPI=1000@2000
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
@ -456,7 +458,7 @@ mouse:bluetooth:v046dpb012:name:MX Master Mouse:
# Logitech MX Master 2S (via Logitech Unifying Receiver)
# Horiz wheel has 14 stops, angle is rounded up
mouse:usb:v046dp4069:name:Logitech MX Master 2s:
mouse:usb:v046dp4069:name:Logitech MX Master 2s:*
MOUSE_DPI=1000@125
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
@ -465,7 +467,7 @@ mouse:usb:v046dp4069:name:Logitech MX Master 2s:
# Logitech MX Master 2S (via Bluetooth)
# Horiz wheel has 14 stops, angle is rounded up
mouse:bluetooth:v046dpb019:name:MX Master 2S Mouse:
mouse:bluetooth:v046dpb019:name:MX Master 2S Mouse:*
MOUSE_DPI=1000@2000
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
@ -473,176 +475,176 @@ mouse:bluetooth:v046dpb019:name:MX Master 2S Mouse:
MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14
# Logitech MX Ergo (via Bluetooth)
mouse:bluetooth:v046dpb01d:name:MX Ergo Mouse:
mouse:bluetooth:v046dpb01d:name:MX Ergo Mouse:*
ID_INPUT_TRACKBALL=1
## Other ##
# Logitech M-BJ58 Optical Mouse
mouse:usb:v046dpc00e:name:Logitech USB-PS/2 Optical Mouse:
mouse:usb:v046dpc00e:name:Logitech USB-PS/2 Optical Mouse:*
MOUSE_DPI=400@125
# Logitech Mini Optical Mouse
mouse:usb:v046dpc016:name:Logitech Optical USB Mouse:
mouse:usb:v046dpc016:name:Logitech Optical USB Mouse:*
MOUSE_DPI=400@125
# Logitech MX310 Optical Mouse
mouse:usb:v046dpc01b:name:Logitech USB-PS/2 Optical Mouse:
mouse:usb:v046dpc01b:name:Logitech USB-PS/2 Optical Mouse:*
MOUSE_DPI=400@125
# Logitech USB-PS/2 M-BT58
mouse:usb:v046dpc03e:name:Logitech USB-PS/2 Optical Mouse:
mouse:usb:v046dpc03e:name:Logitech USB-PS/2 Optical Mouse:*
MOUSE_DPI=400@125
# Logitech TrackMan Marble Wheel USB
mouse:usb:v046dpc401:name:Logitech USB-PS/2 Trackball:
mouse:usb:v046dpc401:name:Logitech USB-PS/2 Trackball:*
MOUSE_DPI=400@125
# Logitech Cordless MouseMan Optical M-RM63
mouse:usb:v046dpc501:name:Logitech USB Receiver:
mouse:usb:v046dpc501:name:Logitech USB Receiver:*
MOUSE_DPI=800@63
# Logitech USB-PS/2 M-BZ96C
mouse:usb:v046dpc045:name:Logitech USB-PS/2 Optical Mouse:
mouse:usb:v046dpc045:name:Logitech USB-PS/2 Optical Mouse:*
MOUSE_DPI=600@125
# Logitech MX400 Performance Laser Mouse
mouse:usb:v046dpc043:name:Logitech USB-PS/2 Optical Mouse:
mouse:usb:v046dpc043:name:Logitech USB-PS/2 Optical Mouse:*
MOUSE_DPI=800@125
# Logitech MX1000 Laser Cordless Mouse
mouse:usb:v046dpc50e:name:Logitech USB RECEIVER:
mouse:usb:v046dpc50e:name:Logitech USB RECEIVER:*
MOUSE_DPI=800@125
# Logitech Cordless Click! Plus
mouse:usb:v046dpc50e:name:Logitech USB Receiver:
mouse:usb:v046dpc50e:name:Logitech USB Receiver:*
MOUSE_DPI=800@125
# Logitech, Inc. RX 300 Optical Mouse
mouse:usb:v046dpc040:name:Logitech USB-PS/2 Optical Mouse:
mouse:usb:v046dpc040:name:Logitech USB-PS/2 Optical Mouse:*
MOUSE_DPI=800@125
# Logitech, Inc. RX 250 Optical Mouse
mouse:usb:v046dpc050:name:Logitech USB-PS/2 Optical Mouse:
mouse:usb:v046dpc050:name:Logitech USB-PS/2 Optical Mouse:*
MOUSE_DPI=1000@142
# Logitech B605 Wireless Mouse (also M505)
mouse:usb:v046dp101d:name:Logitech B605:
mouse:usb:v046dp101d:name:Logitech M505:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101d:
mouse:usb:v046dp101d:name:Logitech B605:*
mouse:usb:v046dp101d:name:Logitech M505:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:101d:*
MOUSE_DPI=900@166
# Logitech Cordless Desktop Wave Mouse
mouse:usb:v046dpc517:name:Logitech USB Receiver:
mouse:usb:v046dpc517:name:Logitech USB Receiver:*
MOUSE_DPI=950@125
# Logitech RX1000 Laser Mouse
mouse:usb:v046dpc046:name:Logitech USB Optical Mouse:
mouse:usb:v046dpc046:name:Logitech USB Optical Mouse:*
MOUSE_DPI=1000@125
# Logitech M100 Optical Mouse
mouse:usb:v046dpc05a:name:Logitech USB Optical Mouse:
mouse:usb:v046dpc05a:name:Logitech USB Optical Mouse:*
MOUSE_DPI=1000@125
# Logitech USB Laser Mouse M-U0011-O rebranded as "terra Laser"
mouse:usb:v046dpc065:name:Logitech USB Laser Mouse:
mouse:usb:v046dpc065:name:Logitech USB Laser Mouse:*
MOUSE_DPI=1000@125
# Logitech USB Laser Mouse M-U0007 [M500]
mouse:usb:v046dpc069:name:Logitech USB Laser Mouse:
mouse:usb:v046dpc069:name:Logitech USB Laser Mouse:*
MOUSE_DPI=1000@125
# Logitech V500 Cordless Notebook Mouse
mouse:usb:v046dpc510:name:Logitech USB Receiver:
mouse:usb:v046dpc510:name:Logitech USB Receiver:*
MOUSE_DPI=1000@125
# Logitech M560 Wireless Mouse
mouse:usb:v046dp402d:name:Logitech M560:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:402d:
mouse:usb:v046dp402d:name:Logitech M560:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:402d:*
MOUSE_DPI=1000@125
# Logitech MK260 Wireless Combo Receiver aka M-R0011
mouse:usb:v046dpc52e:name:Logitech USB Receiver:
mouse:usb:v046dpc52e:name:Logitech USB Receiver:*
MOUSE_DPI=1000@200
# Logitech USB Laser Mouse M-UAS144 [LS1 Laser Mouse]
mouse:usb:v046dpc062:name:Logitech USB Laser Mouse:
mouse:usb:v046dpc062:name:Logitech USB Laser Mouse:*
MOUSE_DPI=1200@125
# Logitech T620 (or, the soap)
mouse:usb:v046dp4027:name:Logitech T620:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4027:
mouse:usb:v046dp4027:name:Logitech T620:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4027:*
MOUSE_DPI=1200@250
# Logitech ZoneTouch Mouse T400
mouse:usb:v046dp4026:name:Logitech T400:
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4026:
mouse:usb:v046dp4026:name:Logitech T400:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:4026:*
MOUSE_DPI=1300@166
# Logitech TrackMan Wheel (USB)
mouse:usb:v046dpc404:name:Logitech Trackball:
mouse:usb:v046dpc404:name:Logitech Trackball:*
MOUSE_DPI=300@125
# Logitech Ultrathin Touch Mouse
mouse:bluetooth:v046dpb00d:name:Ultrathin Touch Mouse:
mouse:bluetooth:v046dpb00d:name:Ultrathin Touch Mouse:*
MOUSE_DPI=1000@1000
# ImPS/2 Logitech Wheel Mouse
mouse:ps2:*:name:ImPS/2 Logitech Wheel Mouse:
mouse:ps2:*:name:ImPS/2 Logitech Wheel Mouse:*
MOUSE_DPI=400@100
# ImExPS/2 Logitech Wheel Mouse
mouse:ps2:*:name:ImExPS/2 Logitech Wheel Mouse:
mouse:ps2:*:name:ImExPS/2 Logitech Wheel Mouse:*
MOUSE_DPI=400@250
##########################################
# Microsoft
##########################################
mouse:usb:v045ep0040:name:Microsoft Microsoft 3-Button Mouse with IntelliEye(TM):
mouse:usb:v045ep0040:name:Microsoft Microsoft 3-Button Mouse with IntelliEye(TM):*
MOUSE_DPI=400@125
# Note: unsure that these work, it's likely that all devices on these
# receivers show up with the same vid/pid/name
# Microsoft Wireless Mouse 5000
mouse:usb:v045ep0745:name:Microsoft Microsoft® 2.4GHz Transceiver v6.0:
mouse:usb:v045ep0745:name:Microsoft Microsoft® 2.4GHz Transceiver v6.0:*
MOUSE_DPI=800@142
# Microsoft Comfort Mouse 4500
mouse:usb:v045ep076c:name:Microsoft Microsoft® Comfort Mouse 4500:
mouse:usb:v045ep076c:name:Microsoft Microsoft® Comfort Mouse 4500:*
MOUSE_DPI=1000@125
# Microsoft Wireless Mobile Mouse 4000
mouse:usb:v045ep0745:name:Microsoft Microsoft® Nano Transceiver v2.0:
mouse:usb:v045ep0745:name:Microsoft Microsoft® Nano Transceiver v2.0:*
MOUSE_DPI=1000@142
# Microsoft Sculpt Ergonomic Mouse
mouse:usb:v045ep07a5:name:Microsoft Microsoft® 2.4GHz Transceiver v9.0:
mouse:usb:v045ep07a5:name:Microsoft Microsoft® 2.4GHz Transceiver v9.0:*
MOUSE_DPI=1000@142
# Microsoft Arc Touch Mouse USB
mouse:usb:v045ep07b1:name:Microsoft Microsoft® Nano Transceiver v1.0:
mouse:usb:v045ep07b1:name:Microsoft Microsoft® Nano Transceiver v1.0:*
MOUSE_DPI=1400@142
# Microsoft Wireless Laser Mouse 8000
mouse:bluetooth:v045ep0702:name:Microsoft Wireless Laser Mouse 8000:
mouse:bluetooth:v045ep0702:name:Microsoft Wireless Laser Mouse 8000:*
MOUSE_DPI=1000@1000
# Microsoft Sculpt Comfort Mouse
mouse:bluetooth:v045ep07a2:name:Microsoft Sculpt Comfort Mouse:
mouse:bluetooth:v045ep07a2:name:Microsoft Sculpt Comfort Mouse:*
MOUSE_DPI=1000@2000
# Microsoft Arc Touch Mouse SE:
mouse:bluetooth:v045ep07f3:name:Arc Touch Mouse SE:
mouse:bluetooth:v045ep07f3:name:Arc Touch Mouse SE:*
MOUSE_DPI=1000@2000
# Microsoft Surface Mouse
mouse:bluetooth:v0000p0000:name:Surface Mouse:
mouse:bluetooth:v0000p0000:name:Surface Mouse:*
MOUSE_DPI=2000@2000
# Microsoft Classic IntelliMouse
mouse:usb:v045ep0823:name:Microsoft Microsoft?? Classic IntelliMouse??:
mouse:usb:v045ep0823:name:Microsoft Microsoft?? Classic IntelliMouse??:*
MOUSE_DPI=3200@1000
##########################################
@ -650,7 +652,7 @@ mouse:usb:v045ep0823:name:Microsoft Microsoft?? Classic IntelliMouse??:
##########################################
#Mionix Avior 7000
mouse:usb:v22d4p1308:name:Laview Technology Mionix Avior 7000:
mouse:usb:v22d4p1308:name:Laview Technology Mionix Avior 7000:*
MOUSE_DPI=400@1000 *1600@1000 7000@1000
MOUSE_WHEEL_CLICK_ANGLE=15
@ -659,7 +661,7 @@ mouse:usb:v22d4p1308:name:Laview Technology Mionix Avior 7000:
##########################################
# MODECOM MC-WM4 Wireless Optical Mouse
mouse:usb:v0e8fp00a7:name:DaKai 2.4G RX:
mouse:usb:v0e8fp00a7:name:DaKai 2.4G RX:*
MOUSE_DPI=*800@126 1600@126
##########################################
@ -667,7 +669,7 @@ mouse:usb:v0e8fp00a7:name:DaKai 2.4G RX:
##########################################
# Oklick 406S Bluetooth Laser Mouse
mouse:bluetooth:v056ep0061:name:Laser BTmouse:
mouse:bluetooth:v056ep0061:name:Laser BTmouse:*
MOUSE_DPI=*800@333 1600@333
##########################################
@ -675,7 +677,7 @@ mouse:bluetooth:v056ep0061:name:Laser BTmouse:
##########################################
# P-Active Wireless Mouse PA-27K2
mouse:usb:v0425p0101:name:G-Tech CHINA USB Wireless Mouse & KeyBoard V1.01 :
mouse:usb:v0425p0101:name:G-Tech CHINA USB Wireless Mouse & KeyBoard V1.01 :*
MOUSE_DPI=800@125
##########################################
@ -683,11 +685,11 @@ mouse:usb:v0425p0101:name:G-Tech CHINA USB Wireless Mouse & KeyBoard V1.01 :
##########################################
# Razer Abyssus
mouse:usb:v1532p0042:name:Razer Razer Abyssus:
mouse:usb:v1532p0042:name:Razer Razer Abyssus:*
MOUSE_DPI=1600@1000
# Razer DeathAdder Black Edition
mouse:usb:v1532p0029:name:Razer Razer DeathAdder:
mouse:usb:v1532p0029:name:Razer Razer DeathAdder:*
MOUSE_DPI=3500@1000
##########################################
@ -695,7 +697,7 @@ mouse:usb:v1532p0029:name:Razer Razer DeathAdder:
##########################################
# Roccat Lua (ROC-11-310)
mouse:usb:v1e7dp2c2e:name:ROCCAT ROCCAT Lua:
mouse:usb:v1e7dp2c2e:name:ROCCAT ROCCAT Lua:*
MOUSE_DPI=250@125 500@125 1000@125 1250@125 1500@125 1750@125 2000@125 250@250 500@250 1000@250 1250@250 1500@250 1750@250 2000@250 250@500 500@500 1000@500 1250@500 1500@500 1750@500 2000@500 250@1000 500@1000 *1000@1000 1250@1000 1500@1000 1750@1000 2000@1000
MOUSE_WHEEL_CLICK_ANGLE=15
@ -704,7 +706,7 @@ mouse:usb:v1e7dp2c2e:name:ROCCAT ROCCAT Lua:
##########################################
# Sharkoon Shark Force Gaming Mouse
mouse:usb:v093ap2521:name:USB OPTICAL MOUSE:
mouse:usb:v093ap2521:name:USB OPTICAL MOUSE:*
MOUSE_DPI=*1000@125 1600@125 600@125
##########################################
@ -712,7 +714,7 @@ mouse:usb:v093ap2521:name:USB OPTICAL MOUSE:
##########################################
# SteelSeries Sensei Raw
mouse:usb:v1038p1369:name:SteelSeries Sensei Raw Gaming Mouse:
mouse:usb:v1038p1369:name:SteelSeries Sensei Raw Gaming Mouse:*
MOUSE_DPI=1000@1022
##########################################
@ -720,7 +722,7 @@ mouse:usb:v1038p1369:name:SteelSeries Sensei Raw Gaming Mouse:
##########################################
# Trust illuminated mouse gxt 152
mouse:usb:v145fp01ac:name:HID-compliant Mouse Trust Gaming Mouse:
mouse:usb:v145fp01ac:name:HID-compliant Mouse Trust Gaming Mouse:*
MOUSE_DPI=*800@528 1200@537 1600@536 2400@521
##########################################
@ -742,7 +744,7 @@ mouse:usb:v3057p0001:*
MOUSE_WHEEL_CLICK_ANGLE=23
# Zowie ZA12
mouse:usb:v1af3p0001:name:Kingsis Peripherals ZOWIE Gaming mouse:
mouse:usb:v1af3p0001:name:Kingsis Peripherals ZOWIE Gaming mouse:*
MOUSE_DPI=400@125 *800@125 1600@125 3200@125 400@500 800@500 1600@500 3200@500 400@1000 800@1000 1600@1000 3200@1000
MOUSE_WHEEL_CLICK_COUNT=16
MOUSE_WHEEL_CLICK_ANGLE=23

View File

@ -13,7 +13,7 @@
#
# Supported hardware matches are:
# - Generic input devices match:
# evdev:input:bZZZZvYYYYpXXXXeWWWW-VVVV
# evdev:input:bZZZZvYYYYpXXXXeWWWW-VVVV:*
# This matches on the kernel modalias of the input-device, mainly:
# ZZZZ is the bus-id (see /usr/include/linux/input.h BUS_*), YYYY, XXXX and
# WWW are the 4-digit hex uppercase vendor, product and version ID and VVVV
@ -22,11 +22,13 @@
# in /sys/class/input/eventX/device/id.
#
# - Input driver device name and DMI data match:
# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*
# evdev:name:<input device name>:dmi:bvn*:bvr*:bd*:svn<vendor>:pn*:*
# <input device name> is the name device specified by the driver,
# <vendor> is the firmware-provided string from the kernel DMI modalias,
# see /sys/class/dmi/id/modalias
#
# All matches should end in ':*' to allow future expansions of the match key.
#
# To add local entries, create a new file
# /etc/udev/hwdb.d/71-pointingstick-local.hwdb
# and add your rules there. To load the new rules execute (as root):
@ -76,7 +78,6 @@
# drivers/input/mouse/trackpoint.c in the Linux kernel sources.
#
#
# Sort by brand, model
#########################################
@ -84,23 +85,23 @@
#########################################
# Latitude D620
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeD620*:pvr*
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeD620*:*
POINTINGSTICK_CONST_ACCEL=0.5
# Latitude E5570
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE5570*:pvr*
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE5570*:*
POINTINGSTICK_CONST_ACCEL=0.1
# Latitude E6320
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6320*:pvr*
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6320*:*
POINTINGSTICK_CONST_ACCEL=2.0
# Latitude E6400
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6400*:pvr*
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE6400*:*
POINTINGSTICK_CONST_ACCEL=1.5
# Latitude E7470
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470*:pvr*
evdev:name:*DualPoint Stick:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470*:*
POINTINGSTICK_CONST_ACCEL=0.6
#########################################
@ -156,6 +157,6 @@ evdev:name:TPPS/2 IBM TrackPoint:dmi:bvn*:bvr*:bd*:svnLENOVO:pn*:pvrThinkPadX20?
POINTINGSTICK_CONST_ACCEL=1.25
# Lenovo UltraNav SK-8845 (USB keyboard)
evdev:input:b0003v06CBp0009*
evdev:input:b0003v06CBp0009:*
POINTINGSTICK_CONST_ACCEL=2.5
POINTINGSTICK_SENSITIVITY=200

View File

@ -15,6 +15,8 @@
#
# vid/pid as 4-digit hex lowercase vendor/product
#
# All matches should end in ':*' to allow future expansions of the match key.
#
# To add local entries, create a new file
# /etc/udev/hwdb.d/71-touchpad-local.hwdb
# and add your rules there. To load the new rules execute (as root):
@ -59,11 +61,11 @@ touchpad:usb:v044ep1221:*
###########################################################
# Logitech
###########################################################
touchpad:usb:v046d*
touchpad:usb:v046dp????:*
ID_INPUT_TOUCHPAD_INTEGRATION=external
###########################################################
# Wacom
###########################################################
touchpad:usb:v056a*
touchpad:usb:v056ap????:*
ID_INPUT_TOUCHPAD_INTEGRATION=external

View File

@ -201,8 +201,9 @@ def check_matches(groups):
except ParseBaseException as e:
error('Pattern {!r} is invalid: {}', rest, e)
continue
if rest[-1] not in '*:':
error('pattern {} does not end with "*" or ":"', match)
if not rest.endswith(':*'):
error("pattern {!r} does not end with ':*'", match)
matches.sort()
prev = None

View File

@ -47,6 +47,19 @@
they are combined by OR. Every match line must start at the first character of the
line.</para>
<para>Match patterns consist of literal characters, and shell-style wildcards:</para>
<itemizedlist>
<listitem><para>Asterisk <literal>*</literal> matches any number of characters
</para></listitem>
<listitem><para>Question mark <literal>?</literal> matches a single character
</para></listitem>
<listitem><para>Character list <literal>[<replaceable>chars</replaceable>]</literal> matches one of
the characters <replaceable>chars</replaceable> listed between <literal>[</literal> and
<literal>]</literal>. A range may be specified as with a dash as
<literal>[<replaceable>first</replaceable>-<replaceable>last</replaceable>]</literal>. The match may
be inverted with a caret <literal>[^…]</literal>.</para></listitem>
</itemizedlist>
<para>The match lines are followed by one or more key-value pair lines, which are
recognized by a leading space character. The key name and value are separated by
<literal>=</literal>. An empty line signifies the end of a record. Lines beginning
@ -79,13 +92,18 @@
# it defines, and the ordering convention.
# A record with three matches and one property
mouse:*:name:*Trackball*:
mouse:*:name:*trackball*:
mouse:*:name:*TrackBall*:
mouse:*:name:*Trackball*:*
mouse:*:name:*trackball*:*
mouse:*:name:*TrackBall*:*
ID_INPUT_TRACKBALL=1
# The rule above could be also be written in a form that
# matches Tb, tb, TB, tB:
mouse:*:name:*[tT]rack[bB]all*:*
ID_INPUT_TRACKBALL=1
# A record with a single match and five properties
mouse:usb:v046dp4041:name:Logitech MX Master:
mouse:usb:v046dp4041:name:Logitech MX Master:*
MOUSE_DPI=1000@166
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
@ -98,26 +116,30 @@ mouse:usb:v046dp4041:name:Logitech MX Master:
<title>Overriding of properties</title>
<programlisting># /usr/lib/udev/hwdb.d/60-keyboard.hwdb
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn*:*
KEYBOARD_KEY_a1=help
KEYBOARD_KEY_a2=setup
KEYBOARD_KEY_a3=battery
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer*:pn123*
# Match vendor name "Acer" and any product name starting with "X123"
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnAcer:pnX123*:*
KEYBOARD_KEY_a2=wlan
# /etc/udev/hwdb.d/70-keyboard.hwdb
# disable wlan key on all at keyboards
evdev:atkbd:*
KEYBOARD_KEY_a2=reserved</programlisting>
KEYBOARD_KEY_a2=reserved
PROPERTY_WITH_SPACES=some string</programlisting>
<para>If the hwdb consists of those two files, a keyboard with the lookup string
<literal>evdev:atkbd:dmi:bvnAcer:bdXXXXX:bd08/05/2010:svnAcer:pn123</literal>
<literal>evdev:atkbd:dmi:bvnAcer:bdXXXXX:bd08/05/2010:svnAcer:pnX123</literal>
will match all three records, and end up with the following properties:</para>
<programlisting>KEYBOARD_KEY_a1=help
KEYBOARD_KEY_a2=reserved
KEYBOARD_KEY_a3=battery</programlisting>
KEYBOARD_KEY_a3=battery
PROPERTY_WITH_SPACES=some string</programlisting>
</example>
</refsect1>

View File

@ -226,6 +226,8 @@ PCI_IDS += [
'8086:02a4',
# USB controller
'8086:02ed',
# Volteer xHCI controller
'8086:a0ed',
# Graphics
'8086:9b41',
# DSP

View File

@ -7,18 +7,18 @@
import chromiumos.gen_autosuspend_rules
print('# pci:v<00VENDOR>d<00DEVICE> (8 uppercase hexadecimal digits twice)')
print('# pci:v<00VENDOR>d<00DEVICE>:* (8 uppercase hexadecimal digits twice)')
for entry in chromiumos.gen_autosuspend_rules.PCI_IDS:
vendor, device = entry.split(':')
vendor = int(vendor, 16)
device = int(device, 16)
print('pci:v{:08X}d{:08X}*'.format(vendor, device))
print('pci:v{:08X}d{:08X}:*'.format(vendor, device))
print('# usb:v<VEND>p<PROD> (4 uppercase hexadecimal digits twice)')
print('# usb:v<VEND>p<PROD>:* (4 uppercase hexadecimal digits twice)')
for entry in chromiumos.gen_autosuspend_rules.USB_IDS:
vendor, product = entry.split(':')
vendor = int(vendor, 16)
product = int(product, 16)
print('usb:v{:04X}p{:04X}*'.format(vendor, product))
print('usb:v{:04X}p{:04X}:*'.format(vendor, product))
print(' ID_AUTOSUSPEND=1')