Merge pull request #215 from ArsenArsen/master

hwdb: sync with systemd/main
This commit is contained in:
Boian Bonev 2021-12-02 03:20:15 +02:00 committed by GitHub
commit a6582ea35b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
25 changed files with 49719 additions and 3225 deletions

File diff suppressed because it is too large Load Diff

View File

@ -51,6 +51,9 @@ acpi:ATML*:
acpi:AUTH*:
ID_VENDOR_FROM_DATABASE=AuthenTec
acpi:BABA*:
ID_VENDOR_FROM_DATABASE=Alibaba Co., Ltd.
acpi:BOOT*:
ID_VENDOR_FROM_DATABASE=Coreboot Project
@ -72,6 +75,9 @@ acpi:CPLM*:
acpi:DELL*:
ID_VENDOR_FROM_DATABASE=Dell, Inc.
acpi:DIOO*:
ID_VENDOR_FROM_DATABASE=Dioo Microcircuits Co., Ltd. Jiangsu
acpi:DLGS*:
ID_VENDOR_FROM_DATABASE=Dialog Semiconductor PLC
@ -81,6 +87,9 @@ acpi:DLLK*:
acpi:DMST*:
ID_VENDOR_FROM_DATABASE=DMIST RESEARCH LTD
acpi:DNBK*:
ID_VENDOR_FROM_DATABASE=Dynabook Inc.
acpi:DSUO*:
ID_VENDOR_FROM_DATABASE=Shenzhen DSO Microelectronics Co.,Ltd.
@ -93,6 +102,9 @@ acpi:ESSX*:
acpi:EXAR*:
ID_VENDOR_FROM_DATABASE=Exar Corporation
acpi:FRMW*:
ID_VENDOR_FROM_DATABASE=Framework Computer LLC
acpi:FRSC*:
ID_VENDOR_FROM_DATABASE=Freescale, Inc
@ -132,6 +144,9 @@ acpi:HWPE*:
acpi:HXTS*:
ID_VENDOR_FROM_DATABASE=Guizhou Huaxintong Semiconductor Technology Co., Ltd
acpi:HYGO*:
ID_VENDOR_FROM_DATABASE=CHENGDU HAIGUANG IC DESIGN CO., LTD
acpi:IBMX*:
ID_VENDOR_FROM_DATABASE=IBM
@ -165,6 +180,9 @@ acpi:IP3T*:
acpi:IPHI*:
ID_VENDOR_FROM_DATABASE=Inphi Corporation
acpi:JSYS*:
ID_VENDOR_FROM_DATABASE=Juniper Systems, Inc.
acpi:KIOX*:
ID_VENDOR_FROM_DATABASE=Kionix, Inc.
@ -174,6 +192,9 @@ acpi:LNRO*:
acpi:LNUX*:
ID_VENDOR_FROM_DATABASE=The Linux Foundation
acpi:LOON*:
ID_VENDOR_FROM_DATABASE=Loongson Technology Corporation Limited
acpi:MCHP*:
ID_VENDOR_FROM_DATABASE=Microchip Technology Inc
@ -216,6 +237,18 @@ acpi:OVTI*:
acpi:PEGA*:
ID_VENDOR_FROM_DATABASE=Pegatron Corporation
acpi:PHYT*:
ID_VENDOR_FROM_DATABASE=Phytium Technology Co. Ltd.
acpi:PIXA*:
ID_VENDOR_FROM_DATABASE=PixArt imaging inc.
acpi:PNSO*:
ID_VENDOR_FROM_DATABASE=Pensando Systems, Inc.
acpi:PURI*:
ID_VENDOR_FROM_DATABASE=Purism SPC
acpi:QCOM*:
ID_VENDOR_FROM_DATABASE=Qualcomm Inc
@ -231,6 +264,9 @@ acpi:RKCP*:
acpi:RZSN*:
ID_VENDOR_FROM_DATABASE=Rozsnyó, s.r.o.
acpi:SECC*:
ID_VENDOR_FROM_DATABASE=Seiko Epson Corporation
acpi:SHRP*:
ID_VENDOR_FROM_DATABASE=Sharp Corporation
@ -253,7 +289,7 @@ acpi:TCAG*:
ID_VENDOR_FROM_DATABASE=Teracue AG
acpi:TOSB*:
ID_VENDOR_FROM_DATABASE=Toshiba Corporation
ID_VENDOR_FROM_DATABASE=Dynabook Inc.
acpi:TXNW*:
ID_VENDOR_FROM_DATABASE=Texas Instruments
@ -580,7 +616,7 @@ acpi:ALO*:
ID_VENDOR_FROM_DATABASE=Algolith Inc.
acpi:ALP*:
ID_VENDOR_FROM_DATABASE=Alps Electric Company Ltd
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
acpi:ALR*:
ID_VENDOR_FROM_DATABASE=Advanced Logic
@ -706,7 +742,7 @@ acpi:APD*:
ID_VENDOR_FROM_DATABASE=AppliAdata
acpi:APE*:
ID_VENDOR_FROM_DATABASE=Alpine Electronics, Inc.
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
acpi:APG*:
ID_VENDOR_FROM_DATABASE=Horner Electric Inc
@ -871,7 +907,7 @@ acpi:AUG*:
ID_VENDOR_FROM_DATABASE=August Home, Inc.
acpi:AUI*:
ID_VENDOR_FROM_DATABASE=Alps Electric Inc
ID_VENDOR_FROM_DATABASE=ALPS ALPINE CO., LTD.
acpi:AUO*:
ID_VENDOR_FROM_DATABASE=AU Optronics
@ -1086,6 +1122,9 @@ acpi:BIO*:
acpi:BIT*:
ID_VENDOR_FROM_DATABASE=Bit 3 Computer
acpi:BLD*:
ID_VENDOR_FROM_DATABASE=BILD INNOVATIVE TECHNOLOGY LLC
acpi:BLI*:
ID_VENDOR_FROM_DATABASE=Busicom
@ -1350,6 +1389,9 @@ acpi:CET*:
acpi:CFG*:
ID_VENDOR_FROM_DATABASE=Atlantis
acpi:CFR*:
ID_VENDOR_FROM_DATABASE=Meta View, Inc.
acpi:CGA*:
ID_VENDOR_FROM_DATABASE=Chunghwa Picture Tubes, LTD
@ -1455,6 +1497,9 @@ acpi:CLM*:
acpi:CLO*:
ID_VENDOR_FROM_DATABASE=Clone Computers
acpi:CLR*:
ID_VENDOR_FROM_DATABASE=Clover Electronics
acpi:CLT*:
ID_VENDOR_FROM_DATABASE=automated computer control systems
@ -1476,6 +1521,9 @@ acpi:CMG*:
acpi:CMI*:
ID_VENDOR_FROM_DATABASE=C-Media Electronics
acpi:CMK*:
ID_VENDOR_FROM_DATABASE=Comark LLC
acpi:CMM*:
ID_VENDOR_FROM_DATABASE=Comtime GmbH
@ -1500,6 +1548,9 @@ acpi:CNB*:
acpi:CNC*:
ID_VENDOR_FROM_DATABASE=Alvedon Computers Ltd
acpi:CND*:
ID_VENDOR_FROM_DATABASE=Micro-Star Int'l Co., Ltd.
acpi:CNE*:
ID_VENDOR_FROM_DATABASE=Cine-tal
@ -1599,6 +1650,9 @@ acpi:CRI*:
acpi:CRL*:
ID_VENDOR_FROM_DATABASE=Creative Logic
acpi:CRM*:
ID_VENDOR_FROM_DATABASE=CORSAIR MEMORY Inc.
acpi:CRN*:
ID_VENDOR_FROM_DATABASE=Cornerstone Imaging
@ -1950,6 +2004,9 @@ acpi:DLK*:
acpi:DLL*:
ID_VENDOR_FROM_DATABASE=Dell Inc
acpi:DLM*:
ID_VENDOR_FROM_DATABASE=DLOGIC Ltd.
acpi:DLO*:
ID_VENDOR_FROM_DATABASE=Shenzhen Dlodlo Technologies Co., Ltd.
@ -1962,6 +2019,9 @@ acpi:DMB*:
acpi:DMC*:
ID_VENDOR_FROM_DATABASE=Dune Microsystems Corporation
acpi:DMG*:
ID_VENDOR_FROM_DATABASE=Monoprice.Inc
acpi:DMM*:
ID_VENDOR_FROM_DATABASE=Dimond Multimedia Systems Inc
@ -2064,6 +2124,9 @@ acpi:DSA*:
acpi:DSD*:
ID_VENDOR_FROM_DATABASE=DS Multimedia Pte Ltd
acpi:DSG*:
ID_VENDOR_FROM_DATABASE=Disguise Technologies
acpi:DSI*:
ID_VENDOR_FROM_DATABASE=Digitan Systems Inc
@ -2274,6 +2337,9 @@ acpi:ELA*:
acpi:ELC*:
ID_VENDOR_FROM_DATABASE=Electro Scientific Ind
acpi:ELD*:
ID_VENDOR_FROM_DATABASE=Express Luck, Inc.
acpi:ELE*:
ID_VENDOR_FROM_DATABASE=Elecom Company Ltd
@ -2328,6 +2394,9 @@ acpi:EMK*:
acpi:EMO*:
ID_VENDOR_FROM_DATABASE=ELMO COMPANY, LIMITED
acpi:EMR*:
ID_VENDOR_FROM_DATABASE=ICC Intelligent Platforms GmbH
acpi:EMU*:
ID_VENDOR_FROM_DATABASE=Emulex Corporation
@ -2535,6 +2604,9 @@ acpi:FDI*:
acpi:FDT*:
ID_VENDOR_FROM_DATABASE=Fujitsu Display Technologies Corp.
acpi:FDX*:
ID_VENDOR_FROM_DATABASE=Findex, Inc.
acpi:FEC*:
ID_VENDOR_FROM_DATABASE=FURUNO ELECTRIC CO., LTD.
@ -2703,6 +2775,9 @@ acpi:FTW*:
acpi:FUJ*:
ID_VENDOR_FROM_DATABASE=Fujitsu Ltd
acpi:FUL*:
ID_VENDOR_FROM_DATABASE=Fun Technology Innovation INC.
acpi:FUN*:
ID_VENDOR_FROM_DATABASE=sisel muhendislik
@ -3009,6 +3084,9 @@ acpi:HHC*:
acpi:HHI*:
ID_VENDOR_FROM_DATABASE=Fraunhofer Heinrich-Hertz-Institute
acpi:HHT*:
ID_VENDOR_FROM_DATABASE=Hitevision Group
acpi:HIB*:
ID_VENDOR_FROM_DATABASE=Hibino Corporation
@ -3129,6 +3207,9 @@ acpi:HSL*:
acpi:HSM*:
ID_VENDOR_FROM_DATABASE=AT&T Microelectronics
acpi:HSN*:
ID_VENDOR_FROM_DATABASE=Hansung Co., Ltd
acpi:HSP*:
ID_VENDOR_FROM_DATABASE=HannStar Display Corp
@ -3264,6 +3345,9 @@ acpi:ICO*:
acpi:ICP*:
ID_VENDOR_FROM_DATABASE=ICP Electronics, Inc./iEi Technology Corp.
acpi:ICR*:
ID_VENDOR_FROM_DATABASE=Icron
acpi:ICS*:
ID_VENDOR_FROM_DATABASE=Integrated Circuit Systems
@ -3453,6 +3537,9 @@ acpi:INZ*:
acpi:IOA*:
ID_VENDOR_FROM_DATABASE=CRE Technology Corporation
acpi:IOC*:
ID_VENDOR_FROM_DATABASE=Guangxi Century Innovation Display Electronics Co., Ltd
acpi:IOD*:
ID_VENDOR_FROM_DATABASE=I-O Data Device Inc
@ -3858,6 +3945,9 @@ acpi:KTK*:
acpi:KTN*:
ID_VENDOR_FROM_DATABASE=Katron Tech Inc
acpi:KTS*:
ID_VENDOR_FROM_DATABASE=Kyokko Communication System Co., Ltd.
acpi:KUR*:
ID_VENDOR_FROM_DATABASE=Kurta Corporation
@ -3933,6 +4023,9 @@ acpi:LCM*:
acpi:LCN*:
ID_VENDOR_FROM_DATABASE=LEXICON
acpi:LCP*:
ID_VENDOR_FROM_DATABASE=Silent Power Electronics GmbH
acpi:LCS*:
ID_VENDOR_FROM_DATABASE=Longshine Electronics Company
@ -3984,6 +4077,9 @@ acpi:LGX*:
acpi:LHA*:
ID_VENDOR_FROM_DATABASE=Lars Haagh ApS
acpi:LHC*:
ID_VENDOR_FROM_DATABASE=Beihai Century Joint Innovation Technology Co.,Ltd
acpi:LHE*:
ID_VENDOR_FROM_DATABASE=Lung Hwa Electronics Company Ltd
@ -3996,6 +4092,9 @@ acpi:LIN*:
acpi:LIP*:
ID_VENDOR_FROM_DATABASE=Linked IP GmbH
acpi:LIS*:
ID_VENDOR_FROM_DATABASE=Life is Style Inc.
acpi:LIT*:
ID_VENDOR_FROM_DATABASE=Lithics Silicon Technology
@ -4347,6 +4446,9 @@ acpi:MGL*:
acpi:MGT*:
ID_VENDOR_FROM_DATABASE=Megatech R & D Company
acpi:MHQ*:
ID_VENDOR_FROM_DATABASE=Moxa Inc.
acpi:MIC*:
ID_VENDOR_FROM_DATABASE=Micom Communications Inc
@ -4398,6 +4500,9 @@ acpi:MKT*:
acpi:MKV*:
ID_VENDOR_FROM_DATABASE=Trtheim Technology
acpi:MLC*:
ID_VENDOR_FROM_DATABASE=MILCOTS
acpi:MLD*:
ID_VENDOR_FROM_DATABASE=Deep Video Imaging Ltd
@ -4449,6 +4554,9 @@ acpi:MMN*:
acpi:MMS*:
ID_VENDOR_FROM_DATABASE=MMS Electronics
acpi:MMT*:
ID_VENDOR_FROM_DATABASE=MIMO Monitors
acpi:MNC*:
ID_VENDOR_FROM_DATABASE=Mini Micro Methods Ltd
@ -4497,6 +4605,9 @@ acpi:MPN*:
acpi:MPS*:
ID_VENDOR_FROM_DATABASE=mps Software GmbH
acpi:MPV*:
ID_VENDOR_FROM_DATABASE=Megapixel Visual Realty
acpi:MPX*:
ID_VENDOR_FROM_DATABASE=Micropix Technologies, Ltd.
@ -4692,6 +4803,9 @@ acpi:NAC*:
acpi:NAD*:
ID_VENDOR_FROM_DATABASE=NAD Electronics
acpi:NAF*:
ID_VENDOR_FROM_DATABASE=NAFASAE INDIA Pvt. Ltd
acpi:NAK*:
ID_VENDOR_FROM_DATABASE=Nakano Engineering Co.,Ltd.
@ -4794,6 +4908,9 @@ acpi:NGC*:
acpi:NGS*:
ID_VENDOR_FROM_DATABASE=A D S Exports
acpi:NHC*:
ID_VENDOR_FROM_DATABASE=New H3C Technology Co., Ltd.
acpi:NHT*:
ID_VENDOR_FROM_DATABASE=Vinci Labs
@ -4938,6 +5055,9 @@ acpi:NVT*:
acpi:NWC*:
ID_VENDOR_FROM_DATABASE=NW Computer Engineering
acpi:NWL*:
ID_VENDOR_FROM_DATABASE=Newline Interactive Inc.
acpi:NWP*:
ID_VENDOR_FROM_DATABASE=NovaWeb Technologies Inc
@ -4959,6 +5079,9 @@ acpi:NXQ*:
acpi:NXS*:
ID_VENDOR_FROM_DATABASE=Technology Nexus Secure Open Systems AB
acpi:NXT*:
ID_VENDOR_FROM_DATABASE=NZXT (PNP same EDID)_
acpi:NYC*:
ID_VENDOR_FROM_DATABASE=Nakayo Relecommunications, Inc.
@ -5139,6 +5262,9 @@ acpi:PAC*:
acpi:PAD*:
ID_VENDOR_FROM_DATABASE=Promotion and Display Technology Ltd.
acpi:PAE*:
ID_VENDOR_FROM_DATABASE=PreSonus Audio Electronics
acpi:PAK*:
ID_VENDOR_FROM_DATABASE=Many CNC System Co., Ltd.
@ -5295,6 +5421,12 @@ acpi:PIM*:
acpi:PIO*:
ID_VENDOR_FROM_DATABASE=Pioneer Electronic Corporation
acpi:PIR*:
ID_VENDOR_FROM_DATABASE=Pico Technology Inc.
acpi:PIS*:
ID_VENDOR_FROM_DATABASE=TECNART CO.,LTD.
acpi:PIX*:
ID_VENDOR_FROM_DATABASE=Pixie Tech Inc
@ -5895,6 +6027,9 @@ acpi:SCD*:
acpi:SCE*:
ID_VENDOR_FROM_DATABASE=Sun Corporation
acpi:SCG*:
ID_VENDOR_FROM_DATABASE=Seco S.p.A.
acpi:SCH*:
ID_VENDOR_FROM_DATABASE=Schlumberger Cards
@ -6108,12 +6243,21 @@ acpi:SJE*:
acpi:SKD*:
ID_VENDOR_FROM_DATABASE=Schneider & Koch
acpi:SKG*:
ID_VENDOR_FROM_DATABASE=Shenzhen KTC Technology Group
acpi:SKI*:
ID_VENDOR_FROM_DATABASE=LLC SKTB “SKIT”
acpi:SKM*:
ID_VENDOR_FROM_DATABASE=Guangzhou Teclast Information Technology Limited
acpi:SKT*:
ID_VENDOR_FROM_DATABASE=Samsung Electro-Mechanics Company Ltd
acpi:SKW*:
ID_VENDOR_FROM_DATABASE=Skyworth
acpi:SKY*:
ID_VENDOR_FROM_DATABASE=SKYDATA S.P.A.
@ -6672,6 +6816,9 @@ acpi:TGS*:
acpi:TGV*:
ID_VENDOR_FROM_DATABASE=Grass Valley Germany GmbH
acpi:TGW*:
ID_VENDOR_FROM_DATABASE=TECHNOGYM S.p.A.
acpi:THN*:
ID_VENDOR_FROM_DATABASE=Thundercom Holdings Sdn. Bhd.
@ -6741,6 +6888,9 @@ acpi:TLV*:
acpi:TLX*:
ID_VENDOR_FROM_DATABASE=Telxon Corporation
acpi:TLY*:
ID_VENDOR_FROM_DATABASE=Truly Semiconductors Ltd.
acpi:TMC*:
ID_VENDOR_FROM_DATABASE=Techmedia Computer Systems Corporation
@ -6753,6 +6903,9 @@ acpi:TMI*:
acpi:TMM*:
ID_VENDOR_FROM_DATABASE=Time Management, Inc.
acpi:TMO*:
ID_VENDOR_FROM_DATABASE=Terumo Corporation
acpi:TMR*:
ID_VENDOR_FROM_DATABASE=Taicom International Inc
@ -6793,7 +6946,7 @@ acpi:TOP*:
ID_VENDOR_FROM_DATABASE=Orion Communications Co., Ltd.
acpi:TOS*:
ID_VENDOR_FROM_DATABASE=Toshiba Corporation
ID_VENDOR_FROM_DATABASE=Dynabook Inc.
acpi:TOU*:
ID_VENDOR_FROM_DATABASE=Touchstone Technology
@ -6939,6 +7092,9 @@ acpi:TTL*:
acpi:TTP*:
ID_VENDOR_FROM_DATABASE=Toshiba Corporation
acpi:TTR*:
ID_VENDOR_FROM_DATABASE=Hubei Century Joint Innovation Technology Co.Ltd
acpi:TTS*:
ID_VENDOR_FROM_DATABASE=TechnoTrend Systemtechnik GmbH
@ -7131,6 +7287,9 @@ acpi:USI*:
acpi:USR*:
ID_VENDOR_FROM_DATABASE=U.S. Robotics Inc
acpi:UTC*:
ID_VENDOR_FROM_DATABASE=Unicompute Technology Co., Ltd.
acpi:UTD*:
ID_VENDOR_FROM_DATABASE=Up to Date Tech
@ -7152,6 +7311,9 @@ acpi:VAR*:
acpi:VAT*:
ID_VENDOR_FROM_DATABASE=VADATECH INC
acpi:VAV*:
ID_VENDOR_FROM_DATABASE=aviica
acpi:VBR*:
ID_VENDOR_FROM_DATABASE=VBrick Systems Inc.
@ -7227,6 +7389,9 @@ acpi:VIM*:
acpi:VIN*:
ID_VENDOR_FROM_DATABASE=Vine Micros Ltd
acpi:VIO*:
ID_VENDOR_FROM_DATABASE=Zake IP Holdings LLC (3B tech)
acpi:VIR*:
ID_VENDOR_FROM_DATABASE=Visual Interface, Inc
@ -7416,6 +7581,9 @@ acpi:WKH*:
acpi:WLD*:
ID_VENDOR_FROM_DATABASE=Wildfire Communications Inc
acpi:WLF*:
ID_VENDOR_FROM_DATABASE=WOLF Advanced Technology
acpi:WML*:
ID_VENDOR_FROM_DATABASE=Wolfson Microelectronics Ltd

