From 8c2abcff13d736faf18df6532b06c7d5f8e74f0b Mon Sep 17 00:00:00 2001 From: Michal Minar Date: Thu, 27 Mar 2014 16:05:17 +0100 Subject: [PATCH] distributing hwdb files with hwdata --- 20-bluetooth-vendor-product.hwdb | 943 +++++++++++++++++++++++++ 60-keyboard.hwdb | 1112 ++++++++++++++++++++++++++++++ Makefile | 21 +- README | 5 + hwdata.spec | 25 +- ids-update.pl | 270 ++++++++ 6 files changed, 2371 insertions(+), 5 deletions(-) create mode 100644 20-bluetooth-vendor-product.hwdb create mode 100644 60-keyboard.hwdb create mode 100644 ids-update.pl diff --git a/20-bluetooth-vendor-product.hwdb b/20-bluetooth-vendor-product.hwdb new file mode 100644 index 0000000..b928f5a --- /dev/null +++ b/20-bluetooth-vendor-product.hwdb @@ -0,0 +1,943 @@ +# This file is part of systemd. +# +# Data imported from: +# http://www.bluetooth.org/Technical/AssignedNumbers/identifiers.htm + +bluetooth:v0000* + ID_VENDOR_FROM_DATABASE=Ericsson Technology Licensing + +bluetooth:v0001* + ID_VENDOR_FROM_DATABASE=Nokia Mobile Phones + +bluetooth:v0002* + ID_VENDOR_FROM_DATABASE=Intel Corp. + +bluetooth:v0003* + ID_VENDOR_FROM_DATABASE=IBM Corp. + +bluetooth:v0004* + ID_VENDOR_FROM_DATABASE=Toshiba Corp. + +bluetooth:v0005* + ID_VENDOR_FROM_DATABASE=3Com + +bluetooth:v0006* + ID_VENDOR_FROM_DATABASE=Microsoft + +bluetooth:v0007* + ID_VENDOR_FROM_DATABASE=Lucent + +bluetooth:v0008* + ID_VENDOR_FROM_DATABASE=Motorola + +bluetooth:v0009* + ID_VENDOR_FROM_DATABASE=Infineon Technologies AG + +bluetooth:v000A* + ID_VENDOR_FROM_DATABASE=Cambridge Silicon Radio + +bluetooth:v000B* + ID_VENDOR_FROM_DATABASE=Silicon Wave + +bluetooth:v000C* + ID_VENDOR_FROM_DATABASE=Digianswer A/S + +bluetooth:v000D* + ID_VENDOR_FROM_DATABASE=Texas Instruments Inc. + +bluetooth:v000E* + ID_VENDOR_FROM_DATABASE=Ceva, Inc. (formerly Parthus Technologies, Inc.) + +bluetooth:v000F* + ID_VENDOR_FROM_DATABASE=Broadcom Corporation + +bluetooth:v0010* + ID_VENDOR_FROM_DATABASE=Mitel Semiconductor + +bluetooth:v0011* + ID_VENDOR_FROM_DATABASE=Widcomm, Inc + +bluetooth:v0012* + ID_VENDOR_FROM_DATABASE=Zeevo, Inc. + +bluetooth:v0013* + ID_VENDOR_FROM_DATABASE=Atmel Corporation + +bluetooth:v0014* + ID_VENDOR_FROM_DATABASE=Mitsubishi Electric Corporation + +bluetooth:v0015* + ID_VENDOR_FROM_DATABASE=RTX Telecom A/S + +bluetooth:v0016* + ID_VENDOR_FROM_DATABASE=KC Technology Inc. + +bluetooth:v0017* + ID_VENDOR_FROM_DATABASE=NewLogic + +bluetooth:v0018* + ID_VENDOR_FROM_DATABASE=Transilica, Inc. + +bluetooth:v0019* + ID_VENDOR_FROM_DATABASE=Rohde & Schwarz GmbH & Co. KG + +bluetooth:v001A* + ID_VENDOR_FROM_DATABASE=TTPCom Limited + +bluetooth:v001B* + ID_VENDOR_FROM_DATABASE=Signia Technologies, Inc. + +bluetooth:v001C* + ID_VENDOR_FROM_DATABASE=Conexant Systems Inc. + +bluetooth:v001D* + ID_VENDOR_FROM_DATABASE=Qualcomm + +bluetooth:v001E* + ID_VENDOR_FROM_DATABASE=Inventel + +bluetooth:v001F* + ID_VENDOR_FROM_DATABASE=AVM Berlin + +bluetooth:v0020* + ID_VENDOR_FROM_DATABASE=BandSpeed, Inc. + +bluetooth:v0021* + ID_VENDOR_FROM_DATABASE=Mansella Ltd + +bluetooth:v0022* + ID_VENDOR_FROM_DATABASE=NEC Corporation + +bluetooth:v0023* + ID_VENDOR_FROM_DATABASE=WavePlus Technology Co., Ltd. + +bluetooth:v0024* + ID_VENDOR_FROM_DATABASE=Alcatel + +bluetooth:v0025* + ID_VENDOR_FROM_DATABASE=Philips Semiconductors + +bluetooth:v0026* + ID_VENDOR_FROM_DATABASE=C Technologies + +bluetooth:v0027* + ID_VENDOR_FROM_DATABASE=Open Interface + +bluetooth:v0028* + ID_VENDOR_FROM_DATABASE=R F Micro Devices + +bluetooth:v0029* + ID_VENDOR_FROM_DATABASE=Hitachi Ltd + +bluetooth:v002A* + ID_VENDOR_FROM_DATABASE=Symbol Technologies, Inc. + +bluetooth:v002B* + ID_VENDOR_FROM_DATABASE=Tenovis + +bluetooth:v002C* + ID_VENDOR_FROM_DATABASE=Macronix International Co. Ltd. + +bluetooth:v002D* + ID_VENDOR_FROM_DATABASE=GCT Semiconductor + +bluetooth:v002E* + ID_VENDOR_FROM_DATABASE=Norwood Systems + +bluetooth:v002F* + ID_VENDOR_FROM_DATABASE=MewTel Technology Inc. + +bluetooth:v0030* + ID_VENDOR_FROM_DATABASE=ST Microelectronics + +bluetooth:v0031* + ID_VENDOR_FROM_DATABASE=Synopsis + +bluetooth:v0032* + ID_VENDOR_FROM_DATABASE=Red-M (Communications) Ltd + +bluetooth:v0033* + ID_VENDOR_FROM_DATABASE=Commil Ltd + +bluetooth:v0034* + ID_VENDOR_FROM_DATABASE=Computer Access Technology Corporation (CATC) + +bluetooth:v0035* + ID_VENDOR_FROM_DATABASE=Eclipse (HQ Espana) S.L. + +bluetooth:v0036* + ID_VENDOR_FROM_DATABASE=Renesas Technology Corp. + +bluetooth:v0037* + ID_VENDOR_FROM_DATABASE=Mobilian Corporation + +bluetooth:v0038* + ID_VENDOR_FROM_DATABASE=Terax + +bluetooth:v0039* + ID_VENDOR_FROM_DATABASE=Integrated System Solution Corp. + +bluetooth:v003A* + ID_VENDOR_FROM_DATABASE=Matsushita Electric Industrial Co., Ltd. + +bluetooth:v003B* + ID_VENDOR_FROM_DATABASE=Gennum Corporation + +bluetooth:v003C* + ID_VENDOR_FROM_DATABASE=Research In Motion + +bluetooth:v003D* + ID_VENDOR_FROM_DATABASE=IPextreme, Inc. + +bluetooth:v003E* + ID_VENDOR_FROM_DATABASE=Systems and Chips, Inc. + +bluetooth:v003F* + ID_VENDOR_FROM_DATABASE=Bluetooth SIG, Inc. + +bluetooth:v0040* + ID_VENDOR_FROM_DATABASE=Seiko Epson Corporation + +bluetooth:v0041* + ID_VENDOR_FROM_DATABASE=Integrated Silicon Solution Taiwan, Inc. + +bluetooth:v0042* + ID_VENDOR_FROM_DATABASE=CONWISE Technology Corporation Ltd + +bluetooth:v0043* + ID_VENDOR_FROM_DATABASE=PARROT SA + +bluetooth:v0044* + ID_VENDOR_FROM_DATABASE=Socket Mobile + +bluetooth:v0045* + ID_VENDOR_FROM_DATABASE=Atheros Communications, Inc. + +bluetooth:v0046* + ID_VENDOR_FROM_DATABASE=MediaTek, Inc. + +bluetooth:v0047* + ID_VENDOR_FROM_DATABASE=Bluegiga + +bluetooth:v0048* + ID_VENDOR_FROM_DATABASE=Marvell Technology Group Ltd. + +bluetooth:v0049* + ID_VENDOR_FROM_DATABASE=3DSP Corporation + +bluetooth:v004A* + ID_VENDOR_FROM_DATABASE=Accel Semiconductor Ltd. + +bluetooth:v004B* + ID_VENDOR_FROM_DATABASE=Continental Automotive Systems + +bluetooth:v004C* + ID_VENDOR_FROM_DATABASE=Apple, Inc. + +bluetooth:v004D* + ID_VENDOR_FROM_DATABASE=Staccato Communications, Inc. + +bluetooth:v004E* + ID_VENDOR_FROM_DATABASE=Avago Technologies + +bluetooth:v004F* + ID_VENDOR_FROM_DATABASE=APT Licensing Ltd. + +bluetooth:v0050* + ID_VENDOR_FROM_DATABASE=SiRF Technology + +bluetooth:v0051* + ID_VENDOR_FROM_DATABASE=Tzero Technologies, Inc. + +bluetooth:v0052* + ID_VENDOR_FROM_DATABASE=J&M Corporation + +bluetooth:v0053* + ID_VENDOR_FROM_DATABASE=Free2move AB + +bluetooth:v0054* + ID_VENDOR_FROM_DATABASE=3DiJoy Corporation + +bluetooth:v0055* + ID_VENDOR_FROM_DATABASE=Plantronics, Inc. + +bluetooth:v0056* + ID_VENDOR_FROM_DATABASE=Sony Ericsson Mobile Communications + +bluetooth:v0057* + ID_VENDOR_FROM_DATABASE=Harman International Industries, Inc. + +bluetooth:v0058* + ID_VENDOR_FROM_DATABASE=Vizio, Inc. + +bluetooth:v0059* + ID_VENDOR_FROM_DATABASE=Nordic Semiconductor ASA + +bluetooth:v005A* + ID_VENDOR_FROM_DATABASE=EM Microelectronic-Marin SA + +bluetooth:v005B* + ID_VENDOR_FROM_DATABASE=Ralink Technology Corporation + +bluetooth:v005C* + ID_VENDOR_FROM_DATABASE=Belkin International, Inc. + +bluetooth:v005D* + ID_VENDOR_FROM_DATABASE=Realtek Semiconductor Corporation + +bluetooth:v005E* + ID_VENDOR_FROM_DATABASE=Stonestreet One, LLC + +bluetooth:v005F* + ID_VENDOR_FROM_DATABASE=Wicentric, Inc. + +bluetooth:v0060* + ID_VENDOR_FROM_DATABASE=RivieraWaves S.A.S + +bluetooth:v0061* + ID_VENDOR_FROM_DATABASE=RDA Microelectronics + +bluetooth:v0062* + ID_VENDOR_FROM_DATABASE=Gibson Guitars + +bluetooth:v0063* + ID_VENDOR_FROM_DATABASE=MiCommand Inc. + +bluetooth:v0064* + ID_VENDOR_FROM_DATABASE=Band XI International, LLC + +bluetooth:v0065* + ID_VENDOR_FROM_DATABASE=Hewlett-Packard Company + +bluetooth:v0066* + ID_VENDOR_FROM_DATABASE=9Solutions Oy + +bluetooth:v0067* + ID_VENDOR_FROM_DATABASE=GN Netcom A/S + +bluetooth:v0068* + ID_VENDOR_FROM_DATABASE=General Motors + +bluetooth:v0069* + ID_VENDOR_FROM_DATABASE=A&D Engineering, Inc. + +bluetooth:v006A* + ID_VENDOR_FROM_DATABASE=MindTree Ltd. + +bluetooth:v006B* + ID_VENDOR_FROM_DATABASE=Polar Electro OY + +bluetooth:v006C* + ID_VENDOR_FROM_DATABASE=Beautiful Enterprise Co., Ltd. + +bluetooth:v006D* + ID_VENDOR_FROM_DATABASE=BriarTek, Inc. + +bluetooth:v006E* + ID_VENDOR_FROM_DATABASE=Summit Data Communications, Inc. + +bluetooth:v006F* + ID_VENDOR_FROM_DATABASE=Sound ID + +bluetooth:v0070* + ID_VENDOR_FROM_DATABASE=Monster, LLC + +bluetooth:v0071* + ID_VENDOR_FROM_DATABASE=connectBlue AB + +bluetooth:v0072* + ID_VENDOR_FROM_DATABASE=ShangHai Super Smart Electronics Co. Ltd. + +bluetooth:v0073* + ID_VENDOR_FROM_DATABASE=Group Sense Ltd. + +bluetooth:v0074* + ID_VENDOR_FROM_DATABASE=Zomm, LLC + +bluetooth:v0075* + ID_VENDOR_FROM_DATABASE=Samsung Electronics Co. Ltd. + +bluetooth:v0076* + ID_VENDOR_FROM_DATABASE=Creative Technology Ltd. + +bluetooth:v0077* + ID_VENDOR_FROM_DATABASE=Laird Technologies + +bluetooth:v0078* + ID_VENDOR_FROM_DATABASE=Nike, Inc. + +bluetooth:v0078p0001* + ID_PRODUCT_FROM_DATABASE=Nike+ FuelBand + +bluetooth:v0079* + ID_VENDOR_FROM_DATABASE=lesswire AG + +bluetooth:v007A* + ID_VENDOR_FROM_DATABASE=MStar Semiconductor, Inc. + +bluetooth:v007B* + ID_VENDOR_FROM_DATABASE=Hanlynn Technologies + +bluetooth:v007C* + ID_VENDOR_FROM_DATABASE=A & R Cambridge + +bluetooth:v007D* + ID_VENDOR_FROM_DATABASE=Seers Technology Co. Ltd + +bluetooth:v007E* + ID_VENDOR_FROM_DATABASE=Sports Tracking Technologies Ltd. + +bluetooth:v007F* + ID_VENDOR_FROM_DATABASE=Autonet Mobile + +bluetooth:v0080* + ID_VENDOR_FROM_DATABASE=DeLorme Publishing Company, Inc. + +bluetooth:v0081* + ID_VENDOR_FROM_DATABASE=WuXi Vimicro + +bluetooth:v0082* + ID_VENDOR_FROM_DATABASE=Sennheiser Communications A/S + +bluetooth:v0083* + ID_VENDOR_FROM_DATABASE=TimeKeeping Systems, Inc. + +bluetooth:v0084* + ID_VENDOR_FROM_DATABASE=Ludus Helsinki Ltd. + +bluetooth:v0085* + ID_VENDOR_FROM_DATABASE=BlueRadios, Inc. + +bluetooth:v0086* + ID_VENDOR_FROM_DATABASE=equinox AG + +bluetooth:v0087* + ID_VENDOR_FROM_DATABASE=Garmin International, Inc. + +bluetooth:v0088* + ID_VENDOR_FROM_DATABASE=Ecotest + +bluetooth:v0089* + ID_VENDOR_FROM_DATABASE=GN ReSound A/S + +bluetooth:v008A* + ID_VENDOR_FROM_DATABASE=Jawbone + +bluetooth:v008B* + ID_VENDOR_FROM_DATABASE=Topcorn Positioning Systems, LLC + +bluetooth:v008C* + ID_VENDOR_FROM_DATABASE=Qualcomm Retail Solutions, Inc. (formerly Qualcomm Labs, Inc.) + +bluetooth:v008D* + ID_VENDOR_FROM_DATABASE=Zscan Software + +bluetooth:v008E* + ID_VENDOR_FROM_DATABASE=Quintic Corp. + +bluetooth:v008F* + ID_VENDOR_FROM_DATABASE=Stollman E+V GmbH + +bluetooth:v0090* + ID_VENDOR_FROM_DATABASE=Funai Electric Co., Ltd. + +bluetooth:v0091* + ID_VENDOR_FROM_DATABASE=Advanced PANMOBIL Systems GmbH & Co. KG + +bluetooth:v0092* + ID_VENDOR_FROM_DATABASE=ThinkOptics, Inc. + +bluetooth:v0093* + ID_VENDOR_FROM_DATABASE=Universal Electronics, Inc. + +bluetooth:v0094* + ID_VENDOR_FROM_DATABASE=Airoha Technology Corp. + +bluetooth:v0095* + ID_VENDOR_FROM_DATABASE=NEC Lighting, Ltd. + +bluetooth:v0096* + ID_VENDOR_FROM_DATABASE=ODM Technology, Inc. + +bluetooth:v0097* + ID_VENDOR_FROM_DATABASE=ConnecteDevice Ltd. + +bluetooth:v0098* + ID_VENDOR_FROM_DATABASE=zer01.tv GmbH + +bluetooth:v0099* + ID_VENDOR_FROM_DATABASE=i.Tech Dynamic Global Distribution Ltd. + +bluetooth:v009A* + ID_VENDOR_FROM_DATABASE=Alpwise + +bluetooth:v009B* + ID_VENDOR_FROM_DATABASE=Jiangsu Toppower Automotive Electronics Co., Ltd. + +bluetooth:v009C* + ID_VENDOR_FROM_DATABASE=Colorfy, Inc. + +bluetooth:v009D* + ID_VENDOR_FROM_DATABASE=Geoforce Inc. + +bluetooth:v009E* + ID_VENDOR_FROM_DATABASE=Bose Corporation + +bluetooth:v009F* + ID_VENDOR_FROM_DATABASE=Suunto Oy + +bluetooth:v00A0* + ID_VENDOR_FROM_DATABASE=Kensington Computer Products Group + +bluetooth:v00A1* + ID_VENDOR_FROM_DATABASE=SR-Medizinelektronik + +bluetooth:v00A2* + ID_VENDOR_FROM_DATABASE=Vertu Corporation Limited + +bluetooth:v00A3* + ID_VENDOR_FROM_DATABASE=Meta Watch Ltd. + +bluetooth:v00A4* + ID_VENDOR_FROM_DATABASE=LINAK A/S + +bluetooth:v00A5* + ID_VENDOR_FROM_DATABASE=OTL Dynamics LLC + +bluetooth:v00A6* + ID_VENDOR_FROM_DATABASE=Panda Ocean Inc. + +bluetooth:v00A7* + ID_VENDOR_FROM_DATABASE=Visteon Corporation + +bluetooth:v00A8* + ID_VENDOR_FROM_DATABASE=ARP Devices Limited + +bluetooth:v00A9* + ID_VENDOR_FROM_DATABASE=Magneti Marelli S.p.A + +bluetooth:v00AA* + ID_VENDOR_FROM_DATABASE=CAEN RFID srl + +bluetooth:v00AB* + ID_VENDOR_FROM_DATABASE=Ingenieur-Systemgruppe Zahn GmbH + +bluetooth:v00AC* + ID_VENDOR_FROM_DATABASE=Green Throttle Games + +bluetooth:v00AD* + ID_VENDOR_FROM_DATABASE=Peter Systemtechnik GmbH + +bluetooth:v00AE* + ID_VENDOR_FROM_DATABASE=Omegawave Oy + +bluetooth:v00AF* + ID_VENDOR_FROM_DATABASE=Cinetix + +bluetooth:v00B0* + ID_VENDOR_FROM_DATABASE=Passif Semiconductor Corp + +bluetooth:v00B1* + ID_VENDOR_FROM_DATABASE=Saris Cycling Group, Inc + +bluetooth:v00B2* + ID_VENDOR_FROM_DATABASE=Bekey A/S + +bluetooth:v00B3* + ID_VENDOR_FROM_DATABASE=Clarinox Technologies Pty. Ltd. + +bluetooth:v00B4* + ID_VENDOR_FROM_DATABASE=BDE Technology Co., Ltd. + +bluetooth:v00B5* + ID_VENDOR_FROM_DATABASE=Swirl Networks + +bluetooth:v00B6* + ID_VENDOR_FROM_DATABASE=Meso international + +bluetooth:v00B7* + ID_VENDOR_FROM_DATABASE=TreLab Ltd + +bluetooth:v00B8* + ID_VENDOR_FROM_DATABASE=Qualcomm Innovation Center, Inc. (QuIC) + +bluetooth:v00B9* + ID_VENDOR_FROM_DATABASE=Johnson Controls, Inc. + +bluetooth:v00BA* + ID_VENDOR_FROM_DATABASE=Starkey Laboratories Inc. + +bluetooth:v00BB* + ID_VENDOR_FROM_DATABASE=S-Power Electronics Limited + +bluetooth:v00BC* + ID_VENDOR_FROM_DATABASE=Ace Sensor Inc + +bluetooth:v00BD* + ID_VENDOR_FROM_DATABASE=Aplix Corporation + +bluetooth:v00BE* + ID_VENDOR_FROM_DATABASE=AAMP of America + +bluetooth:v00BF* + ID_VENDOR_FROM_DATABASE=Stalmart Technology Limited + +bluetooth:v00C0* + ID_VENDOR_FROM_DATABASE=AMICCOM Electronics Corporation + +bluetooth:v00C1* + ID_VENDOR_FROM_DATABASE=Shenzhen Excelsecu Data Technology Co.,Ltd + +bluetooth:v00C2* + ID_VENDOR_FROM_DATABASE=Geneq Inc. + +bluetooth:v00C3* + ID_VENDOR_FROM_DATABASE=adidas AG + +bluetooth:v00C4* + ID_VENDOR_FROM_DATABASE=LG Electronics + +bluetooth:v00C5* + ID_VENDOR_FROM_DATABASE=Onset Computer Corporation + +bluetooth:v00C6* + ID_VENDOR_FROM_DATABASE=Selfly BV + +bluetooth:v00C7* + ID_VENDOR_FROM_DATABASE=Quuppa Oy. + +bluetooth:v00C8* + ID_VENDOR_FROM_DATABASE=GeLo Inc + +bluetooth:v00C9* + ID_VENDOR_FROM_DATABASE=Evluma + +bluetooth:v00CA* + ID_VENDOR_FROM_DATABASE=MC10 + +bluetooth:v00CB* + ID_VENDOR_FROM_DATABASE=Binauric SE + +bluetooth:v00CC* + ID_VENDOR_FROM_DATABASE=Beats Electronics + +bluetooth:v00CD* + ID_VENDOR_FROM_DATABASE=Microchip Technology Inc. + +bluetooth:v00CE* + ID_VENDOR_FROM_DATABASE=Elgato Systems GmbH + +bluetooth:v00CF* + ID_VENDOR_FROM_DATABASE=ARCHOS SA + +bluetooth:v00D0* + ID_VENDOR_FROM_DATABASE=Dexcom, Inc. + +bluetooth:v00D1* + ID_VENDOR_FROM_DATABASE=Polar Electro Europe B.V. + +bluetooth:v00D2* + ID_VENDOR_FROM_DATABASE=Dialog Semiconductor B.V. + +bluetooth:v00D3* + ID_VENDOR_FROM_DATABASE=Taixingbang Technology (HK) Co,. LTD. + +bluetooth:v00D4* + ID_VENDOR_FROM_DATABASE=Kawantech + +bluetooth:v00D5* + ID_VENDOR_FROM_DATABASE=Austco Communication Systems + +bluetooth:v00D6* + ID_VENDOR_FROM_DATABASE=Timex Group USA, Inc. + +bluetooth:v00D7* + ID_VENDOR_FROM_DATABASE=Qualcomm Technologies, Inc. + +bluetooth:v00D8* + ID_VENDOR_FROM_DATABASE=Qualcomm Connected Experiences, Inc. + +bluetooth:v00D9* + ID_VENDOR_FROM_DATABASE=Voyetra Turtle Beach + +bluetooth:v00DA* + ID_VENDOR_FROM_DATABASE=txtr GmbH + +bluetooth:v00DB* + ID_VENDOR_FROM_DATABASE=Biosentronics + +bluetooth:v00DC* + ID_VENDOR_FROM_DATABASE=Procter & Gamble + +bluetooth:v00DD* + ID_VENDOR_FROM_DATABASE=Hosiden Corporation + +bluetooth:v00DE* + ID_VENDOR_FROM_DATABASE=Muzik LLC + +bluetooth:v00DF* + ID_VENDOR_FROM_DATABASE=Misfit Wearables Corp + +bluetooth:v00E0* + ID_VENDOR_FROM_DATABASE=Google + +bluetooth:v00E1* + ID_VENDOR_FROM_DATABASE=Danlers Ltd + +bluetooth:v00E2* + ID_VENDOR_FROM_DATABASE=Semilink Inc + +bluetooth:v00E3* + ID_VENDOR_FROM_DATABASE=inMusic Brands, Inc + +bluetooth:v00E4* + ID_VENDOR_FROM_DATABASE=L.S. Research Inc. + +bluetooth:v00E5* + ID_VENDOR_FROM_DATABASE=Eden Software Consultants Ltd. + +bluetooth:v00E6* + ID_VENDOR_FROM_DATABASE=Freshtemp + +bluetooth:v00E7* + ID_VENDOR_FROM_DATABASE=KS Technologies + +bluetooth:v00E8* + ID_VENDOR_FROM_DATABASE=ACTS Technologies + +bluetooth:v00E9* + ID_VENDOR_FROM_DATABASE=Vtrack Systems + +bluetooth:v00EA* + ID_VENDOR_FROM_DATABASE=Nielsen-Kellerman Company + +bluetooth:v00EB* + ID_VENDOR_FROM_DATABASE=Server Technology, Inc. + +bluetooth:v00EC* + ID_VENDOR_FROM_DATABASE=BioResearch Associates + +bluetooth:v00ED* + ID_VENDOR_FROM_DATABASE=Jolly Logic, LLC + +bluetooth:v00EE* + ID_VENDOR_FROM_DATABASE=Above Average Outcomes, Inc. + +bluetooth:v00EF* + ID_VENDOR_FROM_DATABASE=Bitsplitters GmbH + +bluetooth:v00F0* + ID_VENDOR_FROM_DATABASE=PayPal, Inc. + +bluetooth:v00F1* + ID_VENDOR_FROM_DATABASE=Witron Technology Limited + +bluetooth:v00F2* + ID_VENDOR_FROM_DATABASE=Morse Project Inc. + +bluetooth:v00F3* + ID_VENDOR_FROM_DATABASE=Kent Displays Inc. + +bluetooth:v00F4* + ID_VENDOR_FROM_DATABASE=Nautilus Inc. + +bluetooth:v00F5* + ID_VENDOR_FROM_DATABASE=Smartifier Oy + +bluetooth:v00F6* + ID_VENDOR_FROM_DATABASE=Elcometer Limited + +bluetooth:v00F7* + ID_VENDOR_FROM_DATABASE=VSN Technologies Inc. + +bluetooth:v00F8* + ID_VENDOR_FROM_DATABASE=AceUni Corp., Ltd. + +bluetooth:v00F9* + ID_VENDOR_FROM_DATABASE=StickNFind + +bluetooth:v00FA* + ID_VENDOR_FROM_DATABASE=Crystal Code AB + +bluetooth:v00FB* + ID_VENDOR_FROM_DATABASE=KOUKAAM a.s. + +bluetooth:v00FC* + ID_VENDOR_FROM_DATABASE=Delphi Corporation + +bluetooth:v00FD* + ID_VENDOR_FROM_DATABASE=ValenceTech Limited + +bluetooth:v00FE* + ID_VENDOR_FROM_DATABASE=Reserved + +bluetooth:v00FF* + ID_VENDOR_FROM_DATABASE=Typo Products, LLC + +bluetooth:v0100* + ID_VENDOR_FROM_DATABASE=TomTom International BV + +bluetooth:v0101* + ID_VENDOR_FROM_DATABASE=Fugoo, Inc + +bluetooth:v0102* + ID_VENDOR_FROM_DATABASE=Keiser Corporation + +bluetooth:v0103* + ID_VENDOR_FROM_DATABASE=Bang & Olufsen A/S + +bluetooth:v0104* + ID_VENDOR_FROM_DATABASE=PLUS Locations Systems Pty Ltd + +bluetooth:v0105* + ID_VENDOR_FROM_DATABASE=Ubiquitous Computing Technology Corporation + +bluetooth:v0106* + ID_VENDOR_FROM_DATABASE=Innovative Yachtter Solutions + +bluetooth:v0107* + ID_VENDOR_FROM_DATABASE=William Demant Holding A/S + +bluetooth:v0108* + ID_VENDOR_FROM_DATABASE=Chicony Electronics Co., Ltd. + +bluetooth:v0109* + ID_VENDOR_FROM_DATABASE=Atus BV + +bluetooth:v010A* + ID_VENDOR_FROM_DATABASE=Codegate Ltd. + +bluetooth:v010B* + ID_VENDOR_FROM_DATABASE=ERi, Inc. + +bluetooth:v010C* + ID_VENDOR_FROM_DATABASE=Transducers Direct, LLC + +bluetooth:v010D* + ID_VENDOR_FROM_DATABASE=Fujitsu Ten Limited + +bluetooth:v010E* + ID_VENDOR_FROM_DATABASE=Audi AG + +bluetooth:v010F* + ID_VENDOR_FROM_DATABASE=HiSilicon Technologies Co., Ltd. + +bluetooth:v0110* + ID_VENDOR_FROM_DATABASE=Nippon Seiki Co., Ltd. + +bluetooth:v0111* + ID_VENDOR_FROM_DATABASE=Steelseries ApS + +bluetooth:v0112* + ID_VENDOR_FROM_DATABASE=vyzybl Inc. + +bluetooth:v0113* + ID_VENDOR_FROM_DATABASE=Openbrain Technologies, Co., Ltd. + +bluetooth:v0114* + ID_VENDOR_FROM_DATABASE=Xensr + +bluetooth:v0115* + ID_VENDOR_FROM_DATABASE=e.solutions + +bluetooth:v0116* + ID_VENDOR_FROM_DATABASE=1OAK Technologies + +bluetooth:v0117* + ID_VENDOR_FROM_DATABASE=Wimoto Technologies Inc + +bluetooth:v0118* + ID_VENDOR_FROM_DATABASE=Radius Networks, Inc. + +bluetooth:v0119* + ID_VENDOR_FROM_DATABASE=Wize Technology Co., Ltd. + +bluetooth:v011A* + ID_VENDOR_FROM_DATABASE=Qualcomm Labs, Inc. + +bluetooth:v011B* + ID_VENDOR_FROM_DATABASE=Aruba Networks + +bluetooth:v011C* + ID_VENDOR_FROM_DATABASE=Baidu + +bluetooth:v011D* + ID_VENDOR_FROM_DATABASE=Arendi AG + +bluetooth:v011E* + ID_VENDOR_FROM_DATABASE=Skoda Auto a.s. + +bluetooth:v011F* + ID_VENDOR_FROM_DATABASE=Volkswagon AG + +bluetooth:v0120* + ID_VENDOR_FROM_DATABASE=Porsche AG + +bluetooth:v0121* + ID_VENDOR_FROM_DATABASE=Sino Wealth Electronic Ltd. + +bluetooth:v0122* + ID_VENDOR_FROM_DATABASE=AirTurn, Inc. + +bluetooth:v0123* + ID_VENDOR_FROM_DATABASE=Kinsa, Inc. + +bluetooth:v0124* + ID_VENDOR_FROM_DATABASE=HID Global + +bluetooth:v0125* + ID_VENDOR_FROM_DATABASE=SEAT es + +bluetooth:v0126* + ID_VENDOR_FROM_DATABASE=Promethean Ltd. + +bluetooth:v0127* + ID_VENDOR_FROM_DATABASE=Salutica Allied Solutions + +bluetooth:v0128* + ID_VENDOR_FROM_DATABASE=GPSI Group Pty Ltd + +bluetooth:v0129* + ID_VENDOR_FROM_DATABASE=Nimble Devices Oy + +bluetooth:v012A* + ID_VENDOR_FROM_DATABASE=Changzhou Yongse Infotech Co., Ltd + +bluetooth:v012B* + ID_VENDOR_FROM_DATABASE=SportIQ + +bluetooth:v012C* + ID_VENDOR_FROM_DATABASE=TEMEC Instruments B.V. + +bluetooth:v012D* + ID_VENDOR_FROM_DATABASE=Sony Corporation + +bluetooth:v012E* + ID_VENDOR_FROM_DATABASE=ASSA ABLOY + +bluetooth:v012F* + ID_VENDOR_FROM_DATABASE=Clarion Co., Ltd. + +bluetooth:v0130* + ID_VENDOR_FROM_DATABASE=Warehouse Innovations + +bluetooth:v0131* + ID_VENDOR_FROM_DATABASE=Cypress Semiconductor Corporation + +bluetooth:v0132* + ID_VENDOR_FROM_DATABASE=MADS Inc + +bluetooth:v0133* + ID_VENDOR_FROM_DATABASE=Blue Maestro Limited + +bluetooth:v0134* + ID_VENDOR_FROM_DATABASE=Resolution Products, Inc. + +bluetooth:v0135* + ID_VENDOR_FROM_DATABASE=Airewear LLC + +bluetooth:v0136* + ID_VENDOR_FROM_DATABASE=ETC sp. z.o.o. + +bluetooth:v0137* + ID_VENDOR_FROM_DATABASE=Prestigio Plaza Ltd. diff --git a/60-keyboard.hwdb b/60-keyboard.hwdb new file mode 100644 index 0000000..832c686 --- /dev/null +++ b/60-keyboard.hwdb @@ -0,0 +1,1112 @@ +# This file is part of systemd. +# +# Keyboard mapping of scan codes to key codes, and +# scan codes to add to the AT keyboard's 'force-release' list. +# +# The lookup keys are composed in: +# 60-keyboard.rules +# +# Note: The format of the "keyboard:" 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. +# +# Supported hardware matches are: +# - USB keyboards identified by the usb kernel modalias: +# keyboard:usb:vXXXXpYYYY* +# XXXX is the 4-digit hex uppercase vendor, and YYYY +# the 4-digit hex uppercase product. +# +# - AT keyboard DMI data matches: +# keyboard:dmi:bvn*:bvr*:bd*:svn:pn:pvr* +# and are the firmware-provided strings +# exported by the kernel DMI modalias. +# +# - Platform driver device name and DMI data match: +# keyboard:name::dmi:bvn*:bvr*:bd*:svn:pn* +# is the name device specified by the +# driver, is the firmware-provided string exported +# by the kernel DMI modalias. +# +# Scan codes are specified as: +# KEYBOARD_KEY_= +# The scan code should be expressed in hex lowercase and in +# full bytes, a multiple of 2 digits. The key codes are retrieved +# and normalized from the kernel input API header. +# +# A '!' as the first charcter of the key identifier string +# will add the scan code to the AT keyboard's list of scan codes +# where the driver will synthesize a release event and not expect +# it to be generated by the hardware. +# +# To debug key presses and access scan code mapping data of +# an input device use the commonly available tool: evtest(1). + +########################################## +# Acer +########################################## + +# common keys +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn* +keyboard:dmi:bvn*:bvr*:bd*:svnGateway*:pnA0A1*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svneMachines:pneMachines*E725:pvr* + KEYBOARD_KEY_a5=help # Fn+F1 + KEYBOARD_KEY_a6=setup # Fn+F2 Acer eSettings + KEYBOARD_KEY_a7=battery # Fn+F3 Power Management + KEYBOARD_KEY_a9=switchvideomode # Fn+F5 + KEYBOARD_KEY_b2=www + KEYBOARD_KEY_b3=euro + KEYBOARD_KEY_b4=dollar + KEYBOARD_KEY_ce=brightnessup # Fn+Right + KEYBOARD_KEY_d4=bluetooth # (toggle) off-to-on + KEYBOARD_KEY_d5=wlan # (toggle) on-to-off + KEYBOARD_KEY_d6=wlan # (toggle) off-to-on + KEYBOARD_KEY_d7=bluetooth # (toggle) on-to-off + KEYBOARD_KEY_d8=bluetooth # (toggle) off-to-on + KEYBOARD_KEY_d9=brightnessup # Fn+Right + KEYBOARD_KEY_ee=brightnessup # Fn+Right + KEYBOARD_KEY_ef=brightnessdown # Fn+Left + KEYBOARD_KEY_f1=f22 # Fn+F7 Touchpad toggle (off-to-on) + KEYBOARD_KEY_f2=f23 # Fn+F7 Touchpad toggle (on-to-off) + KEYBOARD_KEY_f3=prog2 # "P2" programmable button + KEYBOARD_KEY_f4=prog1 # "P1" programmable button + KEYBOARD_KEY_f5=presentation + KEYBOARD_KEY_f8=fn + KEYBOARD_KEY_f9=prog1 # Launch NTI shadow + +# Acer platform kernel driver +keyboard:name:Acer WMI hotkeys:dmi:bvn*:bvr*:bd*:svn*:pnAcer*:pvr* + KEYBOARD_KEY_82=f21 # Touchpad toggle + +# Aspire models +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*:pvr* + KEYBOARD_KEY_84=bluetooth # sent when bluetooth module missing, and key pressed + KEYBOARD_KEY_d9=bluetooth # Bluetooth off + KEYBOARD_KEY_92=media # Acer arcade + +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*5720*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnZG8*:pvr* + KEYBOARD_KEY_f4=prog3 # e-key + +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*5920G:* + KEYBOARD_KEY_8a=media + KEYBOARD_KEY_a6=setup + +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*6920:* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*8930:* + KEYBOARD_KEY_ca=prog3 # key 'HOLD' on CineDash Media Console + KEYBOARD_KEY_83=rewind + KEYBOARD_KEY_89=fastforward + KEYBOARD_KEY_9e=back + +# Travelmate C300 +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*C3[01]0*:pvr* + KEYBOARD_KEY_67=f24 # FIXME: rotate screen + KEYBOARD_KEY_68=up + KEYBOARD_KEY_69=down + KEYBOARD_KEY_6b=fn + KEYBOARD_KEY_6c=screenlock # FIXME: lock tablet device/buttons + +# on some models this isn't brightnessup +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5210*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5220*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5610*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5620*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn*5720*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*4720*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*6593:* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire*1640:* + KEYBOARD_KEY_ee=screenlock + +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAOA*:pvr* + KEYBOARD_KEY_a9=!switchvideomode # Fn+F5 + +########################################################### +# Alienware +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnAlienware*:pn* + KEYBOARD_KEY_8a=ejectcd + +########################################################### +# Asus +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnASUS:pn* + KEYBOARD_KEY_ed=volumeup + KEYBOARD_KEY_ee=volumedown + KEYBOARD_KEY_ef=mute + +keyboard:name:Asus WMI hotkeys:dmi:bvn*:bvr*:bd*:svnASUS*:pn*:pvr* + KEYBOARD_KEY_6b=f21 # Touchpad Toggle + +########################################################### +# BenQ +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svn*BenQ*:pn*Joybook*R22*:pvr* + KEYBOARD_KEY_6e=wlan + +########################################################### +# Compal +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnCOMPAL:pnHEL80I:* + KEYBOARD_KEY_84=wlan + +########################################################### +# COMPAQ +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnCompaq*:pn*E500*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnCompaq*:pn*Evo*N*:pvr* + KEYBOARD_KEY_a3=www # I key + KEYBOARD_KEY_9a=search + KEYBOARD_KEY_9e=email + KEYBOARD_KEY_9f=homepage + +########################################################### +# Dell +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pn* + KEYBOARD_KEY_81=playpause # Play/Pause + KEYBOARD_KEY_82=stopcd # Stop + KEYBOARD_KEY_83=previoussong # Previous song + KEYBOARD_KEY_84=nextsong # Next song + KEYBOARD_KEY_85=brightnessdown # Fn+Down Brightness Down + KEYBOARD_KEY_86=brightnessup # Fn+Up Brightness Up + KEYBOARD_KEY_87=battery # Fn+F3 battery icon + KEYBOARD_KEY_88=unknown # Fn+F2 Turn On/Off Wireless - handled in hardware + KEYBOARD_KEY_89=ejectclosecd # Fn+F10 Eject CD + KEYBOARD_KEY_8a=suspend # Fn+F1 hibernate + KEYBOARD_KEY_8b=switchvideomode # Fn+F8 CRT/LCD (high keycode: "displaytoggle") + KEYBOARD_KEY_8c=unknown # Fn+Right Auto Brightness + KEYBOARD_KEY_8F=switchvideomode # Fn+F7 aspect ratio + KEYBOARD_KEY_90=previoussong # Front panel previous song + KEYBOARD_KEY_91=prog1 # Wi-Fi Catcher (Dell-specific) + KEYBOARD_KEY_92=media # MediaDirect button (house icon) + KEYBOARD_KEY_93=unknown # FIXME Fn+Left Auto Brightness + KEYBOARD_KEY_95=camera # Shutter button - Takes a picture if optional camera available + KEYBOARD_KEY_97=email # Tablet email button + KEYBOARD_KEY_98=f21 # FIXME: Tablet screen rotation + KEYBOARD_KEY_99=nextsong # Front panel next song + KEYBOARD_KEY_9a=setup # Tablet tools button + KEYBOARD_KEY_9b=switchvideomode # Display toggle button + KEYBOARD_KEY_9e=f21 # Touchpad toggle + KEYBOARD_KEY_a2=playpause # Front panel play/pause + KEYBOARD_KEY_a4=stopcd # Front panel stop + KEYBOARD_KEY_ed=media # MediaDirect button + KEYBOARD_KEY_d8=screenlock # FIXME: Tablet lock button + KEYBOARD_KEY_d9=f21 # Touchpad toggle + +# +keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*910:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*101[012]:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1110:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnInspiron*1210:pvr* + KEYBOARD_KEY_84=wlan + +# Latitude XT2 +keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*XT2:pvr* + KEYBOARD_KEY_9b=up # tablet rocker up + KEYBOARD_KEY_9e=enter # tablet rocker press + KEYBOARD_KEY_9f=back # tablet back + KEYBOARD_KEY_a3=down # tablet rocker down + +keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnStudio*155[78]:pvr* + KEYBOARD_KEY_a0=! # mute + KEYBOARD_KEY_ae=! # volume down + KEYBOARD_KEY_b0=! # volume up + +# Dell Touchpad +keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnLatitude*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnPrecision*:pvr* + KEYBOARD_KEY_9e=!f21 + +# Dell XPS +keyboard:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr* + KEYBOARD_KEY_8c=!unknown + +########################################################### +# Everex +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnEverex:pnXT5000*:pvr* + KEYBOARD_KEY_5c=media + KEYBOARD_KEY_65=f21 # Fn+F5 Touchpad toggle + KEYBOARD_KEY_67=prog3 # Fan speed control button + KEYBOARD_KEY_6f=brightnessup + KEYBOARD_KEY_7f=brightnessdown + KEYBOARD_KEY_b2=www + KEYBOARD_KEY_ec=mail + +########################################## +# Fujitsu +########################################## + +keyboard:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pnAMILO*M*:pvr* + KEYBOARD_KEY_97=prog2 + KEYBOARD_KEY_9f=prog1 + +keyboard:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pnAmilo*Li*1718:* + KEYBOARD_KEY_d6=wlan + +# Amilo Li 2732 +keyboard:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pnAMILO*Li*2732:* + KEYBOARD_KEY_d9=brightnessdown # Fn+F8 brightness down + KEYBOARD_KEY_ef=brightnessup # Fn+F9 brightness up + KEYBOARD_KEY_a9=switchvideomode # Fn+F10 Cycle between available video outputs + +# Amilo Pa 2548 +keyboard:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*AMILO*Pa*2548*:pvr* + KEYBOARD_KEY_e0=volumedown + KEYBOARD_KEY_e1=volumeup + KEYBOARD_KEY_e5=prog1 + +# Amilo Pro Edition V3505 +keyboard:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*AMILO*Pro*Edition*V3505*:pvr* + KEYBOARD_KEY_a5=help # Fn+F1 + KEYBOARD_KEY_a9=switchvideomode # Fn+F3 + KEYBOARD_KEY_d9=brightnessdown # Fn+F8 + KEYBOARD_KEY_e0=brightnessup # Fn+F9 + +# Amilo Pro v3205 +keyboard:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*AMILO*Pro*V3205*:pvr* + KEYBOARD_KEY_f4=f21 # FIXME: silent-mode decrease CPU/GPU clock + KEYBOARD_KEY_f7=switchvideomode # Fn+F3 + +# Amilo Si 1520 +keyboard:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*Amilo*Si*1520*:pvr* + KEYBOARD_KEY_e1=wlan + KEYBOARD_KEY_f3=wlan + KEYBOARD_KEY_ee=brightnessdown + KEYBOARD_KEY_e0=brightnessup + KEYBOARD_KEY_e2=bluetooth + KEYBOARD_KEY_f7=video + +# Esprimo Mobile V5 +keyboard:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*ESPRIMO*Mobile*V5*:pvr* + KEYBOARD_KEY_a9=switchvideomode + KEYBOARD_KEY_d9=brightnessdown + KEYBOARD_KEY_df=sleep + KEYBOARD_KEY_ef=brightnessup + +# Esprimo Mobile V6 +keyboard:dmi:bvn*:bvr*:bd*:svnFUJITSU*:pn*ESPRIMO*Mobile*V6*:pvr* + KEYBOARD_KEY_ce=brightnessup + KEYBOARD_KEY_ef=brightnessdown + +########################################################### +# GIGABYTE +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnGIGABYTE:pnU2442:* + KEYBOARD_KEY_a0=! # mute + +########################################################### +# Genius +########################################################### + +# Slimstar 320 +keyboard:usb:v0458p0708d*dc*dsc*dp*ic*isc*ip*in01* + KEYBOARD_KEY_0900f0=scrollup + KEYBOARD_KEY_0900f1=scrolldown + KEYBOARD_KEY_0900f3=back + KEYBOARD_KEY_0900f2=forward + KEYBOARD_KEY_0900f5=wordprocessor + KEYBOARD_KEY_0900f6=spreadsheet + KEYBOARD_KEY_0900f4=presentation + KEYBOARD_KEY_0c0223=www + KEYBOARD_KEY_0900f7=chat + KEYBOARD_KEY_0900fb=prog1 + KEYBOARD_KEY_0900f8=close + KEYBOARD_KEY_0900f9=graphicseditor + KEYBOARD_KEY_0900fd=scale + KEYBOARD_KEY_0900fc=screenlock + +########################################################### +# Hewlett Packard +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*:pvr* + KEYBOARD_KEY_81=fn_esc + KEYBOARD_KEY_89=battery # Fn+F8 + KEYBOARD_KEY_8a=screenlock # Fn+F6 + KEYBOARD_KEY_8b=camera + KEYBOARD_KEY_8c=media # music + KEYBOARD_KEY_8e=dvd + KEYBOARD_KEY_b1=help + KEYBOARD_KEY_b3=unknown # FIXME: Auto brightness + KEYBOARD_KEY_d7=wlan + KEYBOARD_KEY_92=brightnessdown # Fn+F7 (Fn+F9 on 6730b) + KEYBOARD_KEY_97=brightnessup # Fn+F8 (Fn+F10 on 6730b) + KEYBOARD_KEY_ee=switchvideomode # Fn+F4 + +# Tablet +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*[tT][aA][bB][lL][eE][tT]*:pvr* + KEYBOARD_KEY_82=prog2 # Funny Key + KEYBOARD_KEY_83=prog1 # Q + KEYBOARD_KEY_84=tab + KEYBOARD_KEY_85=esc + KEYBOARD_KEY_86=pageup + KEYBOARD_KEY_87=pagedown + +# Pavilion +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*[pP][aA][vV][iI][lL][iI][oO][nN]*:pvr* + KEYBOARD_KEY_88=media # FIXME: quick play + KEYBOARD_KEY_b7=print + KEYBOARD_KEY_d8=!f23 # touchpad off + KEYBOARD_KEY_d9=!f22 # touchpad on + +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*Pavilion*dv7*Notebook*PC:pvr* + KEYBOARD_KEY_b7=print + KEYBOARD_KEY_c2=media # FIXME: quick play + KEYBOARD_KEY_c6=break + KEYBOARD_KEY_94=0 + +# Elitebook +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*Compaq*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*EliteBook*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*2230s*:pvr* + KEYBOARD_KEY_88=presentation + KEYBOARD_KEY_d9=help # I key (high keycode: "info") + +# Presario +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*Presario*CQ*:pvr* + KEYBOARD_KEY_d8=f21 + KEYBOARD_KEY_d9=f21 + +# 2510p 2530p +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*2510p*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*2530p*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*G60*Notebook*PC:pvr* + KEYBOARD_KEY_d8=!f23 # touchpad off + KEYBOARD_KEY_d9=!f22 # touchpad on + +# 2570p +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*2570p*:pvr* + KEYBOARD_KEY_f8=wlan # Wireless HW switch button + +# TX2 +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pn*[tT][xX]2*:pvr* + KEYBOARD_KEY_c2=media + KEYBOARD_KEY_d8=!f23 # Toggle touchpad button on tx2 (OFF) + KEYBOARD_KEY_d9=!f22 # Toggle touchpad button on tx2 (ON) + +# Presario 2100 +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnPresario*2100*:pvr* + KEYBOARD_KEY_f0=help + KEYBOARD_KEY_f1=screenlock + KEYBOARD_KEY_f3=search + +# Elitebook 8440p +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*EliteBook*8440p:pvr* + KEYBOARD_KEY_88=www + KEYBOARD_KEY_a0=mute + KEYBOARD_KEY_ae=volumedown + KEYBOARD_KEY_b0=volumeup + KEYBOARD_KEY_ec=mail + +# Elitebook 8460p +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHP*EliteBook*8460p:pvr* + KEYBOARD_KEY_f8=wlan # Wireless HW switch button + KEYBOARD_KEY_b3=prog1 # Fn+F11 - Ambient Light Sensor button + KEYBOARD_KEY_b1=prog2 # Fn+ESC - System information button + +# HDX9494nr +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnHDX9494NR:pvr* + KEYBOARD_KEY_b2=www # Fn+F3 + KEYBOARD_KEY_d8=!f23 # touchpad off + KEYBOARD_KEY_d9=!f22 # touchpad on + +# Chromebook 14 +# Top row keys (between ESC and power button) +keyboard:dmi:bvn*:bvr*:bd*:svnHewlett-Packard*:pnFalco:pvr* + KEYBOARD_KEY_3b=back + KEYBOARD_KEY_3c=forward + KEYBOARD_KEY_3d=refresh + KEYBOARD_KEY_3f=switchvideomode + KEYBOARD_KEY_40=brightnessdown + KEYBOARD_KEY_41=brightnessup + KEYBOARD_KEY_42=mute + KEYBOARD_KEY_43=volumedown + KEYBOARD_KEY_44=volumeup + KEYBOARD_KEY_db=search # Same position as caps lock key on most keyboards +# KEYBOARD_KEY_3e=fullscreen, no defined key sym + + +########################################################### +# IBM +########################################################### + +# thinkpad_acpi driver +keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnIBM*:pn*:pvr* + KEYBOARD_KEY_01=battery # Fn+F2 + KEYBOARD_KEY_02=screenlock # Fn+F3 + KEYBOARD_KEY_03=sleep # Fn+F4 + KEYBOARD_KEY_04=wlan # Fn+F5 + KEYBOARD_KEY_06=switchvideomode # Fn+F7 + KEYBOARD_KEY_07=zoom # Fn+F8 screen expand + KEYBOARD_KEY_08=f24 # Fn+F9 undock + KEYBOARD_KEY_0b=suspend # Fn+F12 + KEYBOARD_KEY_0f=brightnessup # Fn+Home + KEYBOARD_KEY_10=brightnessdown # Fn+End + KEYBOARD_KEY_11=kbdillumtoggle # Fn+PgUp - ThinkLight + KEYBOARD_KEY_13=zoom # Fn+Space + KEYBOARD_KEY_14=volumeup + KEYBOARD_KEY_15=volumedown + KEYBOARD_KEY_16=mute + KEYBOARD_KEY_17=prog1 # ThinkPad/ThinkVantage button (high keycode: "vendor") + +# IBM Thinkpad USB Keyboard Trackpoint +keyboard:usb:v04B3p301[89]* + KEYBOARD_KEY_900f0=screenlock + KEYBOARD_KEY_900f1=wlan + KEYBOARD_KEY_900f2=switchvideomode + KEYBOARD_KEY_900f3=suspend + KEYBOARD_KEY_900f4=brightnessup + KEYBOARD_KEY_900f5=brightnessdown + KEYBOARD_KEY_900f8=zoom + +########################################################### +# Inventec +########################################################### + +# Symphony +keyboard:dmi:bvn*:bvr*:bd*:svnINVENTEC:pnSYMPHONY*6.0/7.0:pvr* + KEYBOARD_KEY_f3=prog2 + KEYBOARD_KEY_f4=prog1 + +########################################################### +# Lenovo +########################################################### + +# thinkpad_acpi driver +keyboard:name:ThinkPad Extra Buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* + KEYBOARD_KEY_01=screenlock + KEYBOARD_KEY_02=battery + KEYBOARD_KEY_03=sleep + KEYBOARD_KEY_04=wlan + KEYBOARD_KEY_06=switchvideomode + KEYBOARD_KEY_07=f21 + KEYBOARD_KEY_08=f24 + KEYBOARD_KEY_0b=suspend + KEYBOARD_KEY_0f=brightnessup + KEYBOARD_KEY_10=brightnessdown + KEYBOARD_KEY_11=kbdillumtoggle + KEYBOARD_KEY_13=zoom + KEYBOARD_KEY_14=volumeup + KEYBOARD_KEY_15=volumedown + KEYBOARD_KEY_16=mute + KEYBOARD_KEY_17=prog1 + KEYBOARD_KEY_1a=f20 + +# ThinkPad Keyboard with TrackPoint +keyboard:usb:v17EFp6009* + KEYBOARD_KEY_090012=screenlock # Fn+F2 + KEYBOARD_KEY_090013=battery # Fn+F3 + KEYBOARD_KEY_090014=wlan # Fn+F5 + KEYBOARD_KEY_090016=switchvideomode # Fn+F7 + KEYBOARD_KEY_090017=f21 # Fn+F8 touchpad toggle + KEYBOARD_KEY_090019=suspend # Fn+F12 + KEYBOARD_KEY_09001a=brightnessup # Fn+Home + KEYBOARD_KEY_09001b=brightnessdown # Fn+End + KEYBOARD_KEY_09001d=zoom # Fn+Space + KEYBOARD_KEY_090011=prog1 # ThinkVantage button + KEYBOARD_KEY_090015=camera # Fn+F6 headset/camera VoIP key ?? + KEYBOARD_KEY_090010=f20 # Microphone mute button; should be micmute + +# Lenovo 3000 +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*3000*:pvr* + KEYBOARD_KEY_8b=switchvideomode # Fn+F7 video + KEYBOARD_KEY_96=wlan # Fn+F5 wireless + KEYBOARD_KEY_97=sleep # Fn+F4 suspend + KEYBOARD_KEY_98=suspend # Fn+F12 hibernate + KEYBOARD_KEY_b4=prog1 # Lenovo Care + +# lenovo-ideapad +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnS10-*:pvr* + KEYBOARD_KEY_81=rfkill # does nothing in BIOS + KEYBOARD_KEY_83=display_off # BIOS toggles screen state + KEYBOARD_KEY_b9=brightnessup # does nothing in BIOS + KEYBOARD_KEY_ba=brightnessdown # does nothing in BIOS + KEYBOARD_KEY_f1=camera # BIOS toggles camera power + KEYBOARD_KEY_f2=f21 # touchpad toggle (key alternately emits F2 and F3) + KEYBOARD_KEY_f3=f21 + +# Thinkpad X200_Tablet +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X2*Tablet*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*:pvrThinkPad*X2*Tablet* + KEYBOARD_KEY_5d=menu + KEYBOARD_KEY_63=fn + KEYBOARD_KEY_66=screenlock + KEYBOARD_KEY_67=cyclewindows # bezel circular arrow + KEYBOARD_KEY_68=setup # bezel setup / menu + KEYBOARD_KEY_6c=direction # rotate screen + +# ThinkPad X6 Tablet +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pnThinkPad*X6*:pvr* + KEYBOARD_KEY_6c=f21 # rotate + KEYBOARD_KEY_68=screenlock # screenlock + KEYBOARD_KEY_6b=esc # escape + KEYBOARD_KEY_6d=right # right on d-pad + KEYBOARD_KEY_6e=left # left on d-pad + KEYBOARD_KEY_71=up # up on d-pad + KEYBOARD_KEY_6f=down # down on d-pad + KEYBOARD_KEY_69=enter # enter on d-pad + +# IdeaPad +keyboard:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* + KEYBOARD_KEY_42=f23 + KEYBOARD_KEY_43=f22 + +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*Y550*:pvr* + KEYBOARD_KEY_95=media + KEYBOARD_KEY_a3=play + +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad*U300s*:pvr* + KEYBOARD_KEY_f1=f21 + KEYBOARD_KEY_ce=f20 + +keyboard:dmi:bvn*:bvr*:svnLENOVO*:pn*IdeaPad*Z370*:pvr* + KEYBOARD_KEY_a0=!mute + KEYBOARD_KEY_ae=!volumedown + KEYBOARD_KEY_b0=!volumeup + +# V480 +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo*V480*:pvr* + KEYBOARD_KEY_f1=f21 + +########################################################### +# Logitech +########################################################### + +# iTouch +keyboard:usb:v046DpC308* + KEYBOARD_KEY_90001=shop # Shopping + KEYBOARD_KEY_90002=config # iTouch + KEYBOARD_KEY_90003=finance # Finance + KEYBOARD_KEY_90004=prog1 # My Sites + KEYBOARD_KEY_90005=prog2 # Community + KEYBOARD_KEY_C0183=media # Media + +# Cordless Desktop S510 +keyboard:usb:v046DpC50C* + KEYBOARD_KEY_d4=zoomin + KEYBOARD_KEY_cc=zoomout + +# Wave cordless +keyboard:usb:v046DpC317* + KEYBOARD_KEY_9001c=scale # expo + KEYBOARD_KEY_9001f=zoomout + KEYBOARD_KEY_90020=zoomin + KEYBOARD_KEY_9003d=prog1 # gadget + KEYBOARD_KEY_90005=camera + KEYBOARD_KEY_90018=media + KEYBOARD_KEY_90041=wordprocessor + KEYBOARD_KEY_90042=spreadsheet + KEYBOARD_KEY_90043=calendar + KEYBOARD_KEY_90044=prog2 # fn+f4 (program a) + KEYBOARD_KEY_90045=prog3 # fn+f5 (program b) + KEYBOARD_KEY_90046=prog4 # fn+f6 (program c) + KEYBOARD_KEY_90048=messenger # fn+f8 (msn messenger) + KEYBOARD_KEY_9002d=search # fn+f10 (search www) + KEYBOARD_KEY_9004b=find # fn+f11 (search pc) + KEYBOARD_KEY_9004c=ejectclosecd + +# Wave cordless +keyboard:usb:v046DpC517* + KEYBOARD_KEY_c101f=zoomout + KEYBOARD_KEY_c1020=zoomin + KEYBOARD_KEY_c1005=camera + KEYBOARD_KEY_c0183=media + KEYBOARD_KEY_c1041=wordprocessor + KEYBOARD_KEY_c1042=spreadsheet + KEYBOARD_KEY_c1043=calendar + KEYBOARD_KEY_c1044=prog2 # fn+f4 (program a) + KEYBOARD_KEY_c1045=prog3 # fn+f5 (program b) + KEYBOARD_KEY_c1046=prog4 # fn+f6 (program c) + KEYBOARD_KEY_c1048=messenger # fn+f8 (msn messenger) + KEYBOARD_KEY_c104a=find # fn+f10 (search www) + KEYBOARD_KEY_c104c=ejectclosecd + +# Cordless Wave Pro +keyboard:usb:v046DpC52[9B]* + KEYBOARD_KEY_0c01b6=camera + KEYBOARD_KEY_0c0183=media + KEYBOARD_KEY_0c0184=wordprocessor + KEYBOARD_KEY_0c0186=spreadsheet + KEYBOARD_KEY_0c018e=calendar + KEYBOARD_KEY_0c0223=homepage + KEYBOARD_KEY_0c01bc=messenger + KEYBOARD_KEY_0c018a=mail + KEYBOARD_KEY_0c0221=search + KEYBOARD_KEY_0c00b8=ejectcd + KEYBOARD_KEY_0c022d=zoomin + KEYBOARD_KEY_0c022e=zoomout + +# Logitech Presenter R400 +keyboard:usb:v046DpC52Dd*dc*dsc*dp*ic*isc*ip*in00* + KEYBOARD_KEY_070029=presentation + KEYBOARD_KEY_07003e=presentation + KEYBOARD_KEY_070037=displaytoggle + +# Internet Navigator +keyboard:usb:v046DpC309* + KEYBOARD_KEY_90001=chat # Messenger/SMS + KEYBOARD_KEY_90002=camera # webcam + KEYBOARD_KEY_90003=prog1 # iTouch + KEYBOARD_KEY_90004=shop # Shopping + KEYBOARD_KEY_C0201=new # New (F1) + KEYBOARD_KEY_C0289=reply # Reply mail (F2) + KEYBOARD_KEY_C028B=forwardmail # Forward mail (F3) + KEYBOARD_KEY_C028C=send # Send (F4) + KEYBOARD_KEY_C021A=undo # Undo (F5). + KEYBOARD_KEY_C0279=redo # Redo (F6). + KEYBOARD_KEY_C0208=print # Print (F7) + KEYBOARD_KEY_C0207=save # Save (F8) + KEYBOARD_KEY_C0194=file # My Computer (F9) + KEYBOARD_KEY_C01A7=documents # My Documents (F10) + KEYBOARD_KEY_C01B6=images # My Pictures (F11) ?? + KEYBOARD_KEY_C01B7=sound # My Music (F12) ?? + + +########################################################### +# Maxdata +########################################################### + +# Pro 7000 +keyboard:dmi:bvn*:bvr*:bd*:svnMAXDATA:pnPro*7000*:pvr* + KEYBOARD_KEY_97=prog2 + KEYBOARD_KEY_9f=prog1 + KEYBOARD_KEY_a0=mute # Fn+F5 + KEYBOARD_KEY_82=www + KEYBOARD_KEY_ec=email + KEYBOARD_KEY_ae=volumedown # Fn+Down + KEYBOARD_KEY_b0=volumeup # Fn+Up + KEYBOARD_KEY_df=suspend # Fn+F2 + KEYBOARD_KEY_f5=help + +########################################################### +# Medion +########################################################### + +# FID2060 +keyboard:dmi:bvn*:bvr*:bd*:svnMEDION*:pn*FID2060*:pvr* + KEYBOARD_KEY_6b=channeldown # Thottle Down + KEYBOARD_KEY_6d=channelup # Thottle Up + +# NB-A555 +keyboard:dmi:bvn*:bvr*:bd*:svnMEDIONNB:pnA555*:pvr* + KEYBOARD_KEY_63=www # N button + KEYBOARD_KEY_66=prog1 # link 1 button + KEYBOARD_KEY_67=email # envelope button + KEYBOARD_KEY_69=prog2 # link 2 button + +########################################################### +# Microsoft +########################################################### + +# Microsoft Natural Ergonomic Keyboard 4000 +keyboard:usb:v045Ep00DB* + KEYBOARD_KEY_c022d=zoomin + KEYBOARD_KEY_c022e=zoomout + +########################################################### +# Micro Star +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn* +keyboard:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn* + KEYBOARD_KEY_a0=mute # Fn+F9 + KEYBOARD_KEY_ae=volumedown # Fn+F7 + KEYBOARD_KEY_b0=volumeup # Fn+F8 + KEYBOARD_KEY_b2=www # e button + KEYBOARD_KEY_df=sleep # Fn+F12 + KEYBOARD_KEY_e2=bluetooth # satellite dish2 + KEYBOARD_KEY_e4=f21 # Fn+F3 Touchpad disable + KEYBOARD_KEY_ec=email # envelope button + KEYBOARD_KEY_ee=camera # Fn+F6 camera disable + KEYBOARD_KEY_f6=wlan # satellite dish1 + KEYBOARD_KEY_f7=brightnessdown # Fn+F4 + KEYBOARD_KEY_f8=brightnessup # Fn+F5 + KEYBOARD_KEY_f9=search + +# +keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pnGE60*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pnGE70*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnMicro-Star*:pn*:pvr* + KEYBOARD_KEY_c2=ejectcd + +# +keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*U-100*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*U100*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pn*N033:* + KEYBOARD_KEY_f7=reserved + KEYBOARD_KEY_f8=reserved + +# +keyboard:dmi:bvn*:bvr*:bd*:svnMICRO-STAR*:pnU90/U100:* + KEYBOARD_KEY_e4=reserved + +########################################################### +# MSI +########################################################### + +keyboard:name:MSI Laptop hotkeys:dmi:bvn*:bvr*:bd*:svn*:pnM[iI][cC][rR][oO]-S[tT][aA][rR]*:pvr* + KEYBOARD_KEY_0213=f22 + KEYBOARD_KEY_0214=f23 + +########################################################### +# OLPC +########################################################### + +# XO +keyboard:dmi:bvn*:bvr*:bd*:svnOLPC:pnXO:* + KEYBOARD_KEY_59=fn + KEYBOARD_KEY_81=fn_esc + KEYBOARD_KEY_f9=camera + KEYBOARD_KEY_f8=sound # Fn+CAMERA = Mic + KEYBOARD_KEY_43=brightnessdown + KEYBOARD_KEY_44=brightnessup + KEYBOARD_KEY_57=volumedown + KEYBOARD_KEY_58=volumeup + KEYBOARD_KEY_bb=f1 + KEYBOARD_KEY_bc=f2 + KEYBOARD_KEY_bd=f3 + KEYBOARD_KEY_be=f4 + KEYBOARD_KEY_bf=f5 + KEYBOARD_KEY_c0=f6 + KEYBOARD_KEY_c1=f7 + KEYBOARD_KEY_c2=f8 + KEYBOARD_KEY_c3=f9 + KEYBOARD_KEY_c4=f10 + KEYBOARD_KEY_c7=f11 + KEYBOARD_KEY_d8=f12 + KEYBOARD_KEY_f7=f13 + KEYBOARD_KEY_f6=f14 + KEYBOARD_KEY_f5=f15 + KEYBOARD_KEY_f4=f16 + KEYBOARD_KEY_f3=f17 + KEYBOARD_KEY_f2=f18 + KEYBOARD_KEY_f1=f19 + KEYBOARD_KEY_f0=f20 + KEYBOARD_KEY_ef=f21 + KEYBOARD_KEY_ee=chat + KEYBOARD_KEY_e4=chat + KEYBOARD_KEY_dd=menu # Frame + KEYBOARD_KEY_da=prog1 # Fn+Frame + KEYBOARD_KEY_d3=delete + KEYBOARD_KEY_d2=insert + KEYBOARD_KEY_c9=pageup + KEYBOARD_KEY_d1=pagedown + KEYBOARD_KEY_c7=home + KEYBOARD_KEY_cF=end + KEYBOARD_KEY_73=hp + KEYBOARD_KEY_7e=hp + KEYBOARD_KEY_db=leftmeta # left grab + KEYBOARD_KEY_dc=rightmeta # right grab + KEYBOARD_KEY_85=rightmeta # Right grab releases on a different scancode + KEYBOARD_KEY_d6=kbdillumtoggle # Fn+Space + KEYBOARD_KEY_69=switchvideomode # Brightness key + KEYBOARD_KEY_65=kp8 # up + KEYBOARD_KEY_66=kp2 # down + KEYBOARD_KEY_67=kp4 # left + KEYBOARD_KEY_68=kp6 # right + KEYBOARD_KEY_e5=kp9 # pgup + KEYBOARD_KEY_e6=kp3 # pgdn + KEYBOARD_KEY_e7=kp7 # home + KEYBOARD_KEY_e8=kp1 # end + +########################################################### +# Onkyo +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnONKYO*CORPORATION:pnONKYOPC:* + KEYBOARD_KEY_a0=mute # Fn+D + KEYBOARD_KEY_ae=volumedown # Fn+F + KEYBOARD_KEY_b0=volumeup # Fn+G + KEYBOARD_KEY_df=sleep # Fn+W + KEYBOARD_KEY_e0=bluetooth # Fn+H + KEYBOARD_KEY_e2=cyclewindows # Fn+Esc + KEYBOARD_KEY_ee=battery # Fn+Q + KEYBOARD_KEY_f0=media # Fn+R + KEYBOARD_KEY_f5=switchvideomode # Fn+E + KEYBOARD_KEY_f6=camera # Fn+T + KEYBOARD_KEY_f7=f21 # Fn+Y (touchpad toggle) + KEYBOARD_KEY_f8=brightnessup # Fn+S + KEYBOARD_KEY_f9=brightnessdown # Fn+A + KEYBOARD_KEY_fb=wlan # Fn+J + +########################################################### +# OQO +########################################################### + +# Model 2 +keyboard:dmi:bvn*:bvr*:bd*:svnOQO*Inc.*:pnOQO*Model*2*:pvr* + KEYBOARD_KEY_8e=wlan + KEYBOARD_KEY_f0=switchvideomode + KEYBOARD_KEY_f1=mute + KEYBOARD_KEY_f2=volumedown + KEYBOARD_KEY_f3=volumeup + +########################################################### +# Quanta +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svn*:pn*:pvr*:rvnQuanta:rn30B7:rvr65.2B:* + KEYBOARD_KEY_88=media # "quick play + +########################################################### +# Samsung +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn* + KEYBOARD_KEY_74=prog1 # User key + KEYBOARD_KEY_75=www + KEYBOARD_KEY_78=mail + KEYBOARD_KEY_82=!switchvideomode # Fn+F4 CRT/LCD (high keycode: "displaytoggle") + KEYBOARD_KEY_83=!battery # Fn+F2 + KEYBOARD_KEY_84=!prog1 # Fn+F5 backlight on/off + KEYBOARD_KEY_86=!wlan # Fn+F9 + KEYBOARD_KEY_88=!brightnessup # Fn+Up + KEYBOARD_KEY_89=!brightnessdown # Fn+Down + KEYBOARD_KEY_b1=!prog2 # Fn+F7 run Samsung Magic Doctor (keypressed event is generated twice) + KEYBOARD_KEY_b3=!prog3 # Fn+F8 switch power mode (battery/dynamic/performance) + KEYBOARD_KEY_b4=!wlan # Fn+F9 (X60P) + KEYBOARD_KEY_c5=!prog3 # Fn+F8 switch power mode (battery/dynamic/performance) + KEYBOARD_KEY_d5=!wlan # Fn+F12 wlan/airplane switch + KEYBOARD_KEY_f7=!f22 # Fn+F10 Touchpad on + KEYBOARD_KEY_f9=!f23 # Fn+F10 Touchpad off + +# Series 3 +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*300E[457]*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*200E[45]*:pvr* + KEYBOARD_KEY_ce=! # Fn+F1 launch control setting + +# Series 5 +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*530U*:pvr* + KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings + KEYBOARD_KEY_a8=! # Fn Lock - Function lock on + KEYBOARD_KEY_a9=! # Fn Lock - Function lock off + +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*550P*:pvr* + KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings + KEYBOARD_KEY_a8=! # Fn Lock - Function lock on + KEYBOARD_KEY_a9=! # Fn Lock - Function lock off + +# Series 7 / 9 +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700Z*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700G*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][CDEFG]*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*940X3G*:pvr* + KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings + KEYBOARD_KEY_a0=!mute # Fn+F6 mute + KEYBOARD_KEY_ae=!volumedown # Fn+F7 + KEYBOARD_KEY_b0=!volumeup # Fn+F8 + KEYBOARD_KEY_97=!kbdillumdown # Fn+F9 keyboard backlight down + KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up + KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer + +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34][AB]*:pvr* + KEYBOARD_KEY_ce=! # Fn+F8 keyboard backlight up + KEYBOARD_KEY_8d=! # Fn+F7 keyboard backlight down + KEYBOARD_KEY_96=! # Fn+F1 performance mode (?) + KEYBOARD_KEY_97=! # Fn+F12 Wi-Fi toggle + KEYBOARD_KEY_d5=! # Fn+F6 battery life extender + +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*90X3A*:pvr* + KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings + KEYBOARD_KEY_8d=!prog3 # Fn+F6 performance mode + KEYBOARD_KEY_97=!kbdillumdown # Fn+F7 keyboard backlight down + KEYBOARD_KEY_96=!kbdillumup # Fn+F8 keyboard backlight up + KEYBOARD_KEY_d5=!wlan # Fn+F12 Wi-Fi toggle + +# Series 7 Ultra +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*7[34]0U3E*:pvr* + KEYBOARD_KEY_ce=!prog1 # Fn+F1 launch settings + KEYBOARD_KEY_97=!kbdillumdown # Fn+F9 keyboard backlight down + KEYBOARD_KEY_96=!kbdillumup # Fn+F10 keyboard backlight up + KEYBOARD_KEY_b3=!prog3 # Fn+F11 fan/cooling mode changer + KEYBOARD_KEY_d5=!wlan # Fn+F12 wlan/airplane switch + +# SQ1US +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pnSQ1US:pvr* + KEYBOARD_KEY_d4=menu + KEYBOARD_KEY_d8=f1 + KEYBOARD_KEY_d9=f10 + KEYBOARD_KEY_d6=f3 + KEYBOARD_KEY_d7=f9 + KEYBOARD_KEY_e4=f5 + KEYBOARD_KEY_ee=f11 + +# SX20S +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*SX20S*:pvr* + KEYBOARD_KEY_74=mute + KEYBOARD_KEY_75=mute + KEYBOARD_KEY_77=f22 # Touchpad on + KEYBOARD_KEY_79=f23 # Touchpad off + +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*700T*:pvr* + KEYBOARD_KEY_ad=leftmeta + +########################################################### +# SONY +########################################################### + +# sony-laptop driver +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn* + KEYBOARD_KEY_06=mute # Fn+F2 + KEYBOARD_KEY_07=volumedown # Fn+F3 + KEYBOARD_KEY_08=volumeup # Fn+F4 + KEYBOARD_KEY_09=brightnessdown # Fn+F5 + KEYBOARD_KEY_0a=brightnessup # Fn+F6 + KEYBOARD_KEY_0b=switchvideomode # Fn+F7 + KEYBOARD_KEY_0e=zoom # Fn+F10 + KEYBOARD_KEY_10=suspend # Fn+F12 + +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-C1*:pvr* +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-K25*:pvr* +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-F[1-6]*:pvr* +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-FX*:pvr* +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-FRV*:pvr* +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-GR*:pvr* +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-TR*:pvr* +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-NV*:pvr* +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*PCG-Z*:pvr* +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pn*VGN-S360*:pvr* + KEYBOARD_KEY_06=battery + KEYBOARD_KEY_07=mute + +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-AR71*:pvr* +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-FW*:pvr* +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-Z21*:pvr* + KEYBOARD_KEY_00=brightnessdown # Fn+F5 + KEYBOARD_KEY_10=brightnessup # Fn+F6 + KEYBOARD_KEY_11=switchvideomode # Fn+F7 + KEYBOARD_KEY_12=zoomout + KEYBOARD_KEY_14=zoomin + KEYBOARD_KEY_15=suspend # Fn+F12 + KEYBOARD_KEY_17=prog1 + KEYBOARD_KEY_20=media + +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVGN-FW250*:pvr* + KEYBOARD_KEY_10=suspend # Fn+F12 + +keyboard:name:Sony Vaio Keys:dmi:bvn*:bvr*:bd*:svnSony*:pnVPC*:pvr* + KEYBOARD_KEY_05=f21 # Fn+F1 -> KEY_F21 (The actual touchpad toggle) + KEYBOARD_KEY_0d=zoomout # Fn+F9 + KEYBOARD_KEY_0e=zoomin # Fn+F10 + +########################################################### +# Toshiba +########################################################### + +# Satellite A100 +keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSATELLITE*A100:pvr* + KEYBOARD_KEY_a4=stopcd + KEYBOARD_KEY_b2=www + +# Satellite A110 +keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*A110:pvr* + KEYBOARD_KEY_92=stop + KEYBOARD_KEY_93=www + KEYBOARD_KEY_94=media + KEYBOARD_KEY_9e=f22 # Touchpad on + KEYBOARD_KEY_9f=f23 # Touchpad off + KEYBOARD_KEY_b9=nextsong + KEYBOARD_KEY_d9=brightnessup + KEYBOARD_KEY_ee=screenlock + KEYBOARD_KEY_f4=previoussong + KEYBOARD_KEY_f7=playpause + +# Satellite M30X +keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*M30X:pvr* + KEYBOARD_KEY_ef=brightnessdown + KEYBOARD_KEY_d9=brightnessup + KEYBOARD_KEY_ee=screenlock + KEYBOARD_KEY_93=media + KEYBOARD_KEY_9e=f22 # touchpad enable + KEYBOARD_KEY_9f=f23 # touchpad disable + +# Satellite P75-A +keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*P75-A:pvr* + KEYBOARD_KEY_ef=brightnessdown + KEYBOARD_KEY_ee=brightnessup + KEYBOARD_KEY_a9=switchvideomode # switch display outputs + KEYBOARD_KEY_d4=wlan # RF Switch Off + +# Satellite U940 +keyboard:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSATELLITEU940:pvr* + KEYBOARD_KEY_13c=brightnessdown + KEYBOARD_KEY_13d=brightnessup + KEYBOARD_KEY_13e=switchvideomode + KEYBOARD_KEY_13f=f21 # Touchpad toggle + +# Satellite P75-A7200 +keyboard:name:Toshiba*input*device:dmi:bvn*:bvr*:bd*:svnTOSHIBA*:pnSatellite*P75-A:pvr* + KEYBOARD_KEY_13c=brightnessdown + KEYBOARD_KEY_13d=brightnessup + KEYBOARD_KEY_13e=switchvideomode + KEYBOARD_KEY_13f=touchpad_toggle + KEYBOARD_KEY_9e=wlan + +########################################################### +# VIA +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnVIA:pnK8N800:pvr* + KEYBOARD_KEY_81=prog1 + +########################################################### +# Zepto +########################################################### + +# Znote +keyboard:dmi:bvn*:bvr*:bd*:svnZepto:pnZnote:* + KEYBOARD_KEY_93=switchvideomode # Fn+F3 Toggle Video Output + KEYBOARD_KEY_95=brightnessdown # Fn+F4 Brightness Down + KEYBOARD_KEY_91=brightnessup # Fn+F5 Brightness Up + KEYBOARD_KEY_a5=f23 # Fn+F6 Disable Touchpad + KEYBOARD_KEY_a6=f22 # Fn+F6 Enable Touchpad + KEYBOARD_KEY_a7=bluetooth # Fn+F10 Enable Bluetooth + KEYBOARD_KEY_a9=bluetooth # Fn+F10 Disable Bluetooth + KEYBOARD_KEY_f1=wlan # RF Switch Off + KEYBOARD_KEY_f2=wlan # RF Switch On + KEYBOARD_KEY_f4=prog1 # P1 Button + KEYBOARD_KEY_f3=prog2 # P2 Button + KEYBOARD_KEY_a0=! # mute + KEYBOARD_KEY_ae=! # volume down + KEYBOARD_KEY_b0=! # volume up + +# Znote 6615WD +keyboard:dmi:bvn*:bvr*:bd*:svnZepto:pnZnote*6615WD:* + KEYBOARD_KEY_a0=! # mute + KEYBOARD_KEY_ae=! # volume down + KEYBOARD_KEY_b0=! # volume up + +########################################################### +# Other +########################################################### + +# Common Volume Keys +keyboard:dmi:bvn*:bvr*:bd*:svnFUJITSU*SIEMENS:pnAMILO*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnFOXCONN:pnQBOOK:* +keyboard:dmi:bvn*:bvr*:bd*:svnMTC:pn*:pvrA0:* +keyboard:dmi:bvn*:bvr*:bd*:svnMio*Technology:pnN890:* +keyboard:dmi:bvn*:bvr*:bd*:svnPEGATRON*CORP.:pnSpring*Peak:* +keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSatellite*[uU][35]0[05]*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSATELLITE*[uU][35]0[05]*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSatellite*Pro*[uU]300*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnEQUIUM [uU][35]0[05]*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnViooo*Corporation:pnPT17:* +keyboard:dmi:bvn*:bvr*:bd*:svnHANNspree:pnSN10E100:* +keyboard:dmi:bvn*:bvr*:bd*:svnGIGABYTE:pni1520M:* +keyboard:dmi:bvn*:bvr*:bd*:svnBenQ:pn*nScreen*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnBenQ:pnJoybook*Lite*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnDIXONSP:pnDIXON*:pvr* + KEYBOARD_KEY_a0=! # mute + KEYBOARD_KEY_ae=! # volume down + KEYBOARD_KEY_b0=! # volume up diff --git a/Makefile b/Makefile index 4031006..79dfec3 100644 --- a/Makefile +++ b/Makefile @@ -9,12 +9,17 @@ else endif SOURCEDIR := $(shell pwd) ARCHIVE := $(TAGNAME).tar.bz2 +HWDBNUMINCR := 2 CVSROOT = $(shell cat CVS/Root 2>/dev/null || :) CVSTAG = $(NAME)-r$(subst .,-,$(VERSION)) -FILES = pci.ids usb.ids oui.txt iab.txt pnp.ids +FILES := pci.ids usb.ids oui.txt iab.txt pnp.ids +HWDBGENERATED := 20-OUI.hwdb 20-pci-classes.hwdb 20-pci-vendor-model.hwdb \ + 20-usb-classes.hwdb 20-usb-vendor-model.hwdb +HWDBUPSTREAM := 20-bluetooth-vendor-product.hwdb 60-keyboard.hwdb # 20-acpi-vendor.hwdb +HWDBFILES := $(HWDBGENERATED) $(HWDBUPSTREAM) .PHONY: all install tag force-tag check commit create-archive archive srpm-x \ clean clog new-pci-ids new-usb-ids new-oui new-iab new-pnp-ids @@ -33,6 +38,13 @@ install: Makefile.inc for foo in $(FILES) ; do \ install -m 644 $$foo $(DESTDIR)$(datadir)/$(NAME) ;\ done + mkdir -p -m 755 $(DESTDIR)$(libdir)/udev/hwdb.d/ + perl ./ids-update.pl + for foo in $(HWDBFILES) ; do \ + num=`echo $$foo | sed 's,^\(.*/\|\)\([0-9]\+\)-[^/]\+,\2,'`; \ + destname=`printf "%02d" $$((num + $(HWDBNUMINCR)))`-`basename $$foo | sed "s/^[0-9]\+-//"`; \ + install -m 644 $$foo $(DESTDIR)$(libdir)/udev/hwdb.d/$$destname; \ + done mkdir -p -m 755 $(DESTDIR)$(libdir)/modprobe.d install -m 644 -T blacklist.conf $(DESTDIR)$(libdir)/modprobe.d/dist-blacklist.conf @@ -87,7 +99,7 @@ clean: clog: hwdata.spec @sed -n '/^%changelog/,/^$$/{/^%/d;/^$$/d;s/%%/%/g;p}' $< | tee $@ -download: new-usb-ids new-pci-ids new-oui new-iab new-pnp-ids +download: new-usb-ids new-pci-ids new-oui new-iab new-pnp-ids new-hwdb-files new-usb-ids: @curl -O http://www.linux-usb.org/usb.ids @@ -119,3 +131,8 @@ pnp.ids.txt: new-pnp.xlsx new-pnp.xlsx: @curl -o $@ \ http://download.microsoft.com/download/7/E/7/7E7662CF-CBEA-470B-A97E-CE7CE0D98DC2/ISA_PNPID_List.xlsx + +new-hwdb-files: + for file in $(HWDBUPSTREAM); do \ + curl -O http://cgit.freedesktop.org/systemd/systemd/plain/hwdb/$$file.hwdb; \ + done diff --git a/README b/README index 01ebc12..4139010 100644 --- a/README +++ b/README @@ -3,3 +3,8 @@ Requisities: unoconf - python script using libreoffice to convert all office documents to anything else * used to update pnp.ids from MS database. + perl - to run ids-update.pl + +ids-update.pl is a script downloaded from systemd's upstream with: + $ curl -o ids-update.pl -O http://cgit.freedesktop.org/systemd/systemd/plain/hwdb/ids-update.pl?id=1d09582ab9d8bc619de3a01f01d614eab44d31c0 +It generates various hwdb files. diff --git a/hwdata.spec b/hwdata.spec index cb02646..5602a5c 100644 --- a/hwdata.spec +++ b/hwdata.spec @@ -1,5 +1,4 @@ -%global uprelease 7.1 -%global hwdbnumber 22 +%global uprelease 7.2 Name: hwdata Summary: Hardware identification and configuration data @@ -11,6 +10,12 @@ Source0: https://fedorahosted.org/releases/h/w/%{name}/%{name}-%{version}-%{upre URL: http://git.fedorahosted.org/git/hwdata.git BuildArch: noarch +BuildRequires : perl + +Requires : systemd +Requires(post) : systemd +Requires(postun): systemd + %description hwdata contains various hardware identification and configuration data, such as the pci.ids and usb.ids databases. @@ -20,7 +25,6 @@ such as the pci.ids and usb.ids databases. %configure %build -# nothing to build %install rm -rf $RPM_BUILD_ROOT @@ -29,16 +33,31 @@ make install DESTDIR=$RPM_BUILD_ROOT libdir=%{_prefix}/lib %clean rm -rf $RPM_BUILD_ROOT +%post +udevadm hwdb --update >/dev/null 2>&1 || : + +%postun +udevadm hwdb --update >/dev/null 2>&1 || : + %files %doc LICENSE COPYING %dir %{_datadir}/%{name} %{_prefix}/lib/modprobe.d/dist-blacklist.conf +%{_prefix}/lib/udev/hwdb.d/[0-9][0-9]-*.hwdb %{_datadir}/%{name}/* %changelog +* Thu Mar 27 2014 Michal Minar 0.252-7.2 +- Added few more hwdb files. +- Updated vendor, pci and usb ids. + * Thu Mar 20 2014 Michal Minar 0.252-7.1 - Bumped release to reflect rhel version. - Fixed bogus dates in changelog. +- Generate and install hwdb.d/* files. + +* Fri Dec 27 2013 Daniel Mach - 0.252-3 +- Mass rebuild 2013-12-27 * Mon Aug 5 2013 Michal Minar 0.252-2 - Changelog fix. diff --git a/ids-update.pl b/ids-update.pl new file mode 100644 index 0000000..37d3556 --- /dev/null +++ b/ids-update.pl @@ -0,0 +1,270 @@ +#!/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 = ) { + $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 = ) { + $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; + + 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 = ) { + $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; + my $text = $2; + print(OUT "\n"); + print(OUT "pci:v0000" . $vendor . "d0000" . $device . "*\n"); + print(OUT " ID_MODEL_FROM_DATABASE=" . $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 $text = $3; + print(OUT "\n"); + print(OUT "pci:v0000" . $vendor . "d0000" . $device . "sv0000" . $sub_vendor . "sd0000" . $sub_device . "*\n"); + print(OUT " ID_MODEL_FROM_DATABASE=" . $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 = ) { + $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 oui { + my $iab_prefix; + my %iab_prefixes = (); + + open(OUT, ">", "20-OUI.hwdb"); + print(OUT "# This file is part of systemd.\n" . + "#\n" . + "# Data imported from:\n" . + "# http://standards.ieee.org/develop/regauth/oui/oui.txt\n" . + "# http://standards.ieee.org/develop/regauth/iab/iab.txt\n"); + + open(IN, "<", "iab.txt"); + while (my $line = ) { + $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) { + $iab_prefix = $1 . $2 . $3; + $iab_prefixes{ $iab_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:" . $iab_prefix . $vendor . "*\n"); + print(OUT " ID_OUI_FROM_DATABASE=" . $text . "\n"); + } + } + close(IN); + + open(IN, "<", "oui.txt"); + while (my $line = ) { + $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; + + # skip the IAB prefixes + if (! exists $iab_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(); + +oui(); -- 2.25.1