File diff suppressed because it is too large Load Diff

6
hwdb/20-dmi-id.hwdb Normal file
View File

@ -0,0 +1,6 @@
# This file is part of systemd
# Fix "Lenovo" capitalization in /sys/class/dmi/id/sys_vendor
dmi:bvnLENOVO*
ID_SYSFS_ATTRIBUTE_MODEL=product_version
ID_VENDOR_FROM_DATABASE=Lenovo

View File

@ -11,6 +11,9 @@ pci:v*d*sv*sd*bc00sc00*
pci:v*d*sv*sd*bc00sc01*
ID_PCI_SUBCLASS_FROM_DATABASE=VGA compatible unclassified device
pci:v*d*sv*sd*bc00sc05*
ID_PCI_SUBCLASS_FROM_DATABASE=Image coprocessor
pci:v*d*sv*sd*bc01*
ID_PCI_CLASS_FROM_DATABASE=Mass storage controller
@ -377,6 +380,12 @@ pci:v*d*sv*sd*bc08sc06*
pci:v*d*sv*sd*bc08sc80*
ID_PCI_SUBCLASS_FROM_DATABASE=System peripheral
pci:v*d*sv*sd*bc08sc99*
ID_PCI_SUBCLASS_FROM_DATABASE=Timing Card
pci:v*d*sv*sd*bc08sc99i01*
ID_PCI_INTERFACE_FROM_DATABASE=TAP Timing Card
pci:v*d*sv*sd*bc09*
ID_PCI_CLASS_FROM_DATABASE=Input device controller
@ -470,6 +479,9 @@ pci:v*d*sv*sd*bc0Csc03i20*
pci:v*d*sv*sd*bc0Csc03i30*
ID_PCI_INTERFACE_FROM_DATABASE=XHCI
pci:v*d*sv*sd*bc0Csc03i40*
ID_PCI_INTERFACE_FROM_DATABASE=USB4 Host Interface
pci:v*d*sv*sd*bc0Csc03i80*
ID_PCI_INTERFACE_FROM_DATABASE=Unspecified

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,332 @@
# This file is part of systemd.
#
# Rules to autosuspend known fingerprint readers (pulled from libfprint).
#
# SPDX-License-Identifier: LGPL-2.1-or-later
# This file has been generated using fprint-list-udev-hwdb with all drivers enabled
# Supported by libfprint driver aes1610
usb:v08FFp1600*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver aes1660
usb:v08FFp1660*
usb:v08FFp1680*
usb:v08FFp1681*
usb:v08FFp1682*
usb:v08FFp1683*
usb:v08FFp1684*
usb:v08FFp1685*
usb:v08FFp1686*
usb:v08FFp1687*
usb:v08FFp1688*
usb:v08FFp1689*
usb:v08FFp168A*
usb:v08FFp168B*
usb:v08FFp168C*
usb:v08FFp168D*
usb:v08FFp168E*
usb:v08FFp168F*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver aes2501
usb:v08FFp2500*
usb:v08FFp2580*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver aes2550
usb:v08FFp2550*
usb:v08FFp2810*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver aes2660
usb:v08FFp2660*
usb:v08FFp2680*
usb:v08FFp2681*
usb:v08FFp2682*
usb:v08FFp2683*
usb:v08FFp2684*
usb:v08FFp2685*
usb:v08FFp2686*
usb:v08FFp2687*
usb:v08FFp2688*
usb:v08FFp2689*
usb:v08FFp268A*
usb:v08FFp268B*
usb:v08FFp268C*
usb:v08FFp268D*
usb:v08FFp268E*
usb:v08FFp268F*
usb:v08FFp2691*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver aes3500
usb:v08FFp5731*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver aes4000
usb:v5501p08FF*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver egis0570
usb:v1C7Ap0570*
usb:v1C7Ap0571*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver elan
usb:v04F3p0903*
usb:v04F3p0907*
usb:v04F3p0C01*
usb:v04F3p0C02*
usb:v04F3p0C03*
usb:v04F3p0C04*
usb:v04F3p0C05*
usb:v04F3p0C06*
usb:v04F3p0C07*
usb:v04F3p0C08*
usb:v04F3p0C09*
usb:v04F3p0C0A*
usb:v04F3p0C0B*
usb:v04F3p0C0C*
usb:v04F3p0C0D*
usb:v04F3p0C0E*
usb:v04F3p0C0F*
usb:v04F3p0C10*
usb:v04F3p0C11*
usb:v04F3p0C12*
usb:v04F3p0C13*
usb:v04F3p0C14*
usb:v04F3p0C15*
usb:v04F3p0C16*
usb:v04F3p0C17*
usb:v04F3p0C18*
usb:v04F3p0C19*
usb:v04F3p0C1A*
usb:v04F3p0C1B*
usb:v04F3p0C1C*
usb:v04F3p0C1D*
usb:v04F3p0C1E*
usb:v04F3p0C1F*
usb:v04F3p0C20*
usb:v04F3p0C21*
usb:v04F3p0C22*
usb:v04F3p0C23*
usb:v04F3p0C24*
usb:v04F3p0C25*
usb:v04F3p0C26*
usb:v04F3p0C27*
usb:v04F3p0C28*
usb:v04F3p0C29*
usb:v04F3p0C2A*
usb:v04F3p0C2B*
usb:v04F3p0C2C*
usb:v04F3p0C2D*
usb:v04F3p0C2E*
usb:v04F3p0C2F*
usb:v04F3p0C30*
usb:v04F3p0C31*
usb:v04F3p0C32*
usb:v04F3p0C33*
usb:v04F3p0C3D*
usb:v04F3p0C42*
usb:v04F3p0C4D*
usb:v04F3p0C4F*
usb:v04F3p0C63*
usb:v04F3p0C6E*
usb:v04F3p0C58*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver elanmoc
usb:v04F3p0C7E*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver etes603
usb:v1C7Ap0603*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver goodixmoc
usb:v27C6p5840*
usb:v27C6p609C*
usb:v27C6p60A2*
usb:v27C6p639C*
usb:v27C6p63AC*
usb:v27C6p63BC*
usb:v27C6p6496*
usb:v27C6p6584*
usb:v27C6p658C*
usb:v27C6p6592*
usb:v27C6p6594*
usb:v27C6p659C*
usb:v27C6p6A94*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver nb1010
usb:v298Dp1010*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver synaptics
usb:v06CBp00BD*
usb:v06CBp00DF*
usb:v06CBp00F9*
usb:v06CBp00FC*
usb:v06CBp00C2*
usb:v06CBp00C9*
usb:v06CBp0100*
usb:v06CBp00F0*
usb:v06CBp0103*
usb:v06CBp0123*
usb:v06CBp0126*
usb:v06CBp0129*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver upeksonly
usb:v147Ep2016*
usb:v147Ep1000*
usb:v147Ep1001*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver upektc
usb:v0483p2015*
usb:v147Ep3001*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver upektc_img
usb:v147Ep2020*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver uru4000
usb:v045Ep00BC*
usb:v045Ep00BD*
usb:v045Ep00CA*
usb:v05BAp0007*
usb:v05BAp0008*
usb:v05BAp000A*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver vcom5s
usb:v061Ap0110*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver vfs0050
usb:v138Ap0050*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver vfs101
usb:v138Ap0001*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver vfs301
usb:v138Ap0005*
usb:v138Ap0008*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver vfs5011
usb:v138Ap0010*
usb:v138Ap0011*
usb:v138Ap0015*
usb:v138Ap0017*
usb:v138Ap0018*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Supported by libfprint driver vfs7552
usb:v138Ap0091*
ID_AUTOSUSPEND=1
ID_PERSIST=0
# Known unsupported devices
usb:v04F3p036B*
usb:v04F3p0C00*
usb:v04F3p0C4B*
usb:v04F3p0C4C*
usb:v04F3p0C57*
usb:v04F3p0C5E*
usb:v04F3p2706*
usb:v06CBp0081*
usb:v06CBp0088*
usb:v06CBp008A*
usb:v06CBp009A*
usb:v06CBp009B*
usb:v06CBp00A2*
usb:v06CBp00B7*
usb:v06CBp00BB*
usb:v06CBp00BE*
usb:v06CBp00C4*
usb:v06CBp00CB*
usb:v06CBp00D8*
usb:v06CBp00DA*
usb:v06CBp00E7*
usb:v06CBp00E9*
usb:v0A5Cp5801*
usb:v0A5Cp5805*
usb:v0A5Cp5834*
usb:v0A5Cp5840*
usb:v0A5Cp5841*
usb:v0A5Cp5842*
usb:v0A5Cp5843*
usb:v0A5Cp5844*
usb:v0A5Cp5845*
usb:v10A5p0007*
usb:v1188p9545*
usb:v138Ap0007*
usb:v138Ap003A*
usb:v138Ap003C*
usb:v138Ap003D*
usb:v138Ap003F*
usb:v138Ap0090*
usb:v138Ap0092*
usb:v138Ap0094*
usb:v138Ap0097*
usb:v138Ap009D*
usb:v138Ap00AB*
usb:v147Ep1002*
usb:v1491p0088*
usb:v16D1p1027*
usb:v1C7Ap0300*
usb:v1C7Ap0575*
usb:v27C6p5042*
usb:v27C6p5110*
usb:v27C6p5117*
usb:v27C6p5201*
usb:v27C6p521D*
usb:v27C6p5301*
usb:v27C6p530C*
usb:v27C6p532D*
usb:v27C6p533C*
usb:v27C6p5381*
usb:v27C6p5385*
usb:v27C6p538C*
usb:v27C6p538D*
usb:v27C6p5395*
usb:v27C6p5584*
usb:v27C6p55A2*
usb:v27C6p55A4*
usb:v27C6p55B4*
usb:v27C6p5740*
usb:v2808p9338*
usb:v298Dp2033*
usb:v3538p0930*
ID_AUTOSUSPEND=1
ID_PERSIST=0

86
hwdb/60-autosuspend.hwdb Normal file
View File

@ -0,0 +1,86 @@
# This file is part of systemd.
#
# The lookup keys are $MODALIAS strings, see udev's hwdb builtin.
#
# Match string formats:
# <subsystem>:<modalias>
#
# 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
# and add your rules there. To load the new rules execute (as root):
# systemd-hwdb update
# udevadm trigger /dev/…
#
# If your changes are generally applicable, preferably send them as a pull
# request to
# https://github.com/systemd/systemd
# or create a bug report on https://github.com/systemd/systemd/issues and
# include your new rules, a description of the device, and the output of
# udevadm info
# the device.
#
# Allowed properties are:
# ID_AUTOSUSPEND=1
# ID_PERSIST=0
#
# ID_PERSIST=0 allows disabling the kernels USB "persist" feature, which allows
# the continued use of devices after a power loss (due to suspend). Disable it
# if the device will loose state without a USB power session and the driver
# is unable to recover the state when resuming. See
# https://www.kernel.org/doc/html/latest/driver-api/usb/persist.html
# Sort by brand, model
#########################################
# Alcor
#########################################
# AU9540 Smartcard Reader
usb:v058Fp9540*
ID_AUTOSUSPEND=1
#########################################
# Lenovo
#########################################
# X1C8 Touchscreen
usb:v04F3p2B7C*
# T14 Gen 1 Touchscreen
usb:v04F3p2ACC*
ID_AUTOSUSPEND=1
#########################################
# Microsoft
#########################################
# Surface Pro (2017) Type Cover
usb:v045Ep09C0*
ID_AUTOSUSPEND=1
#########################################
# QEMU
#########################################
# Emulated USB HID devices
usb:v0627p0001:*QEMU USB Keyboard*
usb:v0627p0001:*QEMU USB Mouse*
usb:v0627p0001:*QEMU USB Tablet*
ID_AUTOSUSPEND=1
#########################################
# Sierra Wireless
#########################################
# Sierra Wireless EM7345 4G LTE modem
usb:v1199pA001*
ID_AUTOSUSPEND=1
#########################################
# Wacom
#########################################
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,21 +30,31 @@
# 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.
#
# Sort by brand, model
#########################################
# ACECAD
#########################################
# Acecad Flair / Pentagram Quadpen
evdev:input:b0003v0460p0004*
EVDEV_ABS_00=::40
EVDEV_ABS_01=::40
#########################################
# AIPTEK
#########################################
# Hyperpen 12000U
evdev:input:b0003v08CAp0010*
# Hyperpen 6000U
evdev:input:b0003v08CAp0020*
EVDEV_ABS_00=::20
EVDEV_ABS_01=::20
@ -131,7 +141,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
@ -143,7 +153,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
@ -179,6 +189,13 @@ evdev:name:Elan Touchpad:dmi:*:svnASUSTeKCOMPUTERINC.:pnUX305UA:*
EVDEV_ABS_35=0:3097:32
EVDEV_ABS_36=0:2119:33
# Asus UX362FA
evdev:name:ELAN1401:00 04F3:30DC Touchpad:dmi:*:svnASUSTeKCOMPUTERINC.:pnZenBookUX362FA_UX362FA:*
EVDEV_ABS_00=:::8
EVDEV_ABS_01=:::8
EVDEV_ABS_35=:::8
EVDEV_ABS_36=:::8
#########################################
# Bangho
#########################################
@ -195,26 +212,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
@ -225,43 +242,50 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*bvn*:bvr*:bd*:svnDellInc.:pnMM061:*
EVDEV_ABS_00=1008:5793:66
EVDEV_ABS_01=687:5176:107
# Dell Latitude E5510
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnDellInc.:pnLatitudeE5510:*
EVDEV_ABS_00=73:1828:26
EVDEV_ABS_01=101:1319:27
EVDEV_ABS_35=73:1828:26
EVDEV_ABS_36=101:1319:27
# 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_ABS_00=29:2930:30
EVDEV_ABS_01=26:1533:29
EVDEV_ABS_35=29:2930:30
EVDEV_ABS_36=26:1533:29
evdev:name:AlpsPS/2 ALPS DualPoint TouchPad:dmi:bvn*:bvr*:bd*:svnDellInc.:pnLatitudeE7470:*
EVDEV_ABS_00=29:2930:30:16
EVDEV_ABS_01=26:1533:29:16
EVDEV_ABS_35=29:2930:30:16
EVDEV_ABS_36=26:1533:29:16
# 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
@ -275,14 +299,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
@ -300,7 +324,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
@ -311,28 +335,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
@ -346,14 +370,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
@ -364,28 +388,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
@ -399,121 +423,194 @@ evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPad??40?:*
EVDEV_ABS_35=::41
EVDEV_ABS_36=::37
# Lenovo X240 series
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX240:*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*:pvrThinkPadX240?:*
EVDEV_ABS_00=1232:5711:51:13
EVDEV_ABS_01=1159:4700:53:13
EVDEV_ABS_35=1232:5711:51:13
EVDEV_ABS_36=1159:4700:53:13
# 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 X1 Carbon Extreme 3rd gen.
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*svnLENOVO*pvrThinkPadX1ExtremeGen3*
EVDEV_ABS_00=1354:5678:43
EVDEV_ABS_01=1169:4695:51
EVDEV_ABS_35=1354:5678:43
EVDEV_ABS_36=1169:4695:51
# 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_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_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
EVDEV_ABS_36=105:1960:26
# Lenovo U41-70 (80JV)
evdev:name:AlpsPS/2 ALPS GlidePoint:dmi:*svnLENOVO:*pvrLenovoU41-70:*
EVDEV_ABS_00=117:3958:36
EVDEV_ABS_01=104:1960:26
EVDEV_ABS_35=117:3958:36
EVDEV_ABS_36=104:1960:26
# Lenovo Thinkpad T490 and T14/P14s Gen1/2
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*:svnLENOVO:*pvrThinkPadT490:*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*:svnLENOVO:*pvrThinkPadT14Gen1:*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*:svnLENOVO:*pvrThinkPadP14sGen1:*
evdev:name:SynPS/2 Synaptics TouchPad:dmi:*:svnLENOVO:*pvrThinkPadP14sGen2a:*
EVDEV_ABS_00=::44
EVDEV_ABS_01=::52
EVDEV_ABS_35=::44
EVDEV_ABS_36=::52
# Lenovo Legion Y9000X2020
evdev:name:MSFT0001:02 04F3:304B Touchpad:dmi:*svnLENOVO:*pvrLenovoLegionY9000X2020:*
EVDEV_ABS_00=::31
EVDEV_ABS_01=::30
EVDEV_ABS_35=::31
EVDEV_ABS_36=::30
#########################################
# NEWYES
#########################################
# NEWYES 10" LCD writing tablet
evdev:input:b0003v6161p4D15*
EVDEV_ABS_00=::152
EVDEV_ABS_01=::244
###########################################################
# Pine64
###########################################################
# Pinebook Pro
evdev:input:b0003v258Ap001E*
EVDEV_ABS_00=::15
EVDEV_ABS_01=::15
EVDEV_ABS_35=::15
EVDEV_ABS_36=::15
#########################################
# Razer
#########################################
@ -526,7 +623,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
@ -537,19 +634,37 @@ 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
EVDEV_ABS_36=::29
#########################################
# Star Labs
#########################################
# Star LabTop Mk III
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
EVDEV_ABS_36=0:1331:20
# Star Lite Mk II
evdev:name:ALPS0001:00 0911:5288 Touchpad:dmi:*svnStarLabs:pnLite:*
EVDEV_ABS_00=55:1750:16
EVDEV_ABS_01=51:950:15
EVDEV_ABS_35=55:1750:16
EVDEV_ABS_36=51:950:15
#########################################
# System76
#########################################
@ -566,12 +681,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
@ -595,7 +710,12 @@ evdev:input:b0003v172Fp0031*
EVDEV_ABS_00=0:10000:400
EVDEV_ABS_01=0:6250:400
#WALTOP International Corp. Graphics Tablet
# WALTOP International Corp. Graphics Tablet
evdev:input:b0003v172Fp0047*
EVDEV_ABS_00=0:20000:80
EVDEV_ABS_01=0:12500:80
# WALTOP International Corp. Batteryless Tablet
evdev:input:b0003v172Fp0505*
EVDEV_ABS_00=::160
EVDEV_ABS_01=::160

View File

@ -3,10 +3,10 @@
# 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>
@ -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,7 +43,7 @@
# 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
@ -58,11 +56,6 @@
# Sort by brand, model
# UC-Logic TABLET 1060N Pad
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_TABLET=1
@ -70,3 +63,11 @@ id-input:modalias:input:b0003v28bdp0078*
# Lite-On Tech IBM USB Travel Keyboard with Ultra Nav Mouse
id-input:modalias:input:b0003v04B3p301Ee0100-e0,1,2,4*
ID_INPUT_POINTINGSTICK=1
# Logitech Ultrathin Touch Mouse
id-input:modalias:input:b0005v046DpB00De0700*
ID_INPUT_MOUSE=1
# Logitech MX Keys
id-input:modalias:input:b0003v046Dp408Ae0111*
ID_INPUT_MOUSE=0

File diff suppressed because it is too large Load Diff

36
hwdb/60-seat.hwdb Normal file
View File

@ -0,0 +1,36 @@
# This file is part of systemd.
#
# This file lists graphic devices that don't have a DRM driver and fall back to
# a frame-buffer one instead. Since commit 6260d28b8a, frame-buffer devices are
# no more considered as graphical capable.
#
# The matches have the 'fb' prefix to make sure that only the framebuffer
# device, and not the (parent) PCI device, is tagged with 'master-of-seat'.
#
# Allowed properties are:
# ID_TAG_MASTER_OF_SEAT=1
#########################################
# eXtreme Graphic Innovation (XGI)
#########################################
# Z7/Z9 (XG20 core), a rather ancient graphic chip, doesn't have a DRM driver
# and falls back to vesafb.
fb:pci:v000018CAd00000020*
ID_TAG_MASTER_OF_SEAT=1
#########################################
# HyperV
#########################################
# HyperV currently doesn't do DRM, hence we need to synthesize for HyperV's fb
# device instead.
fb:pci:v00001414d00005353*
ID_TAG_MASTER_OF_SEAT=1
#########################################
# Parallels
#########################################
fb:pci:v00001ab8d00004005*
ID_TAG_MASTER_OF_SEAT=1

View File

@ -3,17 +3,17 @@
# 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:
# cat /sys/`udevadm info -q path -n /dev/iio:device0`/../modalias
# 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
# /sys/class/dmi/id/modalias
@ -41,11 +41,15 @@
#
# Allowed properties are:
# ACCEL_MOUNT_MATRIX=<matrix>
# PROXIMITY_NEAR_LEVEL=<value>
#
# 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
#
# [1]: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=dfc57732ad38f93ae6232a3b4e64fd077383a0f1
#
@ -63,29 +67,50 @@
# or 'display'. The default, when unset, is equivalent to:
# ACCEL_LOCATION=display
#
# A note about setting ACCEL_MOUNT_MATRIX for ACCEL_LOCATION=base sensors,
# on 360 degree hinges style 2-in-1s with 2 sensors (one in the display and
# 1 in the base). Userspace will use both sensors to calculate the angle between
# the 2 halves and the angle is defined as being 0 when the device is folded
# as a regular clamshell laptop with its lid closed. This means that the
# base-accelerometer's mount-matrix must be such, that after applying
# the mount-matrices to both sensors, the base-accelerometer's readings must
# be identical to the display-accelerometer's readings (when the lid is
# closed).
#
# Sort by brand, model
#########################################
# Acer
#########################################
sensor:modalias:acpi:INVN6500*:dmi:*svn*Acer*:*pn*AspireSW5-011*
sensor:modalias:acpi:KIOX0009*:dmi:*:svnAcer:pnAspireSW3-016:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, -1
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:*
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:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
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:*
sensor:modalias:acpi:BOSC0200*:dmi:*svnAcer*:*pnSpinSP111-34:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
#########################################
# Archos
#########################################
@ -95,52 +120,50 @@ 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*:*pnT100TA*
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*: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*:*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:*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*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:*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*TP500LB*
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*TP550LA:*
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:*
sensor:modalias:acpi:SMO8500*:dmi:*svn*ASUSTeK*:*pn*TP300LAB:*
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
#########################################
@ -159,38 +182,72 @@ sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo:pnD2D3_Vi8A1:*
sensor:modalias:acpi:BMA250E*:dmi:bvnINSYDECorp.:bvrG1D_S165*:svnilife:pnS165:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# Chuwi Hi8 (CWI509)
sensor:modalias:acpi:BMA250E*:dmi:*svnilife*:pnS806:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# Chuwi Hi8 Pro (CWI513)
sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo:pnX1D3_C806N:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Chuwi Hi10 (CWI1515)
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvrP02A_C106.60E:*:svnDefaultstring:pnDefaultstring:*
# Chuwi Hi10 (CWI515)
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.11:*:svnDefaultstring:pnDefaultstring:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Chuwi Hi10 Pro
# Chuwi Hi10 (CWI1515)
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvrP02A_C106.60E:*:svnDefaultstring:pnDefaultstring:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Chuwi Hi10 Plus (CWI527)
sensor:modalias:acpi:BOSC0200*:dmi:*:svnCHUWIINNOVATIONANDTECHNOLOGY*:pnHi10plustablet:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# Chuwi Hi10 Pro (CWI529)
sensor:modalias:acpi:BOSC0200*:dmi:*:svn*CHUWIINNOVATIONANDTECHNOLOGY*:pnHi10protablet:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Chuwi Hi10 X
sensor:modalias:acpi:MXC6655*:dmi:*:svnCHUWIInnovationAndTechnology*:pnHi10X:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# Chuwi Hi12
sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo:pnP02BD6_HI-122LP:*
sensor:modalias:acpi:BOSC0200*:dmi:*:svnDefaultstring:pnDefaultstring:*
sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo:pnE4D6_HI-122LP:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# Chuwi Hi13
sensor:modalias:acpi:KIOX000A*:dmi:*:svnChuwi*:pnHi13:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# Chuwi Hi13 (CWI534) with BMA250 sensor
# Note this sets the norm matrix, since the matrix which the kernel reads
# from the ACPI tables is actually wrong on these models
sensor:modalias:acpi:BOSC0200*:dmi:*:svnChuwi*:pnHi13:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 1, 0; 0, 0, 1
# Chuwi HiBook
# 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:
# '*' in ":*svn" is there because kernels >= 5.8 have inserted a br field there
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)
sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo*:pnP1D6_C109K:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# 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:
# '*' in ":*svn" is there because kernels >= 5.8 have inserted a br field there
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
# Chuwi SurBook Mini (CWI540)
sensor:modalias:acpi:BOSC0200*:dmi:*:svnHampoo*:pnC3W6_AP108_4GB:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
@ -207,34 +264,77 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:svnConnect:pnTablet9:*
sensor:modalias:acpi:KIOX000A*:dmi:*:svncube:pni1-TF:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# Cube i7 Stylus
# Cube i7
sensor:modalias:acpi:SMO8500*:dmi:*:svncube:pni7:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# Cube i7 Stylus, i7 Stylus I8L Model, i7 Book (i16) and Mix Plus (i18B)
sensor:modalias:acpi:KIOX000A*:dmi:*:svnCube:pni7Stylus:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
# Cube i7 Book (i16)
sensor:modalias:acpi:KIOX000A*:dmi:*:svnCube:pni16:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
# Cube i7 Stylus I8L Model
sensor:modalias:acpi:KIOX000A*:dmi:*:svnCube:pni8-L:*
sensor:modalias:acpi:KIOX000A*:dmi:*:svnCube:pni16:*
sensor:modalias:acpi:KIOX000A*:dmi:*:svnCube:pni18B:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
# Cube iWork 10 Flagship
sensor:modalias:acpi:BOSC0200*:dmi:*:svnCube:pnI15-TC:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# Cube iWork 11 Stylus
sensor:modalias:acpi:KIOX000A*:dmi:*:svncube:pni8-T:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# Cube KNote 5
sensor:modalias:acpi:KIOX000A*:dmi:*:svnALLDOCUBE:pni1102:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
# Cyberbook
#########################################
# Cyberbook T116
sensor:modalias:acpi:KIOX000A*:dmi:*:rvnDefaultstring:rnCherryTrailCR:*:sku20170531:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
# 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
#########################################
# Dell
#########################################
sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:pnVostro5581:*
sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:sku0A36:*
sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:sku0A3E:*
sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:sku0B09:*
sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:sku0B0B:*
sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:sku0B0D:*
sensor:modalias:platform:HID-SENSOR-200073:dmi:*svnDell*:sku0B11:*
ACCEL_LOCATION=base
# Dell Venue 8 Pro 3845
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:*
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
#########################################
# Digibras
#########################################
# Digibras F10-30
sensor:modalias:acpi:SMO8500*:dmi:*:svnDigibras:pnF10-30:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
# DIGMA
#########################################
@ -246,21 +346,55 @@ 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
#########################################
# Estar
#########################################
sensor:modalias:acpi:SMO8500*:dmi:*:svnEstar:pneSTARBEAUTYHDIntelQuadcore:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# Eve Technology
#########################################
sensor:modalias:acpi:KIOX000A*:dmi:*:svnEVE*:pnEveV:*
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
#########################################
# Geo Computers
#########################################
# Geoflex
sensor:modalias:acpi:KIOX010A*:dmi:*:svnGEO*:pnGeoFlex*:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# Glavey
#########################################
# Glavey TM800A550L
sensor:modalias:acpi:KXCJ9000*:dmi:*:bvrZY-8-BI-PX4S70VTR400-X423B-005-D:*:rvnAMICorporation:rnAptioCRB:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
# 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*:*
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*:*
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*:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# GP-electronic
#########################################
@ -278,15 +412,26 @@ 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:
# '*' in ":*svn" is there because kernels >= 5.8 have inserted a br field there
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
#########################################
# Hometech
########################################
# Nobody bothered to use Linux on any device of this manufacturer
# so current marks might be too general and need fixes.
# These values are based on Wi101 model.
sensor:modalias:acpi:BMA250E*:dmi:*:svnInsyde*:pni101c:*
ACCEL_MOUNT_MATRIX=0,1,0;-1,0,0;-1,0,0
#########################################
# HP
#########################################
@ -312,7 +457,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
@ -320,15 +465,25 @@ sensor:modalias:acpi:BMA250*:dmi:*:bvritWORKS.G.WI71C.JGBMRB*:*:svnInsyde:pni71c
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
#########################################
# Irbis TW90
# Irbis
#########################################
#TW90
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:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
#TW118
sensor:modalias:acpi:BOSC0200*:dmi:*:svnIRBIS:pnTW118:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# 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
#########################################
@ -336,26 +491,40 @@ 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
sensor:modalias:acpi:BOSC0200*:dmi:*:svnJumper:pnEZpad:*:rvr.A006:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, 1
# EZpad 7
sensor:modalias:acpi:KIOX0009*:dmi:*:bvrJumper12x.WJ2012.bsBKRCP*:svnJumper:pnEZpad:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
# EZpad Go
sensor:modalias:acpi:KIOX000A*:dmi:bvnAmericanMegatrendsInc.:*:svnjumper:pnEZpad:*:ct31:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# Kazam
#########################################
sensor:modalias:acpi:KIOX000A*:dmi:bvnINSYDECorp.:bvrVISION.I22K*:svnKAZAM:pnVISION:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
#########################################
# KD / Kurio
#########################################
sensor:modalias:acpi:SMO8500*:dmi:*:svnKDInteractive:pnKurioSmart:*:rnKDM960BCP:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# 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
#########################################
@ -364,8 +533,15 @@ 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:BOSC0200:dmi:*ThinkPadYoga11e3rdGen*
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
sensor:modalias:acpi:BOSC0200*:dmi:*ThinkPadYoga11e3rdGen:*
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, -1
sensor:modalias:acpi:BOSC0200*:dmi:*:svnLENOVO:*pvrThinkPadYoga11e4thGen:*
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, -1
# Lenovo ThinkPad Yoga 11e 5th Gen (20LN-S14900)
sensor:modalias:acpi:BOSC0200*:dmi:*pvrThinkPadYoga11e5thGen:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, -1
# Miix3-1030
sensor:modalias:acpi:BMA250E*:dmi:bvnLENOVO:*:pvrLenovoMIIX3-1030:*
@ -375,10 +551,14 @@ sensor:modalias:acpi:BMA250E*:dmi:bvnLENOVO:*:pvrLenovoMIIX3-1030:*
sensor:modalias:acpi:SMO8500*:dmi:bvnLENOVO:*:pvrLenovoMIIX3-830:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
# IdeaPad D330
sensor:modalias:acpi:BOSC0200*:dmi:*:svnLENOVO:pn81H3:*
# IdeaPad D330-10IGM (both 81H3 and 81MD product names)
sensor:modalias:acpi:BOSC0200*:dmi:*:svnLENOVO:*:pvrLenovoideapadD330-10IGM:*
ACCEL_MOUNT_MATRIX=0, 1, 0; -1, 0, 0; 0, 0, 1
# IdeaPad Miix 300
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
# a portrait LCD panel, versions with bvr 1HCN3?WW have a landscape panel
sensor:modalias:acpi:KIOX000A*:dmi:bvnLENOVO:bvr1HCN4?WW:*:svnLENOVO:pn80SG:*
@ -387,7 +567,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
@ -396,6 +576,16 @@ sensor:modalias:acpi:*BOSC0200*:dmi:*:svnLENOVO*:pn80XE:*
sensor:modalias:acpi:*BOSC0200*:dmi:*:svnLENOVO*:pn80U1:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Yoga 300-11IBR, display sensor
sensor:modalias:acpi:DUAL250E*:dmi:*:svnLENOVO:*:pvrLenovoYoga300-11IBR:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
ACCEL_LOCATION=display
# Yoga 300-11IBR, base sensor
sensor:modalias:i2c:bmc150_accel:dmi:*:svnLENOVO:*:pvrLenovoYoga300-11IBR:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, 1, 0; 0, 0, -1
ACCEL_LOCATION=base
#########################################
# LINX
#########################################
@ -404,39 +594,66 @@ sensor:modalias:acpi:*BOSC0200*:dmi:*:svnLENOVO*:pn80U1:*
sensor:modalias:acpi:BOSC0200*:dmi:*:svnLINX*:pnLINX1010B:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, -1
# Linx 12X64 and 12V64
# Linx 12X64, 12V64 and Vision 8
sensor:modalias:acpi:KIOX000A*:dmi:*:svnLINX*:pnLINX12*64:*
sensor:modalias:acpi:KIOX000A*:dmi:*:svnLINX:pnVISION004:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
#########################################
# Mediacom
#########################################
# Mediacom Winpad 7.0 W700
sensor:modalias:acpi:BMA250*:dmi:*svnMEDIACOM*:pnWinPad7W10-WPW700:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
#########################################
# Medion
#########################################
# Medion Akoya E2228T MD61900
sensor:modalias:acpi:KIOX020A*:dmi:*:svnMEDION:pnE2228TMD61900:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
ACCEL_LOCATION=base
# Medion Akoya E1239T MD60568
sensor:modalias:acpi:KIOX0009*:dmi:*:svnMEDION:pnE1239TMD60568:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# Medion Akoya E2212T MD99720
sensor:modalias:acpi:SMO8500*:dmi:*:svnMEDION:pnAkoyaE2212TMD99720:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
# Medion Akoya E2215T MD60198
sensor:modalias:acpi:KIOX000A*:dmi:*svnMEDION:pnE2215TMD60198:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Medion Akoya E3216 MD60900
sensor:modalias:acpi:KIOX010A*:dmi:*:svnMEDION*:pnE3216*:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Medion Akoya E3221 MD61237
sensor:modalias:acpi:KIOX010A*:dmi:*:svnMEDION:pnE3221MD61237:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Medion Akoya E3222 MD62450
sensor:modalias:acpi:KIOX010A*:dmi:*:svnMEDION*:pnE3222*:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Medion Akoya E2292 MD63390
sensor:modalias:acpi:KIOX010A*:dmi:*:svnMEDION:pnE2292MD63390:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Medion Akoya E2293 MD61130
sensor:modalias:acpi:KIOX010A*:dmi:*:svnMEDION:pnE2293MD61130:*
# Medion Akoya E2293 MD61144
# Medion Akoya E3222 MD62450
# and presumably all other Akoya Exxxx
sensor:modalias:acpi:KIOX010A*:dmi:*:svnMEDION:pnE*:*
# Medion Akoya E3222 MD62450
sensor:modalias:acpi:KIOX010A*:dmi:*:svnMEDION:pnMEDION*:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
ACCEL_LOCATION=display
# Same as above, but for base sensor
sensor:modalias:acpi:KIOX020A*:dmi:*:svnMEDION:pnE*:*
sensor:modalias:acpi:KIOX020A*:dmi:*:svnMEDION:pnMEDION*:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, -1
ACCEL_LOCATION=base
#########################################
# MPMAN
#########################################
# MPMAN Converter 9, same hw as the I.T.Works TW891 2-in-1
sensor:modalias:acpi:SMO8500*:dmi:*:svnMPMAN:pnConverter9:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# MPMAN MPWIN895C
sensor:modalias:acpi:BMA250E*:dmi:*:svnMPMAN:pnMPWIN8900CL:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# MSI
@ -452,6 +669,10 @@ sensor:modalias:acpi:SMO8500*:dmi:*:svnMicro-StarInternationalCo.,Ltd.:pnS100:*
sensor:modalias:acpi:BOSC0200*:dmi:*:svnCompletElectroServ:pnMY8307:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
# MY8312
sensor:modalias:acpi:KIOX010A*:dmi:*:svnCompletElectroServSA:pnMY8312:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# Nuvision (TMax)
#########################################
@ -464,6 +685,16 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:svnTMAX:pnTM800W560L:*
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTMAX:pnTM101W610L:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Nuvision Encite Split 11. NES11-C432SSA
sensor:modalias:acpi:BOSC0200*:dmi:*:svnNuvision:pnNES11:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# Odys
#########################################
sensor:modalias:acpi:BOSC0200*:dmi:bvnINSYDECorp.:bvrODYS.FUSIONWIN12:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
# Onda
#########################################
@ -476,9 +707,30 @@ 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.:
# '*' in ":*svn" is there because kernels >= 5.8 have inserted a br field there
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
#########################################
# One-netbook
#########################################
# One-netbook OneMix 2s
# OneMix 2s has no product name filled, matching entire dmi-alias
# '*' in ":*svn" is there because kernels >= 5.8 have inserted a br field there
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.12:bd10/26/2018:*svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnDefaultstring:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# One-netbook OneMix 3 Pro
sensor:modalias:acpi:BOSC0200*:dmi:*svnONE-NETBOOKTECHNOLOGYCO*:pnOne-Mix3Pro:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
# One-netbook OneMix 3s
# OneMix 3s has no product name filled, matching entire dmi-alias
# '*' in ":*svn" is there because kernels >= 5.8 have inserted a br field there
sensor:modalias:acpi:BOSC0200*:dmi:bvnAmericanMegatrendsInc.:bvr5.12:bd07/17/2019:*svnDefaultstring:pnDefaultstring:pvrDefaultstring:rvnDefaultstring:rnDefaultstring:rvrDefaultstring:cvnDefaultstring:ct3:cvrDefaultstring:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
# Peaq
#########################################
@ -508,8 +760,9 @@ 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.:
# '*' in ":*svn" is there because kernels >= 5.8 have inserted a br field there
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)
@ -520,42 +773,44 @@ sensor:modalias:acpi:KIOX000A*:dmi:*:rvnPOV:rnI102A:*
sensor:modalias:i2c:bmc150_accel:dmi:bvnINSYDECorp.:*:svnInsyde:pnBayTrail:*:rvn105B:rn0E57:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# Predia
#########################################
# Predia Basic tablet, most DMI strings are generic, match on BIOS version
sensor:modalias:acpi:BOSC0200*:dmi:bvnINSYDECorp.:bvrMx.WT107.KUBNGEA*svnInsyde:pnCherryTrail:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
#########################################
# Prowise
#########################################
sensor:modalias:acpi:SMO8500*:dmi:*:svnProwise:pnPT301:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
#########################################
# Reeder
#########################################
# A8iW-Rev.A
sensor:modalias:acpi:SMO8500*:dmi:*:rvnReeder:rnA8iW-Rev.A:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# Schneider
#########################################
# 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
#########################################
# Teclast
#########################################
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnX80Pro:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
#Teclast X80 PLUS (H5C5)
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnDefaultstring:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnX98PlusII:*
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.:
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# Teclast F5
sensor:modalias:acpi:KIOX010A*:dmi:*:svnTECLAST:pnF5:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# Teclast F6 Pro
# Teclast F6 Pro (2 sensors)
sensor:modalias:acpi:KIOX010A*:dmi:*:svnTECLAST:pnF6Pro:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
ACCEL_LOCATION=display
@ -564,6 +819,56 @@ sensor:modalias:acpi:KIOX020A*:dmi:*:svnTECLAST:pnF6Pro:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
ACCEL_LOCATION=base
# Teclast Tbook 11 (E5A6)
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnTbooK11:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# Teclast X4 2-in-1 (G4M6)
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnX4:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# Teclast X80 Plus (H5C5)
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnDefaultstring:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# Teclast X80 Pro (E3E6)
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnX80Pro:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# Teclast X89 (E7ED), "tPAD" is too generic also match on BIOS date
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
# '*' in ":*svn" is there because kernels >= 5.8 have inserted a br field there
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
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTECLAST:pnX98PlusII:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
#########################################
# Thundersoft
#########################################
# Thundersoft TST168 tablet, generic DMI strings, match entire dmi modalias inc. bios-date
# '*' in ":*svn" is there because kernels >= 5.8 have inserted a br field there
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
#########################################
# Toshiba
#########################################
# Toshiba Encore WT8-B tablet
sensor:modalias:acpi:INVN6500*:dmi:*:svnTOSHIBA:pnTOSHIBAENCORE2WT8-B:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
# Toshiba Encore WT10A tablet
sensor:modalias:acpi:INVN6500*:dmi:*:svnTOSHIBA:pnTOSHIBAWT10-A-103:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
#########################################
# Trekstor
#########################################
@ -571,26 +876,62 @@ sensor:modalias:acpi:BMA250*:dmi:*:bvrTREK.G.WI71C.JGBMRBA*:*:svnInsyde:pnST7041
sensor:modalias:acpi:BMA250*:dmi:*:bvrTREK.G.WI71C.JGBMRBA*:*:svnTrekStor:pnSurfTabwintron7.0ST70416-6:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
# SurfTab Wintron 10.1 ST10432-3, generic DMI string, use partial BIOS version match
sensor:modalias:acpi:SMO8500*:dmi:*:bvrWintron.R25M.02.0*:*:svnInsyde:pnBayTrail:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTrekStor:pnSurfTabtwin10.1:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, 1
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTREKSTOR*:pnPrimetabS11B:*
sensor:modalias:acpi:KIOX000A*:dmi:*:svnTREKSTOR:pnPrimetabT13B:*
sensor:modalias:acpi:BOSC0200*:dmi:*:svnTrekStor*:pnSurfTabtwin11.6:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
# alternative version of Trekstor's SurfTab Twin 11.6
sensor:modalias:acpi:BOSC0200*:dmi:*:bvrTP15-VT5.2.1.3:*:svnTrekStor*:pnSurfTabtwin11.6:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, 1, 0; 0, 0, -1
sensor:modalias:acpi:KIOX010A*:dmi:*:svnTREKSTOR:pnPrimebookC11B:*
sensor:modalias:acpi:KIOX010A*:dmi:*:svnTREKSTOR:pnPRIMEBOOKC11B:*
sensor:modalias:acpi:KIOX010A*:dmi:*:svnTREKSTOR:pnYourbookC11B:*
sensor:modalias:acpi:KIOX010A*:dmi:*:svnTREKSTOR:pnYOURBOOKC11B:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0, -1, 0; 0, 0, -1
ACCEL_LOCATION=display
sensor:modalias:acpi:KIOX020A*:dmi:*:svnTREKSTOR:pnPrimebookC11B:*
sensor:modalias:acpi:KIOX020A*:dmi:*:svnTREKSTOR:pnPRIMEBOOKC11B:*
sensor:modalias:acpi:KIOX020A*:dmi:*:svnTREKSTOR:pnYourbookC11B:*
sensor:modalias:acpi:KIOX020A*:dmi:*:svnTREKSTOR:pnYOURBOOKC11B:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 1, 0, 0; 0, 0, 1
ACCEL_LOCATION=base
#########################################
# Umax
#########################################
sensor:modalias:acpi:KIOX000A*:dmi:*:svnUMAX:pnVisionBook10WiPro:*
ACCEL_MOUNT_MATRIX=1, 0, 0; 0, -1, 0; 0, 0, 1
sensor:modalias:acpi:SMO8500*:dmi:*:svnUMAX:pnVisionBook10WiPlus:*
ACCEL_MOUNT_MATRIX=0, -1, 0; -1, 0, 0; 0, 0, 1
#########################################
# Voyo
#########################################
# Voyo Winpad A15
# The Winpad A15 does not have its product name filled, so we
# match the entire dmi-alias, assuming that the use of a SMO8500 +
# bios-version + bios-date combo is unique
# '*' in ":*svn" is there because kernels >= 5.8 have inserted a br field there
sensor:modalias:acpi:SMO8500*:dmi:bvnAmericanMegatrendsInc.:bvr5.6.5:bd11/20/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
#########################################
# Wortmann
#########################################
sensor:modalias:acpi:KIOX000A*:dmi:*:svnWortmann_AG:pnTERRA_PAD_1061:*
ACCEL_MOUNT_MATRIX=0, -1, 0; 1, 0, 0; 0, 0, -1
#########################################
# Yours
#########################################

33
hwdb/70-analyzers.hwdb Normal file
View File

@ -0,0 +1,33 @@
# This file is part of systemd.
#
# Database for signal analyzers (protocol analyzers, logic analyzers,
# oscilloscopes, multimeters, bench power supplies, etc.) that should
# be accessible to the seat owner.
#
# Permitted keys:
# Specify if a device is a signal analyzer
# ID_SIGNAL_ANALYZER=1|0
###########################################################
# Total Phase
###########################################################
# Aarvark I2C/SPI Host Adapter
usb:v0403pe0d0*
ID_SIGNAL_ANALYZER=1
# Beagle Protocol Analyzers
usb:v1679p2001*
ID_SIGNAL_ANALYZER=1
# Cheetah SPI Host Adapter
usb:v1679p2002*
ID_SIGNAL_ANALYZER=1
# Komodo CAN Duo Interface
usb:v1679p3001*
ID_SIGNAL_ANALYZER=1
# Power Delivery Analyzers
usb:v1679p6003*
usb:v0483pdf11*
ID_SIGNAL_ANALYZER=1

25
hwdb/70-cameras.hwdb Normal file
View File

@ -0,0 +1,25 @@
# This file is part of systemd.
#
# Database for webcam and camera quirks.
#
# Permitted keys:
# Specify if a camera is an infra-red camera
# ID_INFRARED_CAMERA=1|0
# Specify if a camera is front or rear facing
# ID_CAMERA_DIRECTION=front|rear
# Generic
camera:usb:v*p*:name:*IR Camera*:
ID_INFRARED_CAMERA=1
###########################################################
# Philips
###########################################################
# Philips 346p1crh display
camera:usb:v04f2pb612:name:*USB2.0 FHD UVC WebCam* IR Camer*:
ID_INFRARED_CAMERA=1
ID_CAMERA_DIRECTION=front
camera:usb:v04f2pb612:name:*USB2.0 FHD UVC WebCam* USB2.0 F*:
ID_CAMERA_DIRECTION=front

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>:*
# 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:*
# mouse:*: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:*
#
# 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
@ -44,14 +46,12 @@
# udevadm info /dev/input/eventXX.
#
# Allowed properties are:
# ID_INPUT_TRACKBALL
# MOUSE_DPI
# MOUSE_WHEEL_CLICK_ANGLE
# MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL
# MOUSE_WHEEL_CLICK_COUNT
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL
# MOUSE_WHEEL_TILT_HORIZONTAL
# MOUSE_WHEEL_TILT_VERTICAL
# ID_INPUT_TRACKBALL
# MOUSE_DPI
# MOUSE_WHEEL_CLICK_ANGLE
# MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL
# MOUSE_WHEEL_CLICK_COUNT
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL
#
#########################################
# ID_INPUT_TRACKBALL #
@ -65,7 +65,7 @@
#########################################
#
# DPI settings are specified as
# MOUSE_DPI=<dpi>[@<frequency>]
# MOUSE_DPI=<dpi>[@<frequency>]
#
# Where <dpi> is the resolution in dots per inch, and <frequency> the
# sampling frequency in Hz (optional). If a device supports dynamic
@ -136,26 +136,6 @@
# MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL works the same way but also follows the
# rules of MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL.
#########################################
# MOUSE_WHEEL_TILT_HORIZONTAL #
# MOUSE_WHEEL_TILT_VERTICAL #
#########################################
#
# Indicates that the respective axis is not a mouse wheel rotation but a
# tilt along that axis. Wheel tilt is most commonly used for horizontal
# scroll wheel emulation on mice with only a single vertical wheel.
#
# The vertical and horizontal Axes are independently marked as tilt axes,
# for example it is permitted to have a MOUSE_WHEEL_CLICK_COUNT or
# MOUSE_WHEEL_CLICK_ANGLE for the vertical axis and mark the horizontal axis
# marked as as MOUSE_WHEEL_TILT_HORIZONTAL.
#
# It is a bug to have either CLICK_COUNT or CLICK_ANGLE set on the same axis
# as WHEEL_TILT. Applications should give priority to WHEEL_TILT and ignore
# other settings.
#
# This is a flag only, permitted values: 0 or 1
#
# Sort by brand, type (usb, bluetooth), DPI, frequency.
# For mice with switchable resolution, sort by the starred entry.
@ -163,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
##########################################
@ -175,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
##########################################
@ -183,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
##########################################
@ -191,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
##########################################
@ -207,14 +187,22 @@ 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
##########################################
# Elecom
#########################################
# Elecom HUGE TrackBall (M-HT1DR)
mouse:usb:v056ep010d:name:ELECOM TrackBall Mouse HUGE TrackBall:*
MOUSE_DPI=500@125 *1000@125 1500@125
##########################################
# Fujitsu Siemens
##########################################
mouse:usb:v0461p4d16:name:USB Optical Mouse:
mouse:usb:v0461p4d16:name:USB Optical Mouse:*
MOUSE_DPI=500@125
##########################################
@ -222,7 +210,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
##########################################
@ -230,11 +218,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
##########################################
@ -242,7 +230,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
##########################################
@ -250,7 +238,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
##########################################
@ -258,18 +246,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
##########################################
@ -285,39 +273,42 @@ mouse:usb:v04b3p3107:name:*
##########################################
# Kensington Expert Mouse trackball
mouse:usb:v047dp1020:*Kensington Expert Mouse*
mouse:usb:v047dp1020:*Kensington Expert Mouse*:*
mouse:usb:v047dp8018:name:Kensington Expert Wireless TB Mouse:*
mouse:bluetooth:v047dp8019:name:Expert Wireless TB Mouse:*
ID_INPUT_TRACKBALL=1
MOUSE_DPI=400@125
##########################################
# Lenovo
##########################################
# 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
##########################################
@ -332,132 +323,172 @@ 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 G403 Prodigy (Wired)
mouse:usb:v046dpc083:name:Logitech G403 Prodigy Gaming Mouse:*
MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000
# Logitech G403 Hero
mouse:usb:v046dpc08f:name:Logitech G403 HERO Gaming Mouse:*
MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000
# Logitech G500 Mouse
mouse:usb:v046dpc068:name:Logitech G500:
MOUSE_DPI=*1600@500 2600@500 3600@500
mouse:usb:v046dpc068:name:Logitech G500:*
MOUSE_DPI=400@500 *800@500 2000@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:*
# Logitech G502 Hero
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_DPI=*1000@500 3800@500 500@1000 1500@1000 2000@1000
mouse:usb:v046dp1023:name:Logitech G700:*
mouse:usb:v046dpc531:name:Logitech USB Receiver:*
MOUSE_DPI=400@500 800@500 *1200@500 1600@500 3200@500
# 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
# Logitech G Pro Wireless (Wired)
mouse:usb:v046dpc088:name:Logitech G Pro Wireless Gaming Mouse:*
# Logitech G Pro Wireless (Wireless)
mouse:usb:v046dp4079:name:Logitech G Pro:*
MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000 6400@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_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_DPI=1100@168
mouse:usb:v046dp1024:name:Logitech M310:*
MOUSE_DPI=800@125
# 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 MX 518 Legendary (HERO sensor)
mouse:usb:v046dpc08e:name:Logitech MX518 Gaming Mouse:*
MOUSE_DPI=400@1000 *800@1000 1600@1000 3200@1000 6400@1000
# 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
mouse:usb:v046dp406a:name:Logitech MX Anywhere 2S:
# Logitech Anywhere MX 2S (via Logitech Unifying Receiver)
mouse:usb:v046dp406a:name:Logitech MX Anywhere 2S:*
MOUSE_WHEEL_CLICK_ANGLE=20
# Logitech MX Master
# Logitech Anywhere MX 2S (via Bluetooth)
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
MOUSE_WHEEL_CLICK_COUNT=24
MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14
# Logitech MX Master (via Bluetooth)
# Horiz wheel has 14 stops, angle is rounded up
mouse:bluetooth:v046dpb012:name:MX Master Mouse:*
MOUSE_DPI=1000@2000
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
MOUSE_WHEEL_CLICK_COUNT=24
MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14
# 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
@ -466,188 +497,207 @@ 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_DPI=2000@2000
mouse:bluetooth:v046dpb019:name:MX Master 2S Mouse:*
MOUSE_DPI=1000@2000
MOUSE_WHEEL_CLICK_ANGLE=15
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=26
MOUSE_WHEEL_CLICK_COUNT=24
MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL=14
# Logitech MX Ergo
mouse:usb:v046dp406f:name:Logitech MX Ergo:*
mouse:usb:v046dpc52b:name:Logitech Unifying Device. Wireless PID:406f:*
mouse:bluetooth:v046dpb01d:name:MX Ergo Mouse:*
ID_INPUT_TRACKBALL=1
MOUSE_DPI=380@125
## 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-BT96A
mouse:usb:v046dpc03d: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 Trackman Marble
mouse:usb:v046dpc408:name:Logitech USB 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
# Microsoft Pro Intellimouse
mouse:usb:v045ep082a:name:Microsoft Microsoft Pro Intellimouse Mouse:*
MOUSE_DPI=1600@1000
##########################################
# Mionix
##########################################
#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
@ -656,7 +706,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
##########################################
@ -664,7 +714,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
##########################################
@ -672,7 +722,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
##########################################
@ -680,11 +730,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
##########################################
@ -692,7 +742,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
@ -701,7 +751,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
##########################################
@ -709,7 +759,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
##########################################
@ -717,12 +767,12 @@ 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
##########################################
# Zelotes
##########################################
##########################################
# Zelotes
##########################################
# Zelotes 5500 DPI 7 Button USB Wired Gaming Mouse
mouse:usb:v1d57pad17:*
@ -737,3 +787,9 @@ mouse:usb:v3057p0001:*
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
# Zowie ZA12
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

@ -22,7 +22,7 @@
# 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
@ -43,6 +43,7 @@
# udevadm info /dev/input/eventXX.
#
# Allowed properties are:
# ID_INPUT_POINTINGSTICK
# POINTINGSTICK_CONST_ACCEL (deprecated)
# POINTINGSTICK_SENSITIVITY
#
@ -76,31 +77,36 @@
# drivers/input/mouse/trackpoint.c in the Linux kernel sources.
#
#
# Sort by brand, model
##########################################
# Generic
##########################################
evdev:name:*[tT]rack[pP]oint*:*
ID_INPUT_POINTINGSTICK=1
#########################################
# Dell
#########################################
# 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
#########################################

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,11 @@
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
dist_udevhwdb_DATA = \
20-OUI.hwdb \
20-acpi-vendor.hwdb \
20-bluetooth-vendor-product.hwdb \
20-dmi-id.hwdb \
20-net-ifname.hwdb \
20-OUI.hwdb \
20-pci-classes.hwdb \
20-pci-vendor-model.hwdb \
20-sdio-classes.hwdb \
@ -12,9 +13,17 @@ dist_udevhwdb_DATA = \
20-usb-classes.hwdb \
20-usb-vendor-model.hwdb \
20-vmbus-class.hwdb \
60-autosuspend-fingerprint-reader.hwdb \
60-autosuspend.hwdb \
60-evdev.hwdb \
60-input-id.hwdb \
60-keyboard.hwdb \
60-seat.hwdb \
60-sensor.hwdb \
70-analyzers.hwdb \
70-cameras.hwdb \
70-joystick.hwdb \
70-mouse.hwdb \
70-pointingstick.hwdb \
70-touchpad.hwdb
70-touchpad.hwdb \
80-ieee1394-unit-function.hwdb

View File

@ -1,375 +0,0 @@
#!/usr/bin/perl
use strict;
use warnings;
sub usb_vendor {
my $vendor;
open(IN, "<", "usb.ids");
open(OUT, ">", "20-usb-vendor-model.hwdb");
print(OUT "# This file is part of systemd.\n" .
"#\n" .
"# Data imported from: http://www.linux-usb.org/usb.ids\n");
while (my $line = <IN>) {
$line =~ s/\s+$//;
$line =~ m/^([0-9a-f]{4})\s*(.+)$/;
if (defined $1) {
$vendor = uc $1;
my $text = $2;
print(OUT "\n");
print(OUT "usb:v" . $vendor . "*\n");
print(OUT " ID_VENDOR_FROM_DATABASE=" . $text . "\n");
next;
}
$line =~ m/^\t([0-9a-f]{4})\s*(.+)$/;
if (defined $1) {
my $model = uc $1;
my $text = $2;
print(OUT "\n");
print(OUT "usb:v" . $vendor . "p" . $model . "*\n");
print(OUT " ID_MODEL_FROM_DATABASE=" . $text . "\n");
}
}
close(IN);
close(OUT);
}
sub usb_classes {
my $class;
my $subclass;
my $protocol;
open(IN, "<", "usb.ids");
open(OUT, ">", "20-usb-classes.hwdb");
print(OUT "# This file is part of systemd.\n" .
"#\n" .
"# Data imported from: http://www.linux-usb.org/usb.ids\n");
while (my $line = <IN>) {
$line =~ s/\s+$//;
$line =~ m/^C\ ([0-9a-f]{2})\s*(.+)$/;
if (defined $1) {
$class = uc $1;
if ($class =~ m/^00$/) {
next;
}
my $text = $2;
print(OUT "\n");
print(OUT "usb:v*p*d*dc" . $class . "*\n");
print(OUT " ID_USB_CLASS_FROM_DATABASE=" . $text . "\n");
next;
}
if (not defined $class) {
next;
} elsif ($line =~ m/^$/) {
last;
}
$line =~ m/^\t([0-9a-f]{2})\s*(.+)$/;
if (defined $1) {
$subclass = uc $1;
if ($subclass =~ m/^00$/) {
next;
}
my $text = $2;
if ($text =~ m/^(\?|None|Unused)$/) {
next;
}
print(OUT "\n");
print(OUT "usb:v*p*d*dc" . $class . "dsc" . $subclass . "*\n");
print(OUT " ID_USB_SUBCLASS_FROM_DATABASE=" . $text . "\n");
next;
}
$line =~ m/^\t\t([0-9a-f]{2})\s*(.+)$/;
if (defined $1) {
$protocol = uc $1;
my $text = $2;
if ($text =~ m/^(\?|None|Unused)$/) {
next;
}
print(OUT "\n");
print(OUT "usb:v*p*d*dc" . $class . "dsc" . $subclass . "dp" . $protocol . "*\n");
print(OUT " ID_USB_PROTOCOL_FROM_DATABASE=" . $text . "\n");
}
}
close(IN);
close(OUT);
}
sub pci_vendor {
my $vendor;
my $device;
my $device_text;
open(IN, "<", "pci.ids");
open(OUT, ">", "20-pci-vendor-model.hwdb");
print(OUT "# This file is part of systemd.\n" .
"#\n" .
"# Data imported from: http://pci-ids.ucw.cz/v2.2/pci.ids\n");
while (my $line = <IN>) {
$line =~ s/\s+$//;
$line =~ m/^([0-9a-f]{4})\s*(.+)$/;
if (defined $1) {
$vendor = uc $1;
my $text = $2;
print(OUT "\n");
print(OUT "pci:v0000" . $vendor . "*\n");
print(OUT " ID_VENDOR_FROM_DATABASE=" . $text . "\n");
next;
}
$line =~ m/^\t([0-9a-f]{4})\s*(.+)$/;
if (defined $1) {
$device = uc $1;
$device_text = $2;
print(OUT "\n");
print(OUT "pci:v0000" . $vendor . "d0000" . $device . "*\n");
print(OUT " ID_MODEL_FROM_DATABASE=" . $device_text . "\n");
next;
}
$line =~ m/^\t\t([0-9a-f]{4})\s*([0-9a-f]{4})\s*(.*)$/;
if (defined $1) {
my $sub_vendor = uc $1;
my $sub_device = uc $2;
my $sub_text = $3;
$sub_text =~ s/^\Q$device_text\E\s*//;
$sub_text =~ s/(.+)/\ ($1)/;
print(OUT "\n");
print(OUT "pci:v0000" . $vendor . "d0000" . $device . "sv0000" . $sub_vendor . "sd0000" . $sub_device . "*\n");
print(OUT " ID_MODEL_FROM_DATABASE=" . $device_text . $sub_text . "\n");
}
}
close(IN);
close(OUT);
}
sub pci_classes {
my $class;
my $subclass;
my $interface;
open(IN, "<", "pci.ids");
open(OUT, ">", "20-pci-classes.hwdb");
print(OUT "# This file is part of systemd.\n" .
"#\n" .
"# Data imported from: http://pci-ids.ucw.cz/v2.2/pci.ids\n");
while (my $line = <IN>) {
$line =~ s/\s+$//;
$line =~ m/^C\ ([0-9a-f]{2})\s*(.+)$/;
if (defined $1) {
$class = uc $1;
my $text = $2;
print(OUT "\n");
print(OUT "pci:v*d*sv*sd*bc" . $class . "*\n");
print(OUT " ID_PCI_CLASS_FROM_DATABASE=" . $text . "\n");
next;
}
if (not defined $class) {
next;
} elsif ($line =~ m/^$/) {
last;
}
$line =~ m/^\t([0-9a-f]{2})\s*(.+)$/;
if (defined $1) {
$subclass = uc $1;
my $text = $2;
print(OUT "\n");
print(OUT "pci:v*d*sv*sd*bc" . $class . "sc" . $subclass . "*\n");
print(OUT " ID_PCI_SUBCLASS_FROM_DATABASE=" . $text . "\n");
next;
}
$line =~ m/^\t\t([0-9a-f]{2})\s*(.+)$/;
if (defined $1) {
$interface = uc $1;
my $text = $2;
print(OUT "\n");
print(OUT "pci:v*d*sv*sd*bc" . $class . "sc" . $subclass . "i" . $interface . "*\n");
print(OUT " ID_PCI_INTERFACE_FROM_DATABASE=" . $text . "\n");
}
}
close(IN);
close(OUT);
}
sub sdio_vendor {
my $vendor;
my $device;
open(IN, "<", "sdio.ids");
open(OUT, ">", "20-sdio-vendor-model.hwdb");
print(OUT "# This file is part of systemd.\n" .
"#\n" .
"# Data imported from: hwdb/sdio.ids\n");
while (my $line = <IN>) {
$line =~ s/\s+$//;
$line =~ m/^([0-9a-f]{4})\s*(.+)$/;
if (defined $1) {
$vendor = uc $1;
my $text = $2;
print(OUT "\n");
print(OUT "sdio:c*v" . $vendor . "*\n");
print(OUT " ID_VENDOR_FROM_DATABASE=" . $text . "\n");
next;
}
$line =~ m/^\t([0-9a-f]{4})\s*(.+)$/;
if (defined $1) {
$device = uc $1;
my $text = $2;
print(OUT "\n");
print(OUT "sdio:c*v" . $vendor . "d" . $device . "*\n");
print(OUT " ID_MODEL_FROM_DATABASE=" . $text . "\n");
next;
}
}
close(IN);
close(OUT);
}
sub sdio_classes {
my $class;
my $subclass;
my $interface;
open(IN, "<", "sdio.ids");
open(OUT, ">", "20-sdio-classes.hwdb");
print(OUT "# This file is part of systemd.\n" .
"#\n" .
"# Data imported from: hwdb/sdio.ids\n");
while (my $line = <IN>) {
$line =~ s/\s+$//;
$line =~ m/^C\ ([0-9a-f]{2})\s*(.+)$/;
if (defined $1) {
$class = uc $1;
my $text = $2;
print(OUT "\n");
print(OUT "sdio:c" . $class . "v*d*\n");
print(OUT " ID_SDIO_CLASS_FROM_DATABASE=" . $text . "\n");
next;
}
}
close(IN);
close(OUT);
}
# MAC Address Block Large/Medium/Small
# Large MA-L 24/24 bit (OUI)
# Medium MA-M 28/20 bit (OUI prefix owned by IEEE)
# Small MA-S 36/12 bit (OUI prefix owned by IEEE)
sub oui {
my $prefix;
my %ieee_prefixes = ();
open(OUT, ">", "20-OUI.hwdb");
print(OUT "# This file is part of systemd.\n" .
"#\n" .
"# Data imported from:\n" .
"# https://services13.ieee.org/RST/standards-ra-web/rest/assignments/download/?registry=MA-L&format=txt\n" .
"# https://services13.ieee.org/RST/standards-ra-web/rest/assignments/download/?registry=MA-M&format=txt\n" .
"# https://services13.ieee.org/RST/standards-ra-web/rest/assignments/download/?registry=MA-S&format=txt\n");
open(IN, "<", "ma-small.txt");
while (my $line = <IN>) {
$line =~ s/^ +//;
$line =~ s/\s+$//;
$line =~ m/^([0-9A-F]{2})-([0-9A-F]{2})-([0-9A-F]{2})\s*\(hex\)\s*.+$/;
if (defined $1) {
$prefix = $1 . $2 . $3;
$ieee_prefixes{ $prefix } = 1;
next;
}
$line =~ m/^([0-9A-F]{3})000-\g1FFF\s*\(base 16\)\s*(.+)$/;
if (defined $1) {
my $vendor = uc $1;
my $text = $2;
print(OUT "\n");
print(OUT "OUI:" . $prefix . $vendor . "*\n");
print(OUT " ID_OUI_FROM_DATABASE=" . $text . "\n");
}
}
close(IN);
open(IN, "<", "ma-medium.txt");
while (my $line = <IN>) {
$line =~ s/^ +//;
$line =~ s/\s+$//;
$line =~ m/^([0-9A-F]{2})-([0-9A-F]{2})-([0-9A-F]{2})\s*\(hex\)\s*.+$/;
if (defined $1) {
$prefix = $1 . $2 . $3;
$ieee_prefixes{ $prefix } = 1;
next;
}
$line =~ m/^([0-9A-F])00000-\g1FFFFF\s*\(base 16\)\s*(.+)$/;
if (defined $1) {
my $vendor = uc $1;
my $text = $2;
print(OUT "\n");
print(OUT "OUI:" . $prefix . $vendor . "*\n");
print(OUT " ID_OUI_FROM_DATABASE=" . $text . "\n");
}
}
open(IN, "<", "ma-large.txt");
while (my $line = <IN>) {
$line =~ s/^ +//;
$line =~ s/\s+$//;
$line =~ m/^([0-9A-F]{6})\s*\(base 16\)\s*(.+)$/;
if (defined $1) {
my $vendor = uc $1;
my $text = $2;
if ($text =~ m/^IEEE REGISTRATION AUTHORITY/) {
next;
}
# skip the IEEE owned prefixes
if (! exists $ieee_prefixes{ $vendor }) {
print(OUT "\n");
print(OUT "OUI:" . $vendor . "*\n");
print(OUT " ID_OUI_FROM_DATABASE=" . $text . "\n");
}
}
}
close(IN);
close(OUT);
}
usb_vendor();
usb_classes();
pci_vendor();
pci_classes();
sdio_vendor();
sdio_classes();
oui();

View File

@ -1,245 +0,0 @@
#!/usr/bin/env python3
# SPDX-License-Identifier: MIT
#
# This file is distributed under the MIT license, see below.
#
# The MIT License (MIT)
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
import glob
import string
import sys
import os
try:
from pyparsing import (Word, White, Literal, ParserElement, Regex, LineEnd,
OneOrMore, Combine, Or, Optional, Suppress, Group,
nums, alphanums, printables,
stringEnd, pythonStyleComment, QuotedString,
ParseBaseException)
except ImportError:
print('pyparsing is not available')
sys.exit(77)
try:
from evdev.ecodes import ecodes
except ImportError:
ecodes = None
print('WARNING: evdev is not available')
try:
from functools import lru_cache
except ImportError:
# don't do caching on old python
lru_cache = lambda: (lambda f: f)
EOL = LineEnd().suppress()
EMPTYLINE = LineEnd()
COMMENTLINE = pythonStyleComment + EOL
INTEGER = Word(nums)
STRING = QuotedString('"')
REAL = Combine((INTEGER + Optional('.' + Optional(INTEGER))) ^ ('.' + INTEGER))
SIGNED_REAL = Combine(Optional(Word('-+')) + REAL)
UDEV_TAG = Word(string.ascii_uppercase, alphanums + '_')
TYPES = {'mouse': ('usb', 'bluetooth', 'ps2', '*'),
'evdev': ('name', 'atkbd', 'input'),
'id-input': ('modalias'),
'touchpad': ('i8042', 'rmi', 'bluetooth', 'usb'),
'joystick': ('i8042', 'rmi', 'bluetooth', 'usb'),
'keyboard': ('name', ),
'sensor': ('modalias', ),
}
@lru_cache()
def hwdb_grammar():
ParserElement.setDefaultWhitespaceChars('')
prefix = Or(category + ':' + Or(conn) + ':'
for category, conn in TYPES.items())
matchline = Combine(prefix + Word(printables + ' ' + '®')) + EOL
propertyline = (White(' ', exact=1).suppress() +
Combine(UDEV_TAG - '=' - Word(alphanums + '_=:@*.!-;, "') - Optional(pythonStyleComment)) +
EOL)
propertycomment = White(' ', exact=1) + pythonStyleComment + EOL
group = (OneOrMore(matchline('MATCHES*') ^ COMMENTLINE.suppress()) -
OneOrMore(propertyline('PROPERTIES*') ^ propertycomment.suppress()) -
(EMPTYLINE ^ stringEnd()).suppress())
commentgroup = OneOrMore(COMMENTLINE).suppress() - EMPTYLINE.suppress()
grammar = OneOrMore(Group(group)('GROUPS*') ^ commentgroup) + stringEnd()
return grammar
@lru_cache()
def property_grammar():
ParserElement.setDefaultWhitespaceChars(' ')
dpi_setting = (Optional('*')('DEFAULT') + INTEGER('DPI') + Suppress('@') + INTEGER('HZ'))('SETTINGS*')
mount_matrix_row = SIGNED_REAL + ',' + SIGNED_REAL + ',' + SIGNED_REAL
mount_matrix = (mount_matrix_row + ';' + mount_matrix_row + ';' + mount_matrix_row)('MOUNT_MATRIX')
props = (('MOUSE_DPI', Group(OneOrMore(dpi_setting))),
('MOUSE_WHEEL_CLICK_ANGLE', INTEGER),
('MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL', INTEGER),
('MOUSE_WHEEL_CLICK_COUNT', INTEGER),
('MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL', INTEGER),
('ID_INPUT', Literal('1')),
('ID_INPUT_ACCELEROMETER', Literal('1')),
('ID_INPUT_JOYSTICK', Literal('1')),
('ID_INPUT_KEY', Literal('1')),
('ID_INPUT_KEYBOARD', Literal('1')),
('ID_INPUT_MOUSE', Literal('1')),
('ID_INPUT_POINTINGSTICK', Literal('1')),
('ID_INPUT_SWITCH', Literal('1')),
('ID_INPUT_TABLET', Literal('1')),
('ID_INPUT_TABLET_PAD', Literal('1')),
('ID_INPUT_TOUCHPAD', Literal('1')),
('ID_INPUT_TOUCHSCREEN', Literal('1')),
('ID_INPUT_TRACKBALL', Literal('1')),
('MOUSE_WHEEL_TILT_HORIZONTAL', Literal('1')),
('MOUSE_WHEEL_TILT_VERTICAL', Literal('1')),
('POINTINGSTICK_SENSITIVITY', INTEGER),
('POINTINGSTICK_CONST_ACCEL', REAL),
('ID_INPUT_JOYSTICK_INTEGRATION', Or(('internal', 'external'))),
('ID_INPUT_TOUCHPAD_INTEGRATION', Or(('internal', 'external'))),
('XKB_FIXED_LAYOUT', STRING),
('XKB_FIXED_VARIANT', STRING),
('KEYBOARD_LED_NUMLOCK', Literal('0')),
('KEYBOARD_LED_CAPSLOCK', Literal('0')),
('ACCEL_MOUNT_MATRIX', mount_matrix),
('ACCEL_LOCATION', Or(('display', 'base'))),
)
fixed_props = [Literal(name)('NAME') - Suppress('=') - val('VALUE')
for name, val in props]
kbd_props = [Regex(r'KEYBOARD_KEY_[0-9a-f]+')('NAME')
- Suppress('=') -
('!' ^ (Optional('!') - Word(alphanums + '_')))('VALUE')
]
abs_props = [Regex(r'EVDEV_ABS_[0-9a-f]{2}')('NAME')
- Suppress('=') -
Word(nums + ':')('VALUE')
]
grammar = Or(fixed_props + kbd_props + abs_props) + EOL
return grammar
ERROR = False
def error(fmt, *args, **kwargs):
global ERROR
ERROR = True
print(fmt.format(*args, **kwargs))
def convert_properties(group):
matches = [m[0] for m in group.MATCHES]
props = [p[0] for p in group.PROPERTIES]
return matches, props
def parse(fname):
grammar = hwdb_grammar()
try:
with open(fname, 'r', encoding='UTF-8') as f:
parsed = grammar.parseFile(f)
except ParseBaseException as e:
error('Cannot parse {}: {}', fname, e)
return []
return [convert_properties(g) for g in parsed.GROUPS]
def check_match_uniqueness(groups):
matches = sum((group[0] for group in groups), [])
matches.sort()
prev = None
for match in matches:
if match == prev:
error('Match {!r} is duplicated', match)
prev = match
def check_one_default(prop, settings):
defaults = [s for s in settings if s.DEFAULT]
if len(defaults) > 1:
error('More than one star entry: {!r}', prop)
def check_one_mount_matrix(prop, value):
numbers = [s for s in value if s not in {';', ','}]
if len(numbers) != 9:
error('Wrong accel matrix: {!r}', prop)
try:
numbers = [abs(float(number)) for number in numbers]
except ValueError:
error('Wrong accel matrix: {!r}', prop)
bad_x, bad_y, bad_z = max(numbers[0:3]) == 0, max(numbers[3:6]) == 0, max(numbers[6:9]) == 0
if bad_x or bad_y or bad_z:
error('Mount matrix is all zero in {} row: {!r}',
'x' if bad_x else ('y' if bad_y else 'z'),
prop)
def check_one_keycode(prop, value):
if value != '!' and ecodes is not None:
key = 'KEY_' + value.upper()
if key not in ecodes:
key = value.upper()
if key not in ecodes:
error('Keycode {} unknown', key)
def check_properties(groups):
grammar = property_grammar()
for matches, props in groups:
prop_names = set()
for prop in props:
# print('--', prop)
prop = prop.partition('#')[0].rstrip()
try:
parsed = grammar.parseString(prop)
except ParseBaseException as e:
error('Failed to parse: {!r}', prop)
continue
# print('{!r}'.format(parsed))
if parsed.NAME in prop_names:
error('Property {} is duplicated', parsed.NAME)
prop_names.add(parsed.NAME)
if parsed.NAME == 'MOUSE_DPI':
check_one_default(prop, parsed.VALUE.SETTINGS)
elif parsed.NAME == 'ACCEL_MOUNT_MATRIX':
check_one_mount_matrix(prop, parsed.VALUE)
elif parsed.NAME.startswith('KEYBOARD_KEY_'):
val = parsed.VALUE if isinstance(parsed.VALUE, str) else parsed.VALUE[0]
check_one_keycode(prop, val)
def print_summary(fname, groups):
n_matches = sum(len(matches) for matches, props in groups)
n_props = sum(len(props) for matches, props in groups)
print('{}: {} match groups, {} matches, {} properties'
.format(fname, len(groups), n_matches, n_props))
if n_matches == 0 or n_props == 0:
error('{}: no matches or props'.format(fname))
if __name__ == '__main__':
args = sys.argv[1:] or sorted(glob.glob(os.path.dirname(sys.argv[0]) + '/[67][0-9]-*.hwdb'))
for fname in args:
groups = parse(fname)
print_summary(fname, groups)
check_match_uniqueness(groups)
check_properties(groups)
sys.exit(ERROR)

File diff suppressed because it is too large Load Diff

View File

@ -35,6 +35,7 @@
02d0 Broadcom Corp.
044b Nintendo Wii WLAN daughter card
a887 BCM43143 WLAN card
a9a6 BCM43438 combo WLAN and Bluetooth Low Energy (BLE) # As in RPi3B
4324 BCM43241 WLAN card
4329 BCM4329 WLAN card
4330 BCM4330 WLAN card
@ -82,7 +83,7 @@
# Syntax:
# C class class_name
C 00 Not a SDIO standard interface
C 00 Non-standard SDIO interface
C 01 UART standard interface
C 02 Bluetooth Type-A standard interface
C 03 Bluetooth Type-B standard interface

File diff suppressed because it is too large Load Diff