diff --git a/.gitignore b/.gitignore index f523ba12d..3f8ef4803 100644 --- a/.gitignore +++ b/.gitignore @@ -53,13 +53,10 @@ src/gudev/gudevmarshal.h src/gudev/GUdev-1.0.gir src/gudev/GUdev-1.0.typelib -src/keymap/check-keymaps.sh -src/keymap/keyboard-force-release.sh -src/keymap/keymap -src/keymap/keys-from-name.gperf -src/keymap/keys-from-name.h -src/keymap/keys-to-name.h -src/keymap/keys.txt +src/udev/keyboard-keys-from-name.gperf +src/udev/keyboard-keys-from-name.h +src/udev/keyboard-keys-to-name.h +src/udev/keyboard-keys.txt test/test-libudev test/test-udev diff --git a/Makefile.am b/Makefile.am index 4b07a365d..509447ac0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -8,12 +8,6 @@ SUBDIRS = \ docs \ test -if ENABLE_KEYMAP -SUBDIRS += \ - keymaps \ - keymaps-force-release -endif - if ENABLE_MANPAGES SUBDIRS += \ man diff --git a/UPSTREAM-206-commit-todo b/UPSTREAM-206-commit-todo new file mode 100644 index 000000000..64a62978c --- /dev/null +++ b/UPSTREAM-206-commit-todo @@ -0,0 +1,164 @@ +21bf2ab082b42f03df5b4685df2fddc4d6e0d572 +0778c3db87383ffcbe0fd303019c8b7e96b75394 +f4f8f7b546508e1e7c94b072df685ac1342e8d7e +251cc8194228ac86c9a7a4c75a54a94cea2095c7 +33b521be152f67cd722695ba9a2966eda5ee6765 +efa3c0af8e0c8a9c7e3059bde65081b0020dfa6c +28f5c779e5513ab1301ac103471009711b0961e0 +7e380bba1cd517570655c0e653e2239e33988cd1 +ef7e6e0598b1711d7ccf741bb8e4e07a02ef33a7 +408f281bc7d65c86563f46e99e07efd1a1d9e03a +fbce11397f4d19821a9dfe66ee3ebe11cad90057 + orthographical mishaps that appeared in man/ in recent commits. +44affdc5fd20f812c25bc9d2b1a9fc04215274a1 +3c475ce44e6b3b5bd6b22cff11a1322dabd95ba0 +eb75d0ed059f56f0b5a8dcb8d490fae7063c76ca +459da00fe6496a77dcc31df964b59a17e9746c94 +bf7f800f2b3e93ccd1229d4717166f3a4d3af72f +e7c431d3bcfdeeec5dcae0707145edb9a3f749aa +d4d60b316914770e9e671122394f96521841eac7 +19cace379f3f680d3201cd257ab3ca6708b2d45d +83787333bd75f3fb5d2d844a5d5dbf68d93f7f3f +847ae0ae7f29e7bfb245d692409fc2948eab7d1d +9365b048c0c9f62ef7f696216ba049e6b4c2f2e5 +3e2f69b779aa0f3466ebb45837e8507baa0832f7 +7f0386f62c128896519aafa203caa1b3aafd4393 +1ec96668dd0dcb19cc2f7b99cbf73df0d769c97d +60211b35070a20ed0e78a83f39619139d56f7745 +f7f74d8ec46532f13a1dc418d550eaf76b339fa3 +431c72dc3d482732a01d3ab929aa9b2c36422d46 +3803cde44c3d949765bdf0e8bce06886224d40b4 +dc7adf202b82fc0054c457ce6ca3bcedb88dde57 +e2f2fb786059fbed410938f16e5cc8b851366b14 +ef89eef77ee098a6828169a6d0d74128e236bcbd +86d7de36869429f20d75e34bb3ddb2cfd2470e75 +aea38d8047a7a9370f8545007d242ede4a5cede1 +6aaa8c2f783cd1b3ac27c5ce40625d032e7e3d71 +61ad59b1314060958c6e1b1b480074e230b6ed3e +bc5cb1d525461c75e69ce1f82a52e223309cca7c +085b90af43fefd9ed195902c4b55f1da3c568554 +e1b7e7ec9b34ae6ae54a4c8084395cbf2bfe9960 +5d48cd27270e74f878f6ed3fe119e4cf3ef7f84e +98653cfb5005d0f505c48287d233d270ae6e75d6 +466784c8710e5cb0e0b86a16506d992d7ec5b619 +f04ca8c214e02e58877e994e5d1fa29a6abe5157 +d4ac85c6f6d8547f8b835009ae431438de72df28 +2f5df74a5ec135ab2baebf26af6f088e5b4b8205 +9b9b3d36b8ffe5b41c1455bffd44a9d11efc8aee +44bc6e1fe0171af19451b5586f7fdd08853ccf5b +a54e3b3d6a4fe28a39729f4c5ad11cd26706110c +c2654883624885696edccd2a202873998ec208f1 +059b7a9aad6c2e60957761b8f63267861c859be8 +52990c2e0eabd1c11280f553f858062d4165b92f +4b744dfabebd10bf0f13b64060f44b1bd6c82704 +d121b396ccb19dc33aacfc75a7f7a719914267c8 +affba8e90243526be673ad9f9b306a740b8824a6 +1070f974f7a1b6ba012e352b9d635d3902eca244 +2ce982f9b1a9f409b10fc4c0f3faa6b594b58df9 +20422497109aaba1d214f1597530de8b8788a526 +c3bb87dbab8b79bb9253407cb5b7f3e6fe8db395 +c961869ac580f5a3aea3737f9e45af71b0983662 +c72aadd1851096ea979f68b4e32cca71746ccdc4 +956eaf2b8d6c9999024705ddadc7393bc707de02 +69af45035913e7119cffd94c542bd3039600e45d +4ad16808c02e3eb6c1ec8500b3d086cc28e9b75a +248fc619b5e3e24d78f171f95b85916eee7987bd +dd94c17e7da89fa612952119ac825116dc5a8deb +32b2634edf218e250b84615bbf106b2baf42d69b +c5757cc8dbcddb3e8b13ebba4ea4b36589bfd3db +83a05f2c89d228a9a92b998b1cbd4a51f3693711 +db0c1e3bd39c9151ba4ac8e029ec77a4ec923bd1 +6b78df0a6ec75f25705a0f78ef895b95ab75a7ea +84b6ad702e64db534f67ce32d4dd2fec00a16784 +6cf2f1d94dc7749bcdff5385838bdc8eba9c3001 +e7256c5c137e58fb3dc1ebca8e5845733a5f733c +042e33ae3a7feb08c8105f1345fd244315109405 +a65f06bb27688a6738f2f94b7f055f4c66768d63 +daabe5491ee0c78b735336c9e69b7f6ea57464e0 +21c72713ae89cfc2c4096c383af9bb482665e0a6 +9c33d34fe4cd0bc58ea12e5258e595647c9e0b29 +6ed80a4e346883b99263a1a13505ef6afcbc09c3 +a331b5e6d4724365bad9edeb9420c7e26e7f50da +18d4e7c26e7806ac363d19989df7144d5058ce41 +7080ea16b5a0bfd71bfcdffc998e91f5273d47f9 +36c0868b67a9387d39c97983d3d22cfce0fedc62 +f3c19b70fa970321ec06d3bd2497f5abd525efc9 + Revert 90fc91d0065 again. There is no 900XC3 model, that's 900X3C and +b31c6d8d4f33502d6060e708f5252ee2ea8648ad +7801356442578ff6e1c65844eb9e65c819af4660 +3a83211689bdf4ab617a4fb79e11980c50918123 +fa7deadb074dfbe473cf3bd942768dbd94cbf7c3 +65cd79f7f574532e5f91d581aaff923c29655bbd +31a7eb86f18b0466681d6fbe80c148f96c551c80 +77a9e8de6572db6ba5ca49023937b67fc835f356 +8cf3ca80680b43015971cbbf4625517ae859d50c +10fb4e35fd8a44340f695e49230dc61b5766d47a +e7d90b71272f921b2d5a8f73a26fdd19f546ad07 +dac70dc77769f32b202ab07984687593de22f6b3 +d907c2086716681936755f28ac80b3445c6d0196 +248aa28ff27418ad074439014d476ed8cd2e01db +36398225b44367c89f11f42810e4f79652b09a09 + travis: Add a travis.yml for doing CI after commits +b4ecc959733d9d258d8ed0e8179368ee844a5578 +b8547c10c82994f2b8eab4510629139439b49371 +6c5a28255bea4385289149b4617c86a24eec519f +3eb1395706ca0a00ac15d59098a0250b0377e6b5 +bf502e636be8f76e05b0334b4e78ea7a398ba241 +6aea6d10f460853111ca8744201ec8dade97de3c +7aa4fa34f76b0d9b031f0a5ea941c7fa10cebbee +92d430a9e03056c0f62ed49149d59aed0046d0dd +6a75304e41e4487d840057a0e5f9972e141e4540 +b98e3866fddf2edfa13fc1b4323aa84f89336ff2 +3d56f7df4411684404470d36ddec0d90649a13a3 +9f64229f9ca69f5652b238a67531432e56108bd6 + This reverts cd3069559a09b4e4f85a6f02aa8f0521f48359ca. +d7b478b448d16b0f755e7e1c2eb4df83859034b2 +b463b81399f0bc0d54107ef819cc0f843473c7d7 +d868475ad62547f0a034dfaf038aff31b3d05372 +479fe882ae92e4c2eac3c995cd0d23d4c604889f +b54022fb92580022c5e830fbe4280992f5b3a770 +433dd100442e8197868def975c6fd38b48dc6439 +47a1454f707dff2e5d1db2f8bfcc406805d4d450 +cd3069559a09b4e4f85a6f02aa8f0521f48359ca +66a69314941b5020f57cda943095413c40d677d8 +f440e1bb8a0b1262c7649da502d0e9358019b968 +1e1ddecf405fdeb5a073c0696fafb50946af60d2 +b9ec9359369f224bfb13db616f97401a6a177bd8 +665f8316f435772ed539be5e164a85cd188f84b4 +8e7076caae32a560a11c1643b53fc4f12db4a6b1 +554604b3073467af75dc94fac9e2343148603289 +c14901bdebb311531fb85b02c7c6eebf6e8e4388 +042f9f5e5e76cf0e3cbfd009abd2add0366cdeca +9d12709626bccc0cae677a7035f62efe6aabb4ab +05b23cae8ebf6fbafd23ab8a0b0cfed747745d15 +d7bd3de0654669e65b9642c248c5fa6d1d9a9f61 +8a84192905a9845fda31b65cc433127f9c2f95ae +be2c1bd2a843aa61901086fccbae15b3aa085fb1 +a8833944647bfd10e43569646be954db5cbac54e +e2ca86cf78f911a8be51f0224796e24883019139 +852752fca2f73323e3c25b33348b3c92458665ae +f7db7a691c3f532cf60886312459f2baea755283 +4c5420a0c1429de866c4dfbe2f973cfa241bdbe4 +049b4474b35d0b854f87b0795a5113665413f6a4 +8aa75193662d0e18d7c21ee9d546b7f3c8b8bc14 +befb5b6a71c175d523644edbddd01b4b722fe956 +f6940be7825755d77ade4cd42231aab9e3580623 +bafb15bab99887d1b6b8a35136531bac6c3876a6 +aa1936ea1a89c2bb968ba33e3274898a4eeae771 +8577e67245fc5d38bfdc32349388769895202bc4 +66713f77e851c12452729d37e22ef66673852b8f +ac9ef33358b6e6277cfca86a85a49a022824549e +49998ede042907b0ba7f5e85e02fa569da26bc04 +7fb3ee51c1b37738fd0ea2c81dfd6c336144698a +f2d4f98d5873e0649b79b04b967fc9625ab3a350 +6797c324a653f119a3d7133122648aaa4878ddd6 +72673e866a83e6aafdbb599eb3eff2617b7dc79d +b9316fb0f39fff3df792e4e72eb491ec4265b91f +71445ae75b0e9954d141e5f0ee97803b406ea332 +d0ede8f1c555500dceebd3cc8a8e877ed1d89de6 +94c01aeb1049a87435e046245b8e5d975b778c60 +0c5778a26b14093c79bfc9e8b34e2aeeb1d79b87 +b170dd803d334234ad7edd0dc7bb34860832bc07 +6fa4853328e3d78d092172fa54effb7e785d0a85 +376dd21dc0757e8a6d3f60d6d21bb802a90f1983 +bdeeb6b543a2a2d0a494f17b85f1498859cdfc2f diff --git a/UPSTREAM.notes b/UPSTREAM.notes index 7cb12e32f..e2e1cadd9 100644 --- a/UPSTREAM.notes +++ b/UPSTREAM.notes @@ -1,3 +1,11 @@ +2013-07-24 + + * Incorporate migration from external to internal keymaps. About 13 commits were cherry-picked + out of upstream, after and including 9d7d42bc406a2ac04639674281ce3ff6beeda790, to assemble + this commit in eudev. Note that between this commit and upstream release 206 there are still + many commits that need to be evaluated -- the commits are temporarily stored in the file + 'UPSTREAM-206-commit-todo'. + 2013-07-11 * Prepare 1.1 release. Uptream imports are up to date as of 2013-07-10. All commits diff --git a/configure.ac b/configure.ac index 3e5c53f9c..52e241fa7 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ AC_PREREQ([2.68]) -AC_INIT([eudev],[1.1],[https://github.com/gentoo/eudev/issues]) +AC_INIT([eudev],[1.2],[https://github.com/gentoo/eudev/issues]) AC_SUBST(UDEV_VERSION, 205) AC_CONFIG_SRCDIR([src/udev/udevd.c]) @@ -231,6 +231,7 @@ if test "x$enable_keymap" = "xyes"; then if test -z "$GPERF" ; then AC_MSG_ERROR([*** gperf not found]) fi + AC_DEFINE([ENABLE_KEYMAP], [1], [Define if we are enabling rule generator]) fi AM_CONDITIONAL([ENABLE_KEYMAP], [test "x$enable_keymap" = "xyes"]) @@ -313,8 +314,6 @@ AC_CONFIG_FILES([Makefile docs/libudev/Makefile docs/libudev/version.xml hwdb/Makefile - keymaps-force-release/Makefile - keymaps/Makefile man/Makefile rules/Makefile rule_generator/Makefile @@ -330,9 +329,6 @@ AC_CONFIG_FILES([Makefile src/v4l_id/Makefile src/gudev/Makefile src/gudev/gudev-1.0.pc - src/keymap/Makefile - src/keymap/check-keymaps.sh - src/keymap/keyboard-force-release.sh src/libudev/Makefile src/libudev/libudev.pc src/udev/Makefile diff --git a/hwdb/20-OUI.hwdb b/hwdb/20-OUI.hwdb index 8b402f9b4..5ebd6413b 100644 --- a/hwdb/20-OUI.hwdb +++ b/hwdb/20-OUI.hwdb @@ -7295,7 +7295,7 @@ OUI:0050C298C* ID_OUI_FROM_DATABASE=MGM-Devices Oy OUI:0050C298D* - ID_OUI_FROM_DATABASE=Mecos Traxler AG + ID_OUI_FROM_DATABASE=Mecos AG OUI:0050C298E* ID_OUI_FROM_DATABASE=Link Technologies, Inc @@ -13099,6 +13099,48 @@ OUI:40D85512D* OUI:40D85512E* ID_OUI_FROM_DATABASE=Canfield Scientific, Inc. +OUI:40D855130* + ID_OUI_FROM_DATABASE=GSP Sprachtechnologie GmbH + +OUI:40D855131* + ID_OUI_FROM_DATABASE=EMAC, INC. + +OUI:40D855132* + ID_OUI_FROM_DATABASE=AeroVision Avionics, Inc + +OUI:40D855133* + ID_OUI_FROM_DATABASE=Tattile srl + +OUI:40D855134* + ID_OUI_FROM_DATABASE=digitech GmbH & Co. KG + +OUI:40D855135* + ID_OUI_FROM_DATABASE=GLOBALCOM ENGINEERING SRL + +OUI:40D855136* + ID_OUI_FROM_DATABASE=Devriecom B.V. + +OUI:40D855137* + ID_OUI_FROM_DATABASE=GDE Polska + +OUI:40D855138* + ID_OUI_FROM_DATABASE=Calon Associates Limited + +OUI:40D855139* + ID_OUI_FROM_DATABASE=WOW System + +OUI:40D85513A* + ID_OUI_FROM_DATABASE=Supplier Ind. e Com de Eletroeletrônicos + +OUI:40D85513B* + ID_OUI_FROM_DATABASE=Davin Technologies Co.,Ltd + +OUI:40D85513C* + ID_OUI_FROM_DATABASE=shanghai anjian Information technology co. , ltd. + +OUI:40D85513D* + ID_OUI_FROM_DATABASE=Perm Scientific-Industrial Instrument Making Company JSC + OUI:000000* ID_OUI_FROM_DATABASE=XEROX CORPORATION @@ -14675,7 +14717,7 @@ OUI:00020D* ID_OUI_FROM_DATABASE=Micronpc.com OUI:00020E* - ID_OUI_FROM_DATABASE=ECI Telecom, Ltd., NSD-US + ID_OUI_FROM_DATABASE=ECI Telecom, Ltd OUI:00020F* ID_OUI_FROM_DATABASE=AATR @@ -46093,6 +46135,9 @@ OUI:0075E1* OUI:00789E* ID_OUI_FROM_DATABASE=SAGEMCOM +OUI:007DFA* + ID_OUI_FROM_DATABASE=Volkswagen Group of America + OUI:007F28* ID_OUI_FROM_DATABASE=Actiontec Electronics, Inc @@ -51148,6 +51193,9 @@ OUI:044BFF* OUI:044CEF* ID_OUI_FROM_DATABASE=Fujian Sanao Technology Co.,Ltd +OUI:044F8B* + ID_OUI_FROM_DATABASE=Adapteva, Inc. + OUI:044FAA* ID_OUI_FROM_DATABASE=Ruckus Wireless @@ -52102,6 +52150,9 @@ OUI:0C57EB* OUI:0C5A19* ID_OUI_FROM_DATABASE=Axtion Sdn Bhd +OUI:0C5CD8* + ID_OUI_FROM_DATABASE=DOLI Elektronik GmbH + OUI:0C6076* ID_OUI_FROM_DATABASE=Hon Hai Precision Ind. Co.,Ltd. @@ -52171,6 +52222,9 @@ OUI:0C93FB* OUI:0C96BF* ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd +OUI:0C9B13* + ID_OUI_FROM_DATABASE=Shanghai Magic Mobile Telecommunication Co.Ltd. + OUI:0C9D56* ID_OUI_FROM_DATABASE=Consort Controls Ltd @@ -52618,6 +52672,9 @@ OUI:141BF0* OUI:1423D7* ID_OUI_FROM_DATABASE=EUTRONIX CO., LTD. +OUI:142BD2* + ID_OUI_FROM_DATABASE=Armtel Ltd. + OUI:142D8B* ID_OUI_FROM_DATABASE=Incipio Technologies, Inc @@ -52924,6 +52981,9 @@ OUI:187A93* OUI:187C81* ID_OUI_FROM_DATABASE=Valeo Vision Systems +OUI:187ED5* + ID_OUI_FROM_DATABASE=shenzhen kaism technology Co. Ltd + OUI:1880CE* ID_OUI_FROM_DATABASE=Barberry Solutions Ltd @@ -53122,6 +53182,9 @@ OUI:1C48F9* OUI:1C4AF7* ID_OUI_FROM_DATABASE=AMON INC +OUI:1C4BB9* + ID_OUI_FROM_DATABASE=SMG ENTERPRISE, LLC + OUI:1C4BD6* ID_OUI_FROM_DATABASE=AzureWave @@ -53608,6 +53671,9 @@ OUI:245FDF* OUI:246278* ID_OUI_FROM_DATABASE=sysmocom - systems for mobile communications GmbH +OUI:2464EF* + ID_OUI_FROM_DATABASE=CYG SUNRI CO.,LTD. + OUI:246511* ID_OUI_FROM_DATABASE=AVM GmbH @@ -53626,6 +53692,9 @@ OUI:24767D* OUI:247703* ID_OUI_FROM_DATABASE=Intel Corporate +OUI:248000* + ID_OUI_FROM_DATABASE=Westcontrol AS + OUI:2481AA* ID_OUI_FROM_DATABASE=KSH International Co., Ltd. @@ -53833,6 +53902,9 @@ OUI:284846* OUI:284C53* ID_OUI_FROM_DATABASE=Intune Networks +OUI:284D92* + ID_OUI_FROM_DATABASE=Luminator + OUI:284FCE* ID_OUI_FROM_DATABASE=Liaoning Wontel Science and Technology Development Co.,Ltd. @@ -54109,12 +54181,18 @@ OUI:2C44FD* OUI:2C542D* ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. +OUI:2C553C* + ID_OUI_FROM_DATABASE=Gainspeed, Inc. + OUI:2C59E5* ID_OUI_FROM_DATABASE=Hewlett Packard OUI:2C5AA3* ID_OUI_FROM_DATABASE=PROMATE ELECTRONIC CO.LTD +OUI:2C5FF3* + ID_OUI_FROM_DATABASE=Pertronic Industries + OUI:2C625A* ID_OUI_FROM_DATABASE=Finest Security Systems Co., Ltd @@ -54526,6 +54604,9 @@ OUI:3451C9* OUI:345B11* ID_OUI_FROM_DATABASE=EVI HEAT AB +OUI:346178* + ID_OUI_FROM_DATABASE=The Boeing Company + OUI:34684A* ID_OUI_FROM_DATABASE=Teraworks Co., Ltd. @@ -54958,6 +55039,9 @@ OUI:3C0FC1* OUI:3C106F* ID_OUI_FROM_DATABASE=ALBAHITH TECHNOLOGIES +OUI:3C15EA* + ID_OUI_FROM_DATABASE=TESCOM CO., LTD. + OUI:3C1915* ID_OUI_FROM_DATABASE=GFI Chrono Time @@ -56140,6 +56224,9 @@ OUI:50252B* OUI:502690* ID_OUI_FROM_DATABASE=Fujitsu Limited +OUI:5027C7* + ID_OUI_FROM_DATABASE=TECHNART Co.,Ltd + OUI:502A7E* ID_OUI_FROM_DATABASE=Smart electronic GmbH @@ -56284,6 +56371,9 @@ OUI:50AF73* OUI:50B7C3* ID_OUI_FROM_DATABASE=Samsung Electronics CO., LTD +OUI:50B888* + ID_OUI_FROM_DATABASE=wi2be Tecnologia S/A + OUI:50B8A2* ID_OUI_FROM_DATABASE=ImTech Technologies LLC, @@ -56480,7 +56570,7 @@ OUI:54A51B* ID_OUI_FROM_DATABASE=Shenzhen Huawei Communication Technologies Co., Ltd OUI:54A54B* - ID_OUI_FROM_DATABASE=NSC Communiaction Siberia Ltd + ID_OUI_FROM_DATABASE=NSC Communications Siberia Ltd OUI:54A619* ID_OUI_FROM_DATABASE=Alcatel-Lucent Shanghai Bell Co., Ltd @@ -56614,6 +56704,9 @@ OUI:5856E8* OUI:58570D* ID_OUI_FROM_DATABASE=Danfoss Solar Inverters +OUI:58639A* + ID_OUI_FROM_DATABASE=TPL SYSTEMES + OUI:5865E6* ID_OUI_FROM_DATABASE=INFOMARK CO., LTD. @@ -56686,6 +56779,9 @@ OUI:589835* OUI:58986F* ID_OUI_FROM_DATABASE=Revolution Display +OUI:58A2B5* + ID_OUI_FROM_DATABASE=LG Electronics + OUI:58A76F* ID_OUI_FROM_DATABASE=iD corporation @@ -57037,6 +57133,9 @@ OUI:601E02* OUI:6021C0* ID_OUI_FROM_DATABASE=Murata Manufactuaring Co.,Ltd. +OUI:6024C1* + ID_OUI_FROM_DATABASE=Jiangsu Zhongxun Electronic Technology Co., Ltd + OUI:602A54* ID_OUI_FROM_DATABASE=CardioTek B.V. @@ -57157,6 +57256,9 @@ OUI:60A10A* OUI:60A44C* ID_OUI_FROM_DATABASE=ASUSTek COMPUTER INC. +OUI:60A9B0* + ID_OUI_FROM_DATABASE=Merchandising Technologies, Inc + OUI:60B185* ID_OUI_FROM_DATABASE=ATH system @@ -57895,6 +57997,9 @@ OUI:6C5779* OUI:6C5A34* ID_OUI_FROM_DATABASE=Shenzhen Haitianxiong Electronic Co., Ltd. +OUI:6C5AB5* + ID_OUI_FROM_DATABASE=TCL Technoly Electronics (Huizhou) Co., Ltd. + OUI:6C5CDE* ID_OUI_FROM_DATABASE=SunReports, Inc. @@ -58687,6 +58792,9 @@ OUI:78593E* OUI:78595E* ID_OUI_FROM_DATABASE=Samsung Electronics Co.,Ltd +OUI:785968* + ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.,Ltd. + OUI:785C72* ID_OUI_FROM_DATABASE=Hioso Technology Co., Ltd. @@ -58840,6 +58948,9 @@ OUI:78D5B5* OUI:78D6F0* ID_OUI_FROM_DATABASE=Samsung Electro Mechanics +OUI:78D99F* + ID_OUI_FROM_DATABASE=NuCom HK Ltd. + OUI:78DAB3* ID_OUI_FROM_DATABASE=GBO Technology @@ -58909,6 +59020,9 @@ OUI:7C0507* OUI:7C051E* ID_OUI_FROM_DATABASE=RAFAEL LTD. +OUI:7C0623* + ID_OUI_FROM_DATABASE=Ultra Electronics, CIS + OUI:7C08D9* ID_OUI_FROM_DATABASE=Shanghai Engineering Research Center for Broadband Technologies and Applications @@ -59416,12 +59530,18 @@ OUI:8400D2* OUI:840B2D* ID_OUI_FROM_DATABASE=SAMSUNG ELECTRO-MECHANICS CO., LTD +OUI:840F45* + ID_OUI_FROM_DATABASE=Shanghai GMT Digital Technologies Co., Ltd + OUI:841715* ID_OUI_FROM_DATABASE=GP Electronics (HK) Ltd. OUI:841888* ID_OUI_FROM_DATABASE=Juniper Networks +OUI:841B38* + ID_OUI_FROM_DATABASE=Shenzhen Excelsecu Data Technology Co.,Ltd + OUI:841B5E* ID_OUI_FROM_DATABASE=NETGEAR @@ -59689,6 +59809,9 @@ OUI:8841C1* OUI:8843E1* ID_OUI_FROM_DATABASE=CISCO SYSTEMS, INC. +OUI:8844F6* + ID_OUI_FROM_DATABASE=Nokia Corporation + OUI:88462A* ID_OUI_FROM_DATABASE=Telechips Inc. @@ -59725,6 +59848,9 @@ OUI:887398* OUI:887556* ID_OUI_FROM_DATABASE=Cisco +OUI:88789C* + ID_OUI_FROM_DATABASE=Game Technologies SA + OUI:8886A0* ID_OUI_FROM_DATABASE=Simton Technologies, Ltd. @@ -60562,6 +60688,9 @@ OUI:94DE0E* OUI:94DE80* ID_OUI_FROM_DATABASE=GIGA-BYTE TECHNOLOGY CO.,LTD. +OUI:94DF4E* + ID_OUI_FROM_DATABASE=Wistron InfoComm(Kunshan)Co.,Ltd. + OUI:94DF58* ID_OUI_FROM_DATABASE=IJ Electron CO.,Ltd. @@ -60979,6 +61108,9 @@ OUI:9C9811* OUI:9C9C1D* ID_OUI_FROM_DATABASE=Starkey Labs Inc. +OUI:9CA10A* + ID_OUI_FROM_DATABASE=SCLE SFE + OUI:9CA134* ID_OUI_FROM_DATABASE=Nike, Inc. @@ -62410,6 +62542,9 @@ OUI:B439D6* OUI:B43DB2* ID_OUI_FROM_DATABASE=Degreane Horizon +OUI:B43E3B* + ID_OUI_FROM_DATABASE=Viableware, Inc + OUI:B4417A* ID_OUI_FROM_DATABASE=ShenZhen Gongjin Electronics Co.,Ltd @@ -62488,6 +62623,9 @@ OUI:B4A4E3* OUI:B4A5A9* ID_OUI_FROM_DATABASE=MODI GmbH +OUI:B4A82B* + ID_OUI_FROM_DATABASE=Histar + OUI:B4A95A* ID_OUI_FROM_DATABASE=Avaya, Inc @@ -63037,6 +63175,9 @@ OUI:BC926B* OUI:BC9680* ID_OUI_FROM_DATABASE=Shenzhen Gongjin Electronics Co.,Ltd +OUI:BC9889* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. + OUI:BC99BC* ID_OUI_FROM_DATABASE=FonSee Technology Inc. @@ -63307,6 +63448,9 @@ OUI:C0C3B6* OUI:C0C520* ID_OUI_FROM_DATABASE=Ruckus Wireless +OUI:C0C687* + ID_OUI_FROM_DATABASE=Cisco SPVTG + OUI:C0C946* ID_OUI_FROM_DATABASE=MITSUYA LABORATORIES INC. @@ -63514,6 +63658,9 @@ OUI:C49300* OUI:C49313* ID_OUI_FROM_DATABASE=100fio networks technology llc +OUI:C49380* + ID_OUI_FROM_DATABASE=Speedytel technology + OUI:C495A2* ID_OUI_FROM_DATABASE=SHENZHEN WEIJIU INDUSTRY AND TRADE DEVELOPMENT CO., LTD @@ -64177,6 +64324,9 @@ OUI:D023DB* OUI:D02788* ID_OUI_FROM_DATABASE=Hon Hai Precision Ind.Co.Ltd +OUI:D02C45* + ID_OUI_FROM_DATABASE=littleBits Electronics, Inc. + OUI:D02DB3* ID_OUI_FROM_DATABASE=Huawei Technologies Co., Ltd @@ -64267,6 +64417,9 @@ OUI:D08CFF* OUI:D093F8* ID_OUI_FROM_DATABASE=Stonestreet One LLC +OUI:D095C7* + ID_OUI_FROM_DATABASE=Pantech Co., Ltd. + OUI:D09B05* ID_OUI_FROM_DATABASE=Emtronix @@ -64588,6 +64741,9 @@ OUI:D4AAFF* OUI:D4AC4E* ID_OUI_FROM_DATABASE=BODi rS, LLC +OUI:D4AD2D* + ID_OUI_FROM_DATABASE=Fiberhome Telecommunication Tech.Co.,Ltd. + OUI:D4AE52* ID_OUI_FROM_DATABASE=Dell Inc @@ -64714,6 +64870,9 @@ OUI:D824BD* OUI:D826B9* ID_OUI_FROM_DATABASE=Guangdong Coagent Electronics S &T Co., Ltd. +OUI:D8270C* + ID_OUI_FROM_DATABASE=MaxTronic International Co., Ltd. + OUI:D828C9* ID_OUI_FROM_DATABASE=General Electric Consumer and Industrial @@ -65134,6 +65293,9 @@ OUI:DCF858* OUI:DCFAD5* ID_OUI_FROM_DATABASE=STRONG Ges.m.b.H. +OUI:DCFB02* + ID_OUI_FROM_DATABASE=Buffalo Inc. + OUI:E005C5* ID_OUI_FROM_DATABASE=TP-LINK Technologies Co.,Ltd. @@ -65302,6 +65464,9 @@ OUI:E0ABFE* OUI:E0AE5E* ID_OUI_FROM_DATABASE=ALPS Co,. Ltd. +OUI:E0AEB2* + ID_OUI_FROM_DATABASE=Bender GmbH & Co.KG + OUI:E0AEED* ID_OUI_FROM_DATABASE=LOENK @@ -65920,6 +66085,9 @@ OUI:EC233D* OUI:EC2368* ID_OUI_FROM_DATABASE=IntelliVoice Co.,Ltd. +OUI:EC2AF0* + ID_OUI_FROM_DATABASE=Ypsomed AG + OUI:EC2C49* ID_OUI_FROM_DATABASE=University of Tokyo @@ -66646,6 +66814,9 @@ OUI:F80F84* OUI:F81037* ID_OUI_FROM_DATABASE=Atopia Systems, LP +OUI:F81547* + ID_OUI_FROM_DATABASE=Avaya, Inc + OUI:F81654* ID_OUI_FROM_DATABASE=Intel Corporate @@ -66694,6 +66865,9 @@ OUI:F83DFF* OUI:F842FB* ID_OUI_FROM_DATABASE=Yasuda Joho Co.,ltd. +OUI:F845AD* + ID_OUI_FROM_DATABASE=Konka Group Co., Ltd. + OUI:F8462D* ID_OUI_FROM_DATABASE=SYNTEC Incorporation @@ -66703,6 +66877,9 @@ OUI:F8472D* OUI:F84897* ID_OUI_FROM_DATABASE=Hitachi, Ltd. +OUI:F84A7F* + ID_OUI_FROM_DATABASE=Innometriks Inc + OUI:F84ABF* ID_OUI_FROM_DATABASE=HUAWEI TECHNOLOGIES CO.,LTD @@ -66718,6 +66895,9 @@ OUI:F8516D* OUI:F852DF* ID_OUI_FROM_DATABASE=VNL Europe AB +OUI:F854AF* + ID_OUI_FROM_DATABASE=ECI Telecom Ltd. + OUI:F85BC9* ID_OUI_FROM_DATABASE=M-Cube Spa @@ -66787,6 +66967,9 @@ OUI:F89FB8* OUI:F8A03D* ID_OUI_FROM_DATABASE=Dinstar Technologies Co., Ltd. +OUI:F8A45F* + ID_OUI_FROM_DATABASE=Beijing Xiaomi communications co.,ltd + OUI:F8A9DE* ID_OUI_FROM_DATABASE=PUISSANCE PLUS diff --git a/hwdb/20-pci-vendor-model.hwdb b/hwdb/20-pci-vendor-model.hwdb index de0b27cb3..2436a29e9 100644 --- a/hwdb/20-pci-vendor-model.hwdb +++ b/hwdb/20-pci-vendor-model.hwdb @@ -1898,6 +1898,9 @@ pci:v00001002d00004242* pci:v00001002d00004242sv00001002sd000002AA* ID_MODEL_FROM_DATABASE=Radeon 8500 AIW DV Edition +pci:v00001002d00004243* + ID_MODEL_FROM_DATABASE=R200 PCI Bridge [All-in-Wonder Radeon 8500DV] + pci:v00001002d00004336* ID_MODEL_FROM_DATABASE=RS100 [Radeon IGP 320M] @@ -3920,6 +3923,9 @@ pci:v00001002d00005A20* pci:v00001002d00005A23* ID_MODEL_FROM_DATABASE=RD990 I/O Memory Management Unit (IOMMU) +pci:v00001002d00005A31* + ID_MODEL_FROM_DATABASE=RC410 Host Bridge + pci:v00001002d00005A33* ID_MODEL_FROM_DATABASE=Radeon Xpress 200 Host Bridge @@ -6183,7 +6189,7 @@ pci:v00001002d00006840sv000017AAsd00005103* ID_MODEL_FROM_DATABASE=Radeon HD 7670M pci:v00001002d00006841* - ID_MODEL_FROM_DATABASE=Thames [Radeon 7550M/7570M/7650M] + ID_MODEL_FROM_DATABASE=Thames [Radeon HD 7550M/7570M/7650M] pci:v00001002d00006841sv00001028sd00000561* ID_MODEL_FROM_DATABASE=Radeon HD 7650M @@ -8372,6 +8378,45 @@ pci:v00001002d00009552sv0000174Bsd00003000* pci:v00001002d00009553* ID_MODEL_FROM_DATABASE=RV710/M92 [Mobility Radeon HD 4530/4570/545v] +pci:v00001002d00009553sv00001025sd0000015E* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 + +pci:v00001002d00009553sv00001025sd0000017D* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 + +pci:v00001002d00009553sv00001025sd00000205* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 + +pci:v00001002d00009553sv00001025sd00000206* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 + +pci:v00001002d00009553sv00001025sd00000237* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 + +pci:v00001002d00009553sv00001028sd000002BE* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 + +pci:v00001002d00009553sv00001028sd000002E8* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 + +pci:v00001002d00009553sv0000103Csd00003624* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 + +pci:v00001002d00009553sv0000103Csd00003628* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 + +pci:v00001002d00009553sv0000103Csd00003636* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4530 + +pci:v00001002d00009553sv00001043sd00001B32* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 + +pci:v00001002d00009553sv00001043sd00001B42* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 + +pci:v00001002d00009553sv0000104Dsd00009056* + ID_MODEL_FROM_DATABASE=Mobility Radeon HD 4570 + pci:v00001002d00009553sv00001179sd0000FF82* ID_MODEL_FROM_DATABASE=Satellite L505-13T GPU (Mobility Radeon HD 5145) @@ -10904,6 +10949,12 @@ pci:v00001022d00007813* pci:v00001022d00007814* ID_MODEL_FROM_DATABASE=FCH USB XHCI Controller +pci:v00001022d00007900* + ID_MODEL_FROM_DATABASE=CZ SATA Controller [IDE mode] + +pci:v00001022d0000790B* + ID_MODEL_FROM_DATABASE=CZ SMBus Controller + pci:v00001022d00009600* ID_MODEL_FROM_DATABASE=RS780 Host Bridge @@ -43791,7 +43842,7 @@ pci:v000014E4d00004720* ID_MODEL_FROM_DATABASE=BCM4712 MIPS CPU pci:v000014E4d00004727* - ID_MODEL_FROM_DATABASE=BCM4313 802.11b/g/n Wireless LAN Controller + ID_MODEL_FROM_DATABASE=BCM4313 802.11bgn Wireless Network Adapter pci:v000014E4d00004727sv00001028sd00000010* ID_MODEL_FROM_DATABASE=Inspiron M5010 / XPS 8300 @@ -49016,6 +49067,9 @@ pci:v000018F7d00000025* pci:v000018F7d00000026* ID_MODEL_FROM_DATABASE=SuperFSCC-LVDS Serial PCI Adapter [Fastcom] +pci:v000018F7d00000027* + ID_MODEL_FROM_DATABASE=FSCC/4 Serial PCIe Adapter [Fastcom] + pci:v000018FB* ID_VENDOR_FROM_DATABASE=Resilience Corporation @@ -50384,6 +50438,21 @@ pci:v00001AE8d00000A44* pci:v00001AE8d00000E44* ID_MODEL_FROM_DATABASE=microEnable IV-GigE x4 +pci:v00001AE9* + ID_VENDOR_FROM_DATABASE=Wilocity Ltd. + +pci:v00001AE9d00000101* + ID_MODEL_FROM_DATABASE=Wil6200 PCI Express Root Port + +pci:v00001AE9d00000200* + ID_MODEL_FROM_DATABASE=Wil6200 PCI Express Port + +pci:v00001AE9d00000201* + ID_MODEL_FROM_DATABASE=Wil6200 Wireless PCI Express Port + +pci:v00001AE9d00000301* + ID_MODEL_FROM_DATABASE=Wil6200 802.11ad Wireless Network Adapter + pci:v00001AEC* ID_VENDOR_FROM_DATABASE=Wolfson Microelectronics @@ -50663,6 +50732,9 @@ pci:v00001BB0* pci:v00001BB0d00000002* ID_MODEL_FROM_DATABASE=OmniCube Accelerator OA-3000 +pci:v00001BB0d00000010* + ID_MODEL_FROM_DATABASE=OmniCube Accelerator OA-3000-2 + pci:v00001BB3* ID_VENDOR_FROM_DATABASE=Bluecherry diff --git a/hwdb/60-keyboard.hwdb b/hwdb/60-keyboard.hwdb new file mode 100644 index 000000000..0ee65d792 --- /dev/null +++ b/hwdb/60-keyboard.hwdb @@ -0,0 +1,1011 @@ +# 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 +########################################## + +# Acer platform kernel driver +keyboard:name:Acer WMI hotkeys:dmi:bvn*:bvr*:bd*:svn*:pnAcer*:pvr* + KEYBOARD_KEY_82=f21 + +# Aspire 5720 +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire 5720*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnZG8*:pvr* + KEYBOARD_KEY_84=bluetooth # sent when bluetooth module missing, and key pressed + KEYBOARD_KEY_92=media # Acer arcade + KEYBOARD_KEY_d4=bluetooth # Bluetooth on + KEYBOARD_KEY_d9=bluetooth # Bluetooth off + KEYBOARD_KEY_f4=prog3 # e-key + +# Aspire 5920g +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire 5920G:* + KEYBOARD_KEY_8a=media + KEYBOARD_KEY_92=media + KEYBOARD_KEY_a6=setup + KEYBOARD_KEY_b2=www + KEYBOARD_KEY_d9=bluetooth # (toggle) on-to-off + +# Aspire 6920 +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire 6920:* + KEYBOARD_KEY_d9=bluetooth # (toggle) on-to-off + KEYBOARD_KEY_92=media + KEYBOARD_KEY_9e=back + KEYBOARD_KEY_83=rewind + KEYBOARD_KEY_89=fastforward + +# Aspire 8930 +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_92=media # key 'ARCADE' on CineDash Media Console + 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 + +# +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pn* +keyboard:dmi:bvn*:bvr*:bd*:svnGateway*:pnA0A1*: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_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=f23 # Launch NTI shadow + +# +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_KEY_ee=screenlock + +# +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*6292*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*8471*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*4720*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*7720*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire 1810T*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAO751h:* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAO531h:* + KEYBOARD_KEY_d9=bluetooth + +# +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate*4720*:pvr* + KEYBOARD_KEY_b2=www + KEYBOARD_KEY_ee=screenlock + +# +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnTravelMate 6593:* +keyboard:dmi:bvn*:bvr*:bd*:svnAcer*:pnAspire 1640:* + KEYBOARD_KEY_b2=www + KEYBOARD_KEY_ee=screenlock" + +########################################################### +# Alienware +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnAlienware*:pn* + KEYBOARD_KEY_8a=ejectcd + +########################################################### +# Asus +########################################################### + +keyboard:dmi:bvn*:bvr*:bd*:svnASUS:* + KEYBOARD_KEY_ed=volumeup + KEYBOARD_KEY_ee=volumedown + KEYBOARD_KEY_ef=mute + +########################################################### +# 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:pvr* + 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=f23 # 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=f23 # 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 Inc.: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 Inc.:pn:*Latitude*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnDell Inc.:pn:*Precision*:pvr* + KEYBOARD_KEY_9e=! + +# Dell XPS +keyboard:dmi:bvn*:bvr*:bd*:svnDell Inc.:pnXPS*:pvr* + KEYBOARD_KEY_8c=! + +########################################################### +# 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 + +########################################################### +# 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=f23 # 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 + +# Pavillion +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_d8=!f23 # touchpad off + KEYBOARD_KEY_d9=!f22 # touchpad on + +# 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 + +# 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 + +########################################################### +# 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 + +# +keyboard:name:Ideapad extra buttons:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn* + KEYBOARD_KEY_42=f23 + KEYBOARD_KEY_43=f22 + +# 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_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:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad Y550*:pvr* + KEYBOARD_KEY_95=media + KEYBOARD_KEY_a3=play + +# V480 +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*Lenovo V480*:pvr* + KEYBOARD_KEY_f1=f21 + +# IdeaPad +keyboard:dmi:bvn*:bvr*:bd*:svnLENOVO*:pn*IdeaPad U300s*:pvr* + KEYBOARD_KEY_f1=f21 + KEYBOARD_KEY_ce=f20 + +########################################################### +# 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 + +########################################################### +# 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]*:pvr* + 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_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 + KEYBOARD_KEY_d5=! # Fn+F12 Wi-Fi toggle + +# Series 9 +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*90X3A*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svn[sS][aA][mM][sS][uU][nN][gG]*:pn*900X[34]*: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 + +# 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*700Z*:pvr* + KEYBOARD_KEY_ba=ejectcd + KEYBOARD_KEY_96=keyboardbrightnessup + KEYBOARD_KEY_97=keyboardbrightnessdown + +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*: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 + +########################################################### +# 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]30[05]*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSatellite Pro [uU]300*:pvr* +keyboard:dmi:bvn*:bvr*:bd*:svnTOSHIBA:pnSATELLITE [uU]500*: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/hwdb/Makefile.am b/hwdb/Makefile.am index 097936f7c..5ced1cb63 100644 --- a/hwdb/Makefile.am +++ b/hwdb/Makefile.am @@ -8,3 +8,8 @@ dist_udevhwdb_DATA = \ 20-pci-vendor-model.hwdb \ 20-usb-classes.hwdb \ 20-usb-vendor-model.hwdb + +if ENABLE_KEYMAP +dist_udevhwdb_DATA += \ + 60-keyboard.hwdb +endif diff --git a/keymaps-force-release/Makefile.am b/keymaps-force-release/Makefile.am deleted file mode 100644 index 9153d095a..000000000 --- a/keymaps-force-release/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} - -dist_udevkeymapforcere_DATA = \ - dell-touchpad \ - dell-xps \ - hp-other \ - samsung-other \ - samsung-series-3 \ - samsung-series-9 \ - common-volume-keys diff --git a/keymaps-force-release/common-volume-keys b/keymaps-force-release/common-volume-keys deleted file mode 100644 index e384a3b8f..000000000 --- a/keymaps-force-release/common-volume-keys +++ /dev/null @@ -1,3 +0,0 @@ -0xa0 # mute -0xae # volume down -0xb0 # volume up diff --git a/keymaps-force-release/dell-touchpad b/keymaps-force-release/dell-touchpad deleted file mode 100644 index 18e9bdee6..000000000 --- a/keymaps-force-release/dell-touchpad +++ /dev/null @@ -1 +0,0 @@ -0x9E diff --git a/keymaps-force-release/dell-xps b/keymaps-force-release/dell-xps deleted file mode 100644 index 69f7899ad..000000000 --- a/keymaps-force-release/dell-xps +++ /dev/null @@ -1 +0,0 @@ -0x8C diff --git a/keymaps-force-release/hp-other b/keymaps-force-release/hp-other deleted file mode 100644 index 662137009..000000000 --- a/keymaps-force-release/hp-other +++ /dev/null @@ -1,3 +0,0 @@ -# list of scancodes (hex or decimal), optional comment -0xd8 # Touchpad off -0xd9 # Touchpad on diff --git a/keymaps-force-release/samsung-other b/keymaps-force-release/samsung-other deleted file mode 100644 index e9627af88..000000000 --- a/keymaps-force-release/samsung-other +++ /dev/null @@ -1,10 +0,0 @@ -# list of scancodes (hex or decimal), optional comment -0x82 # Fn+F4 CRT/LCD -0x83 # Fn+F2 battery -0x84 # Fn+F5 backlight on/off -0x86 # Fn+F9 WLAN -0x88 # Fn+Up brightness up -0x89 # Fn+Down brightness down -0xB3 # Fn+F8 switch power mode (battery/dynamic/performance) -0xF7 # Fn+F10 Touchpad on -0xF9 # Fn+F10 Touchpad off diff --git a/keymaps-force-release/samsung-series-3 b/keymaps-force-release/samsung-series-3 deleted file mode 100644 index 63707508a..000000000 --- a/keymaps-force-release/samsung-series-3 +++ /dev/null @@ -1,2 +0,0 @@ -0xCE # Fn+F1 launch control setting -0xD5 # Fn+F12 Wi-Fi toggle diff --git a/keymaps-force-release/samsung-series-9 b/keymaps-force-release/samsung-series-9 deleted file mode 100644 index fa6a0b1d1..000000000 --- a/keymaps-force-release/samsung-series-9 +++ /dev/null @@ -1,6 +0,0 @@ -# list of scancodes (hex or decimal), optional comment -0xCE # Fn+F8 keyboard backlight up -0x8D # Fn+F7 keyboard backlight down -0x97 # Fn+F12 Wi-Fi toggle -0x96 # Fn+F1 performance mode (?) -0xD5 # Fn+F6 battery life extender diff --git a/keymaps/Makefile.README b/keymaps/Makefile.README deleted file mode 100644 index 18bd33469..000000000 --- a/keymaps/Makefile.README +++ /dev/null @@ -1,3 +0,0 @@ -Because of the parsing done by src/keymap/check-keymaps.sh, -you should not put anything in this directory except for -keymap files and files begining with Makefile. diff --git a/keymaps/Makefile.am b/keymaps/Makefile.am deleted file mode 100644 index 10fcd7274..000000000 --- a/keymaps/Makefile.am +++ /dev/null @@ -1,73 +0,0 @@ -ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} - -KEYMAPS = \ - acer \ - acer-aspire_5720 \ - acer-aspire_8930 \ - acer-aspire_5920g \ - acer-aspire_6920 \ - acer-travelmate_c300 \ - asus \ - compaq-e_evo \ - dell \ - dell-latitude-xt2 \ - everex-xt5000 \ - fujitsu-amilo_li_2732 \ - fujitsu-amilo_pa_2548 \ - fujitsu-amilo_pro_edition_v3505 \ - fujitsu-amilo_pro_v3205 \ - fujitsu-amilo_si_1520 \ - fujitsu-esprimo_mobile_v5 \ - fujitsu-esprimo_mobile_v6 \ - genius-slimstar-320 \ - hewlett-packard \ - hewlett-packard-2510p_2530p \ - hewlett-packard-compaq_elitebook \ - hewlett-packard-pavilion \ - hewlett-packard-presario-2100 \ - hewlett-packard-tablet \ - hewlett-packard-tx2 \ - hewlett-packard_elitebook-8440p \ - hewlett-packard_elitebook-8460p \ - hewlett-packard-hdx9494nr \ - ibm-thinkpad-usb-keyboard-trackpoint \ - inventec-symphony_6.0_7.0 \ - lenovo-3000 \ - lenovo-ideapad \ - lenovo-thinkpad-usb-keyboard-trackpoint \ - lenovo-thinkpad_x6_tablet \ - lenovo-thinkpad_x200_tablet \ - lg-x110 \ - logitech-usb \ - logitech-wave \ - logitech-wave-cordless \ - logitech-wave-pro-cordless \ - maxdata-pro_7000 \ - medion-fid2060 \ - medionnb-a555 \ - micro-star \ - module-asus-w3j \ - module-ibm \ - module-lenovo \ - module-sony \ - module-sony-old \ - module-sony-vgn \ - module-sony-vpc \ - olpc-xo \ - onkyo \ - oqo-model2 \ - samsung-other \ - samsung-series-3 \ - samsung-series-9 \ - samsung-sq1us \ - samsung-sx20s \ - toshiba-satellite_a100 \ - toshiba-satellite_a110 \ - toshiba-satellite_m30x \ - zepto-znote - -dist_udevkeymap_DATA = \ - $(KEYMAPS) - -EXTRA_DIST = \ - $(KEYMAPS) diff --git a/keymaps/acer b/keymaps/acer deleted file mode 100644 index a0c6fd278..000000000 --- a/keymaps/acer +++ /dev/null @@ -1,22 +0,0 @@ -0xA5 help # Fn+F1 -0xA6 setup # Fn+F2 Acer eSettings -0xA7 battery # Fn+F3 Power Management -0xA9 switchvideomode # Fn+F5 -0xB3 euro -0xB4 dollar -0xCE brightnessup # Fn+Right -0xD4 bluetooth # (toggle) off-to-on -0xD5 wlan # (toggle) on-to-off -0xD6 wlan # (toggle) off-to-on -0xD7 bluetooth # (toggle) on-to-off -0xD8 bluetooth # (toggle) off-to-on -0xD9 brightnessup # Fn+Right -0xEE brightnessup # Fn+Right -0xEF brightnessdown # Fn+Left -0xF1 f22 # Fn+F7 Touchpad toggle (off-to-on) -0xF2 f23 # Fn+F7 Touchpad toggle (on-to-off) -0xF3 prog2 # "P2" programmable button -0xF4 prog1 # "P1" programmable button -0xF5 presentation -0xF8 fn -0xF9 f23 # Launch NTI shadow diff --git a/keymaps/acer-aspire_5720 b/keymaps/acer-aspire_5720 deleted file mode 100644 index b9381f86c..000000000 --- a/keymaps/acer-aspire_5720 +++ /dev/null @@ -1,5 +0,0 @@ -0x84 bluetooth # sent when bluetooth module missing, and key pressed -0x92 media # Acer arcade -0xD4 bluetooth # Bluetooth on -0xD9 bluetooth # Bluetooth off -0xF4 prog3 # e-key diff --git a/keymaps/acer-aspire_5920g b/keymaps/acer-aspire_5920g deleted file mode 100644 index 633c4e854..000000000 --- a/keymaps/acer-aspire_5920g +++ /dev/null @@ -1,5 +0,0 @@ -0x8A media -0x92 media -0xA6 setup -0xB2 www -0xD9 bluetooth # (toggle) on-to-off diff --git a/keymaps/acer-aspire_6920 b/keymaps/acer-aspire_6920 deleted file mode 100644 index 699c954b4..000000000 --- a/keymaps/acer-aspire_6920 +++ /dev/null @@ -1,5 +0,0 @@ -0xD9 bluetooth # (toggle) on-to-off -0x92 media -0x9E back -0x83 rewind -0x89 fastforward diff --git a/keymaps/acer-aspire_8930 b/keymaps/acer-aspire_8930 deleted file mode 100644 index 8e36cd947..000000000 --- a/keymaps/acer-aspire_8930 +++ /dev/null @@ -1,5 +0,0 @@ -0xCA prog3 # key 'HOLD' on CineDash Media Console -0x83 rewind -0x89 fastforward -0x92 media # key 'ARCADE' on CineDash Media Console -0x9E back diff --git a/keymaps/acer-travelmate_c300 b/keymaps/acer-travelmate_c300 deleted file mode 100644 index bfef4cf86..000000000 --- a/keymaps/acer-travelmate_c300 +++ /dev/null @@ -1,5 +0,0 @@ -0x67 f24 # FIXME: rotate screen -0x68 up -0x69 down -0x6B fn -0x6C screenlock # FIXME: lock tablet device/buttons diff --git a/keymaps/asus b/keymaps/asus deleted file mode 100644 index 2a5995f98..000000000 --- a/keymaps/asus +++ /dev/null @@ -1,3 +0,0 @@ -0xED volumeup -0xEE volumedown -0xEF mute diff --git a/keymaps/compaq-e_evo b/keymaps/compaq-e_evo deleted file mode 100644 index 5fbc573aa..000000000 --- a/keymaps/compaq-e_evo +++ /dev/null @@ -1,4 +0,0 @@ -0xA3 www # I key -0x9A search -0x9E email -0x9F homepage diff --git a/keymaps/dell b/keymaps/dell deleted file mode 100644 index cef41d3e7..000000000 --- a/keymaps/dell +++ /dev/null @@ -1,29 +0,0 @@ -0x81 playpause # Play/Pause -0x82 stopcd # Stop -0x83 previoussong # Previous song -0x84 nextsong # Next song -0x85 brightnessdown # Fn+Down Brightness Down -0x86 brightnessup # Fn+Up Brightness Up -0x87 battery # Fn+F3 battery icon -0x88 unknown # Fn+F2 Turn On/Off Wireless - handled in hardware -0x89 ejectclosecd # Fn+F10 Eject CD -0x8A suspend # Fn+F1 hibernate -0x8B switchvideomode # Fn+F8 CRT/LCD (high keycode: "displaytoggle") -0x8C f23 # Fn+Right Auto Brightness -0x8F switchvideomode # Fn+F7 aspect ratio -0x90 previoussong # Front panel previous song -0x91 prog1 # Wi-Fi Catcher (Dell-specific) -0x92 media # MediaDirect button (house icon) -0x93 f23 # FIXME Fn+Left Auto Brightness -0x95 camera # Shutter button - Takes a picture if optional camera available -0x97 email # Tablet email button -0x98 f21 # FIXME: Tablet screen rotation -0x99 nextsong # Front panel next song -0x9A setup # Tablet tools button -0x9B switchvideomode # Display toggle button -0x9E f21 # Touchpad toggle -0xA2 playpause # Front panel play/pause -0xA4 stopcd # Front panel stop -0xED media # MediaDirect button -0xD8 screenlock # FIXME: Tablet lock button -0xD9 f21 # Touchpad toggle diff --git a/keymaps/dell-latitude-xt2 b/keymaps/dell-latitude-xt2 deleted file mode 100644 index 59ff6ff26..000000000 --- a/keymaps/dell-latitude-xt2 +++ /dev/null @@ -1,4 +0,0 @@ -0x9B up # tablet rocker up -0x9E enter # tablet rocker press -0x9F back # tablet back -0xA3 down # tablet rocker down diff --git a/keymaps/everex-xt5000 b/keymaps/everex-xt5000 deleted file mode 100644 index bd89a23d3..000000000 --- a/keymaps/everex-xt5000 +++ /dev/null @@ -1,7 +0,0 @@ -0x5C media -0x65 f21 # Fn+F5 Touchpad toggle -0x67 prog3 # Fan speed control button -0x6F brightnessup -0x7F brightnessdown -0xB2 www -0xEC mail diff --git a/keymaps/fujitsu-amilo_li_2732 b/keymaps/fujitsu-amilo_li_2732 deleted file mode 100644 index c9b3198d1..000000000 --- a/keymaps/fujitsu-amilo_li_2732 +++ /dev/null @@ -1,3 +0,0 @@ -0xD9 brightnessdown # Fn+F8 brightness down -0xEF brightnessup # Fn+F9 brightness up -0xA9 switchvideomode # Fn+F10 Cycle between available video outputs diff --git a/keymaps/fujitsu-amilo_pa_2548 b/keymaps/fujitsu-amilo_pa_2548 deleted file mode 100644 index f7b0c5244..000000000 --- a/keymaps/fujitsu-amilo_pa_2548 +++ /dev/null @@ -1,3 +0,0 @@ -0xE0 volumedown -0xE1 volumeup -0xE5 prog1 diff --git a/keymaps/fujitsu-amilo_pro_edition_v3505 b/keymaps/fujitsu-amilo_pro_edition_v3505 deleted file mode 100644 index fd95b000c..000000000 --- a/keymaps/fujitsu-amilo_pro_edition_v3505 +++ /dev/null @@ -1,4 +0,0 @@ -0xA5 help # Fn+F1 -0xA9 switchvideomode # Fn+F3 -0xD9 brightnessdown # Fn+F8 -0xE0 brightnessup # Fn+F9 diff --git a/keymaps/fujitsu-amilo_pro_v3205 b/keymaps/fujitsu-amilo_pro_v3205 deleted file mode 100644 index 8cbf23946..000000000 --- a/keymaps/fujitsu-amilo_pro_v3205 +++ /dev/null @@ -1,2 +0,0 @@ -0xF4 f21 # FIXME: silent-mode decrease CPU/GPU clock -0xF7 switchvideomode # Fn+F3 diff --git a/keymaps/fujitsu-amilo_si_1520 b/keymaps/fujitsu-amilo_si_1520 deleted file mode 100644 index 1419bd9b5..000000000 --- a/keymaps/fujitsu-amilo_si_1520 +++ /dev/null @@ -1,6 +0,0 @@ -0xE1 wlan -0xF3 wlan -0xEE brightnessdown -0xE0 brightnessup -0xE2 bluetooth -0xF7 video diff --git a/keymaps/fujitsu-esprimo_mobile_v5 b/keymaps/fujitsu-esprimo_mobile_v5 deleted file mode 100644 index d3d056b36..000000000 --- a/keymaps/fujitsu-esprimo_mobile_v5 +++ /dev/null @@ -1,4 +0,0 @@ -0xA9 switchvideomode -0xD9 brightnessdown -0xDF sleep -0xEF brightnessup diff --git a/keymaps/fujitsu-esprimo_mobile_v6 b/keymaps/fujitsu-esprimo_mobile_v6 deleted file mode 100644 index 52c70c50c..000000000 --- a/keymaps/fujitsu-esprimo_mobile_v6 +++ /dev/null @@ -1,2 +0,0 @@ -0xCE brightnessup -0xEF brightnessdown diff --git a/keymaps/genius-slimstar-320 b/keymaps/genius-slimstar-320 deleted file mode 100644 index d0a3656dd..000000000 --- a/keymaps/genius-slimstar-320 +++ /dev/null @@ -1,35 +0,0 @@ -# Genius SlimStar 320 -# -# Only buttons which are not properly mapped yet are configured below - -# "Scroll wheel", a circular up/down/left/right button. Aimed for scolling, -# but since there are no scrollleft/scrollright, let's map to back/forward. -0x900f0 scrollup -0x900f1 scrolldown -0x900f3 back -0x900f2 forward - -# Multimedia buttons, left side (from left to right) -# [W] -0x900f5 wordprocessor -# [Ex] -0x900f6 spreadsheet -# [P] -0x900f4 presentation -# Other five (calculator, playpause, stop, mute and eject) are OK - -# Right side, from left to right -# [e] -0xc0223 www -# "man" -0x900f7 chat -# "Y" -0x900fb prog1 -# [X] -0x900f8 close -# "picture" -0x900f9 graphicseditor -# "two windows" -0x900fd scale -# "lock" -0x900fc screenlock diff --git a/keymaps/hewlett-packard b/keymaps/hewlett-packard deleted file mode 100644 index 3f5f5ace6..000000000 --- a/keymaps/hewlett-packard +++ /dev/null @@ -1,12 +0,0 @@ -0x81 fn_esc -0x89 battery # Fn+F8 -0x8A screenlock # Fn+F6 -0x8B camera -0x8C media # music -0x8E dvd -0xB1 help -0xB3 f23 # FIXME: Auto brightness -0xD7 wlan -0x92 brightnessdown # Fn+F7 (Fn+F9 on 6730b) -0x97 brightnessup # Fn+F8 (Fn+F10 on 6730b) -0xEE switchvideomode # Fn+F4 diff --git a/keymaps/hewlett-packard-2510p_2530p b/keymaps/hewlett-packard-2510p_2530p deleted file mode 100644 index 41ad2e9b5..000000000 --- a/keymaps/hewlett-packard-2510p_2530p +++ /dev/null @@ -1,2 +0,0 @@ -0xD8 f23 # touchpad off -0xD9 f22 # touchpad on diff --git a/keymaps/hewlett-packard-compaq_elitebook b/keymaps/hewlett-packard-compaq_elitebook deleted file mode 100644 index 42007c548..000000000 --- a/keymaps/hewlett-packard-compaq_elitebook +++ /dev/null @@ -1,2 +0,0 @@ -0x88 presentation -0xD9 help # I key (high keycode: "info") diff --git a/keymaps/hewlett-packard-hdx9494nr b/keymaps/hewlett-packard-hdx9494nr deleted file mode 100644 index 39e8b4c9f..000000000 --- a/keymaps/hewlett-packard-hdx9494nr +++ /dev/null @@ -1,3 +0,0 @@ -0xB2 www # Fn+F3 -0xD8 f23 # touchpad off -0xD9 f22 # touchpad on diff --git a/keymaps/hewlett-packard-pavilion b/keymaps/hewlett-packard-pavilion deleted file mode 100644 index 60d119110..000000000 --- a/keymaps/hewlett-packard-pavilion +++ /dev/null @@ -1,3 +0,0 @@ -0x88 media # FIXME: quick play -0xD8 f23 # touchpad off -0xD9 f22 # touchpad on diff --git a/keymaps/hewlett-packard-presario-2100 b/keymaps/hewlett-packard-presario-2100 deleted file mode 100644 index 1df39dcbd..000000000 --- a/keymaps/hewlett-packard-presario-2100 +++ /dev/null @@ -1,3 +0,0 @@ -0xF0 help -0xF1 screenlock -0xF3 search diff --git a/keymaps/hewlett-packard-tablet b/keymaps/hewlett-packard-tablet deleted file mode 100644 index d19005ab9..000000000 --- a/keymaps/hewlett-packard-tablet +++ /dev/null @@ -1,6 +0,0 @@ -0x82 prog2 # Funny Key -0x83 prog1 # Q -0x84 tab -0x85 esc -0x86 pageup -0x87 pagedown diff --git a/keymaps/hewlett-packard-tx2 b/keymaps/hewlett-packard-tx2 deleted file mode 100644 index 36a690fcf..000000000 --- a/keymaps/hewlett-packard-tx2 +++ /dev/null @@ -1,3 +0,0 @@ -0xC2 media -0xD8 f23 # Toggle touchpad button on tx2 (OFF) -0xD9 f22 # Toggle touchpad button on tx2 (ON) diff --git a/keymaps/hewlett-packard_elitebook-8440p b/keymaps/hewlett-packard_elitebook-8440p deleted file mode 100644 index e0c2a1a85..000000000 --- a/keymaps/hewlett-packard_elitebook-8440p +++ /dev/null @@ -1,5 +0,0 @@ -0x88 www -0xA0 mute -0xAE volumedown -0xB0 volumeup -0xEC mail diff --git a/keymaps/hewlett-packard_elitebook-8460p b/keymaps/hewlett-packard_elitebook-8460p deleted file mode 100644 index 59035f400..000000000 --- a/keymaps/hewlett-packard_elitebook-8460p +++ /dev/null @@ -1,3 +0,0 @@ -0xF8 wlan # Wireless HW switch button -0xB3 prog1 # Fn+F11 - Ambient Light Sensor button -0xB1 prog2 # Fn+ESC - System information button diff --git a/keymaps/ibm-thinkpad-usb-keyboard-trackpoint b/keymaps/ibm-thinkpad-usb-keyboard-trackpoint deleted file mode 100644 index 027e50bf8..000000000 --- a/keymaps/ibm-thinkpad-usb-keyboard-trackpoint +++ /dev/null @@ -1,7 +0,0 @@ -0x900f0 screenlock -0x900f1 wlan -0x900f2 switchvideomode -0x900f3 suspend -0x900f4 brightnessup -0x900f5 brightnessdown -0x900f8 zoom diff --git a/keymaps/inventec-symphony_6.0_7.0 b/keymaps/inventec-symphony_6.0_7.0 deleted file mode 100644 index 4a8b4ba5a..000000000 --- a/keymaps/inventec-symphony_6.0_7.0 +++ /dev/null @@ -1,2 +0,0 @@ -0xF3 prog2 -0xF4 prog1 diff --git a/keymaps/lenovo-3000 b/keymaps/lenovo-3000 deleted file mode 100644 index 7973369a9..000000000 --- a/keymaps/lenovo-3000 +++ /dev/null @@ -1,5 +0,0 @@ -0x8B switchvideomode # Fn+F7 video -0x96 wlan # Fn+F5 wireless -0x97 sleep # Fn+F4 suspend -0x98 suspend # Fn+F12 hibernate -0xB4 prog1 # Lenovo Care diff --git a/keymaps/lenovo-ideapad b/keymaps/lenovo-ideapad deleted file mode 100644 index 0de16466b..000000000 --- a/keymaps/lenovo-ideapad +++ /dev/null @@ -1,8 +0,0 @@ -# Key codes observed on S10-3, assumed valid on other IdeaPad models -0x81 rfkill # does nothing in BIOS -0x83 display_off # BIOS toggles screen state -0xB9 brightnessup # does nothing in BIOS -0xBA brightnessdown # does nothing in BIOS -0xF1 camera # BIOS toggles camera power -0xf2 f21 # touchpad toggle (key alternately emits F2 and F3) -0xf3 f21 diff --git a/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint b/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint deleted file mode 100644 index 78701acbc..000000000 --- a/keymaps/lenovo-thinkpad-usb-keyboard-trackpoint +++ /dev/null @@ -1,13 +0,0 @@ -0x90012 screenlock # Fn+F2 -0x90013 battery # Fn+F3 -0x90014 wlan # Fn+F5 -0x90016 switchvideomode # Fn+F7 -0x90017 f21 # Fn+F8 touchpad toggle -0x90019 suspend # Fn+F12 -0x9001A brightnessup # Fn+Home -0x9001B brightnessdown # Fn+End -0x9001D zoom # Fn+Space -0x90011 prog1 # ThinkVantage button - -0x90015 camera # Fn+F6 headset/camera VoIP key ?? -0x90010 f20 # Microphone mute button; should be micmute, but see https://mail.gnome.org/archives/commits-list/2013-January/msg05822.html diff --git a/keymaps/lenovo-thinkpad_x200_tablet b/keymaps/lenovo-thinkpad_x200_tablet deleted file mode 100644 index f22ec65a5..000000000 --- a/keymaps/lenovo-thinkpad_x200_tablet +++ /dev/null @@ -1,6 +0,0 @@ -0x5D menu -0x63 fn -0x66 screenlock -0x67 cyclewindows # bezel circular arrow -0x68 setup # bezel setup / menu -0x6c direction # rotate screen diff --git a/keymaps/lenovo-thinkpad_x6_tablet b/keymaps/lenovo-thinkpad_x6_tablet deleted file mode 100644 index 49c5f64f4..000000000 --- a/keymaps/lenovo-thinkpad_x6_tablet +++ /dev/null @@ -1,8 +0,0 @@ -0x6C f21 # rotate -0x68 screenlock # screenlock -0x6B esc # escape -0x6D right # right on d-pad -0x6E left # left on d-pad -0x71 up # up on d-pad -0x6F down # down on d-pad -0x69 enter # enter on d-pad diff --git a/keymaps/lg-x110 b/keymaps/lg-x110 deleted file mode 100644 index bbc29a13e..000000000 --- a/keymaps/lg-x110 +++ /dev/null @@ -1,12 +0,0 @@ -0xA0 mute # Fn+F9 -0xAE volumedown # Fn+Left -0xAF search # Fn+F3 -0xB0 volumeup # Fn+Right -0xB1 battery # Fn+F10 Info -0xB3 suspend # Fn+F12 -0xDF sleep # Fn+F4 -# 0xE2 bluetooth # satellite dish2 -0xE4 f21 # Fn+F5 Touchpad toggle -0xF6 wlan # Fn+F6 -0xF7 reserved # Fn+Down brightness down -0xF8 reserved # Fn+Up brightness up diff --git a/keymaps/logitech-usb b/keymaps/logitech-usb deleted file mode 100644 index b575aa7c4..000000000 --- a/keymaps/logitech-usb +++ /dev/null @@ -1,6 +0,0 @@ -0x90001 shop # Shopping -0x90002 config # iTouch -0x90003 finance # Finance -0x90004 prog1 # My Sites -0x90005 prog2 # Community -0xC0183 media # Media diff --git a/keymaps/logitech-wave b/keymaps/logitech-wave deleted file mode 100644 index 781dbe26f..000000000 --- a/keymaps/logitech-wave +++ /dev/null @@ -1,16 +0,0 @@ -0x9001C scale # expo -0x9001F zoomout # zoom out -0x90020 zoomin # zoom in -0x9003D prog1 # gadget -0x90005 camera # camera -0x90018 media # media center -0x90041 wordprocessor # Fn+F1 (Word) -0x90042 spreadsheet # Fn+F2 (Excel) -0x90043 calendar # Fn+F3 (calendar) -0x90044 prog2 # Fn+F4 (program a) -0x90045 prog3 # Fn+F5 (program b) -0x90046 prog4 # Fn+F6 (program c) -0x90048 messenger # Fn+F8 (MSN messenger) -0x9002D find # Fn+F10 (search www) -0x9004B search # Fn+F11 (search PC) -0x9004C ejectclosecd # Fn+F12 (eject) diff --git a/keymaps/logitech-wave-cordless b/keymaps/logitech-wave-cordless deleted file mode 100644 index b40c4dbff..000000000 --- a/keymaps/logitech-wave-cordless +++ /dev/null @@ -1,15 +0,0 @@ -0xD4 zoomin -0xCC zoomout -0xC0183 media -0xC1005 camera -0xC101F zoomout -0xC1020 zoomin -0xC1041 wordprocessor -0xC1042 spreadsheet -0xC1043 calendar -0xC1044 prog2 # Fn+F4 (program a) -0xC1045 prog3 # Fn+F5 (program b) -0xC1046 prog4 # Fn+F6 (program c) -0xC1048 messenger -0xC104A find # Fn+F10 (search www) -0xC104C ejectclosecd diff --git a/keymaps/logitech-wave-pro-cordless b/keymaps/logitech-wave-pro-cordless deleted file mode 100644 index e7aa02206..000000000 --- a/keymaps/logitech-wave-pro-cordless +++ /dev/null @@ -1,12 +0,0 @@ -0xC01B6 camera -0xC0183 media -0xC0184 wordprocessor -0xC0186 spreadsheet -0xC018E calendar -0xC0223 homepage -0xC01BC messenger -0xC018A mail -0xC0221 search -0xC00B8 ejectcd -0xC022D zoomin -0xC022E zoomout diff --git a/keymaps/maxdata-pro_7000 b/keymaps/maxdata-pro_7000 deleted file mode 100644 index 0d5bbf3ce..000000000 --- a/keymaps/maxdata-pro_7000 +++ /dev/null @@ -1,9 +0,0 @@ -0x97 prog2 -0x9F prog1 -0xA0 mute # Fn+F5 -0x82 www -0xEC email -0xAE volumedown # Fn+Down -0xB0 volumeup # Fn+Up -0xDF suspend # Fn+F2 -0xF5 help diff --git a/keymaps/medion-fid2060 b/keymaps/medion-fid2060 deleted file mode 100644 index 75b1647e4..000000000 --- a/keymaps/medion-fid2060 +++ /dev/null @@ -1,2 +0,0 @@ -0x6B channeldown # Thottle Down -0x6D channelup # Thottle Up diff --git a/keymaps/medionnb-a555 b/keymaps/medionnb-a555 deleted file mode 100644 index b69618308..000000000 --- a/keymaps/medionnb-a555 +++ /dev/null @@ -1,4 +0,0 @@ -0x63 www # N button -0x66 prog1 # link 1 button -0x67 email # envelope button -0x69 prog2 # link 2 button diff --git a/keymaps/micro-star b/keymaps/micro-star deleted file mode 100644 index c283cde8b..000000000 --- a/keymaps/micro-star +++ /dev/null @@ -1,13 +0,0 @@ -0xA0 mute # Fn+F9 -0xAE volumedown # Fn+F7 -0xB0 volumeup # Fn+F8 -0xB2 www # e button -0xDF sleep # Fn+F12 -0xE2 bluetooth # satellite dish2 -0xE4 f21 # Fn+F3 Touchpad disable -0xEC email # envelope button -0xEE camera # Fn+F6 camera disable -0xF6 wlan # satellite dish1 -0xF7 brightnessdown # Fn+F4 -0xF8 brightnessup # Fn+F5 -0xF9 search diff --git a/keymaps/module-asus-w3j b/keymaps/module-asus-w3j deleted file mode 100644 index 773e0b3e8..000000000 --- a/keymaps/module-asus-w3j +++ /dev/null @@ -1,11 +0,0 @@ -0x41 nextsong -0x45 playpause -0x43 stopcd -0x40 previoussong -0x4C ejectclosecd -0x32 mute -0x31 volumedown -0x30 volumeup -0x5D wlan -0x7E bluetooth -0x8A media # high keycode: "tv" diff --git a/keymaps/module-ibm b/keymaps/module-ibm deleted file mode 100644 index ee61b6cf3..000000000 --- a/keymaps/module-ibm +++ /dev/null @@ -1,16 +0,0 @@ -0x01 battery # Fn+F2 -0x02 screenlock # Fn+F3 -0x03 sleep # Fn+F4 -0x04 wlan # Fn+F5 -0x06 switchvideomode # Fn+F7 -0x07 zoom # Fn+F8 screen expand -0x08 f24 # Fn+F9 undock -0x0B suspend # Fn+F12 -0x0F brightnessup # Fn+Home -0x10 brightnessdown # Fn+End -0x11 kbdillumtoggle # Fn+PgUp - ThinkLight -0x13 zoom # Fn+Space -0x14 volumeup -0x15 volumedown -0x16 mute -0x17 prog1 # ThinkPad/ThinkVantage button (high keycode: "vendor") diff --git a/keymaps/module-lenovo b/keymaps/module-lenovo deleted file mode 100644 index ed31899d0..000000000 --- a/keymaps/module-lenovo +++ /dev/null @@ -1,17 +0,0 @@ -0x1 screenlock # Fn+F2 -0x2 battery # Fn+F3 -0x3 sleep # Fn+F4 -0x4 wlan # Fn+F5 -0x6 switchvideomode # Fn+F7 -0x7 f21 # Fn+F8 touchpadtoggle -0x8 f24 # Fn+F9 undock -0xB suspend # Fn+F12 -0xF brightnessup # Fn+Home -0x10 brightnessdown # Fn+End -0x11 kbdillumtoggle # Fn+PgUp - ThinkLight -0x13 zoom # Fn+Space -0x14 volumeup -0x15 volumedown -0x16 mute -0x17 prog1 # ThinkPad/ThinkVantage button (high keycode: "vendor") -0x1A f20 # Microphone mute button; should be micmute, but see https://mail.gnome.org/archives/commits-list/2013-January/msg05822.html diff --git a/keymaps/module-sony b/keymaps/module-sony deleted file mode 100644 index 5d3742b46..000000000 --- a/keymaps/module-sony +++ /dev/null @@ -1,8 +0,0 @@ -0x06 mute # Fn+F2 -0x07 volumedown # Fn+F3 -0x08 volumeup # Fn+F4 -0x09 brightnessdown # Fn+F5 -0x0A brightnessup # Fn+F6 -0x0B switchvideomode # Fn+F7 -0x0E zoom # Fn+F10 -0x10 suspend # Fn+F12 diff --git a/keymaps/module-sony-old b/keymaps/module-sony-old deleted file mode 100644 index 596a34258..000000000 --- a/keymaps/module-sony-old +++ /dev/null @@ -1,2 +0,0 @@ -0x06 battery -0x07 mute diff --git a/keymaps/module-sony-vgn b/keymaps/module-sony-vgn deleted file mode 100644 index cb4ce3371..000000000 --- a/keymaps/module-sony-vgn +++ /dev/null @@ -1,8 +0,0 @@ -0x00 brightnessdown # Fn+F5 -0x10 brightnessup # Fn+F6 -0x11 switchvideomode # Fn+F7 -0x12 zoomout -0x14 zoomin -0x15 suspend # Fn+F12 -0x17 prog1 -0x20 media diff --git a/keymaps/module-sony-vpc b/keymaps/module-sony-vpc deleted file mode 100644 index 1b5277953..000000000 --- a/keymaps/module-sony-vpc +++ /dev/null @@ -1,4 +0,0 @@ -# 0x05 touchpad_toggle # fn_f1 -> KEY_TOUCHPAD_TOGGLE -0x05 f21 # fn_f1 -> KEY_F21 (The actual touchpad toggle) -0x0d zoomout # fn_f9 -0x0e zoomin # fn_f10 diff --git a/keymaps/olpc-xo b/keymaps/olpc-xo deleted file mode 100644 index 0fa497211..000000000 --- a/keymaps/olpc-xo +++ /dev/null @@ -1,74 +0,0 @@ -0x59 fn -0x81 fn_esc -0xF9 camera -0xF8 sound # Fn+CAMERA = Mic - - -# Function key mappings, as per -# http://dev.laptop.org/ticket/10213#comment:20 -# -# Unmodified F1-F8 produce F1-F8, so no remap necessary. -# Unmodified F9-F12 control brightness and volume. -0x43 brightnessdown -0x44 brightnessup -0x57 volumedown -0x58 volumeup - -# Fn-modified fkeys all produce the unmodified version of the key. -0xBB f1 -0xBC f2 -0xBD f3 -0xBE f4 -0xBF f5 -0xC0 f6 -0xC1 f7 -0xC2 f8 -0xC3 f9 -0xC4 f10 -0xD7 f11 -0xD8 f12 - - -# Using F13-F21 for the .5 F keys right now. -0xF7 f13 -0xF6 f14 -0xF5 f15 -0xF4 f16 -0xF3 f17 -0xF2 f18 -0xF1 f19 -0xF0 f20 -0xEF f21 - -0xEE chat -0xE4 chat # Just mapping Fn+Chat to Chat for now -0xDD menu # Frame -0xDA prog1 # Fn+Frame - -# The Fn of some keys is other keys -0xD3 delete -0xD2 insert -0xC9 pageup -0xD1 pagedown -0xC7 home -0xCF end - -# Language key - don't ask what they are doing as KEY_HP -0x73 hp -0x7E hp - -0xDB leftmeta # left grab -0xDC rightmeta # right grab -0x85 rightmeta # Right grab releases on a different scancode -0xD6 kbdillumtoggle # Fn+Space -0x69 switchvideomode # Brightness key - -# Game keys -0x65 kp8 # up -0x66 kp2 # down -0x67 kp4 # left -0x68 kp6 # right -0xE5 kp9 # pgup -0xE6 kp3 # pgdn -0xE7 kp7 # home -0xE8 kp1 # end diff --git a/keymaps/onkyo b/keymaps/onkyo deleted file mode 100644 index 8fc4cffa9..000000000 --- a/keymaps/onkyo +++ /dev/null @@ -1,14 +0,0 @@ -0xA0 mute # Fn+D -0xAE volumedown # Fn+F -0xB0 volumeup # Fn+G -0xDF sleep # Fn+W -0xE0 bluetooth # Fn+H -0xE2 cyclewindows # Fn+Esc -0xEE battery # Fn+Q -0xF0 media # Fn+R -0xF5 switchvideomode # Fn+E -0xF6 camera # Fn+T -0xF7 f21 # Fn+Y (touchpad toggle) -0xF8 brightnessup # Fn+S -0xF9 brightnessdown # Fn+A -0xFB wlan # Fn+J diff --git a/keymaps/oqo-model2 b/keymaps/oqo-model2 deleted file mode 100644 index b7f4851ab..000000000 --- a/keymaps/oqo-model2 +++ /dev/null @@ -1,5 +0,0 @@ -0x8E wlan -0xF0 switchvideomode -0xF1 mute -0xF2 volumedown -0xF3 volumeup diff --git a/keymaps/samsung-other b/keymaps/samsung-other deleted file mode 100644 index d950c2cbd..000000000 --- a/keymaps/samsung-other +++ /dev/null @@ -1,14 +0,0 @@ -0x74 prog1 # User key -0x75 www -0x78 mail -0x82 switchvideomode # Fn+F4 CRT/LCD (high keycode: "displaytoggle") -0x83 battery # Fn+F2 -0x84 prog1 # Fn+F5 backlight on/off -0x86 wlan # Fn+F9 -0x88 brightnessup # Fn+Up -0x89 brightnessdown # Fn+Down -0xB1 prog2 # Fn+F7 run Samsung Magic Doctor (keypressed event is generated twice) -0xB3 prog3 # Fn+F8 switch power mode (battery/dynamic/performance) -0xB4 wlan # Fn+F9 (X60P) -0xF7 f22 # Fn+F10 Touchpad on -0xF9 f23 # Fn+F10 Touchpad off diff --git a/keymaps/samsung-series-3 b/keymaps/samsung-series-3 deleted file mode 100644 index 303a428b4..000000000 --- a/keymaps/samsung-series-3 +++ /dev/null @@ -1,3 +0,0 @@ -0xCE prog1 # Fn+F1 launch control setting -0xB3 prog2 # Fn+F11 performance mode -0xD5 wlan # Fn+F12 Wi-Fi toggle diff --git a/keymaps/samsung-series-9 b/keymaps/samsung-series-9 deleted file mode 100644 index c0712f02a..000000000 --- a/keymaps/samsung-series-9 +++ /dev/null @@ -1,5 +0,0 @@ -0x96 kbdillumup # Fn+F8 keyboard backlight up -0x97 kbdillumdown # Fn+F7 keyboard backlight down -0xD5 wlan # Fn+F12 Wi-Fi toggle -0xCE prog1 # Fn+F1 performance mode -0x8D prog2 # Fn+F6 battery life extender diff --git a/keymaps/samsung-sq1us b/keymaps/samsung-sq1us deleted file mode 100644 index ea2141ef8..000000000 --- a/keymaps/samsung-sq1us +++ /dev/null @@ -1,7 +0,0 @@ -0xD4 menu -0xD8 f1 -0xD9 f10 -0xD6 f3 -0xD7 f9 -0xE4 f5 -0xEE f11 diff --git a/keymaps/samsung-sx20s b/keymaps/samsung-sx20s deleted file mode 100644 index 9d954ee41..000000000 --- a/keymaps/samsung-sx20s +++ /dev/null @@ -1,4 +0,0 @@ -0x74 mute -0x75 mute -0x77 f22 # Touchpad on -0x79 f23 # Touchpad off diff --git a/keymaps/toshiba-satellite_a100 b/keymaps/toshiba-satellite_a100 deleted file mode 100644 index 22007be71..000000000 --- a/keymaps/toshiba-satellite_a100 +++ /dev/null @@ -1,2 +0,0 @@ -0xA4 stopcd -0xB2 www diff --git a/keymaps/toshiba-satellite_a110 b/keymaps/toshiba-satellite_a110 deleted file mode 100644 index 142940935..000000000 --- a/keymaps/toshiba-satellite_a110 +++ /dev/null @@ -1,10 +0,0 @@ -0x92 stop -0x93 www -0x94 media -0x9E f22 # Touchpad on -0x9F f23 # Touchpad off -0xB9 nextsong -0xD9 brightnessup -0xEE screenlock -0xF4 previoussong -0xF7 playpause diff --git a/keymaps/toshiba-satellite_m30x b/keymaps/toshiba-satellite_m30x deleted file mode 100644 index 26e0bbd93..000000000 --- a/keymaps/toshiba-satellite_m30x +++ /dev/null @@ -1,6 +0,0 @@ -0xef brightnessdown -0xd9 brightnessup -0xee screenlock -0x93 media -0x9e f22 # touchpad enable -0x9f f23 # touchpad disable diff --git a/keymaps/zepto-znote b/keymaps/zepto-znote deleted file mode 100644 index cf72fda47..000000000 --- a/keymaps/zepto-znote +++ /dev/null @@ -1,11 +0,0 @@ -0x93 switchvideomode # Fn+F3 Toggle Video Output -0x95 brightnessdown # Fn+F4 Brightness Down -0x91 brightnessup # Fn+F5 Brightness Up -0xA5 f23 # Fn+F6 Disable Touchpad -0xA6 f22 # Fn+F6 Enable Touchpad -0xA7 bluetooth # Fn+F10 Enable Bluetooth -0XA9 bluetooth # Fn+F10 Disable Bluetooth -0xF1 wlan # RF Switch Off -0xF2 wlan # RF Switch On -0xF4 prog1 # P1 Button -0xF3 prog2 # P2 Button diff --git a/rules/60-keyboard.rules b/rules/60-keyboard.rules new file mode 100644 index 000000000..4e0f3663f --- /dev/null +++ b/rules/60-keyboard.rules @@ -0,0 +1,22 @@ +# do not edit this file, it will be overwritten on update + +ACTION!="add", GOTO="keyboard_end" +KERNEL!="event*", GOTO="keyboard_end" +ENV{ID_INPUT_KEY}=="", GOTO="keyboard_end" + +# ignore all bluetooth devices +SUBSYSTEMS=="bluetooth", GOTO="keyboard_end" + +# import key mapping for USB device +SUBSYSTEMS=="usb", IMPORT{builtin}="hwdb --subsystem=usb --lookup-prefix=keyboard:", \ + RUN{builtin}+="keyboard", GOTO="keyboard_end" + +# import key mapping for AT keyboard from DMI data +DRIVERS=="atkbd", IMPORT{builtin}="hwdb 'keyboard:$attr{[dmi/id]modalias}'", \ + RUN{builtin}+="keyboard", GOTO="keyboard_end" + +# import key mapping for platform input device +KERNELS=="input*", IMPORT{builtin}="hwdb 'keyboard:name:$attr{name}:$attr{[dmi/id]modalias}'", \ + RUN{builtin}+="keyboard", GOTO="keyboard_end" + +LABEL="keyboard_end" diff --git a/rules/Makefile.am b/rules/Makefile.am index c3f2aa828..abc290111 100644 --- a/rules/Makefile.am +++ b/rules/Makefile.am @@ -39,8 +39,7 @@ endif if ENABLE_KEYMAP dist_udevrules_DATA += \ - 95-keymap.rules \ - 95-keyboard-force-release.rules + 60-keyboard.rules endif install-data-local: diff --git a/src/Makefile.am b/src/Makefile.am index dcf5b5433..d6079f051 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -18,8 +18,3 @@ if ENABLE_GUDEV SUBDIRS += \ gudev endif - -if ENABLE_KEYMAP -SUBDIRS += \ - keymap -endif diff --git a/src/keymap/Makefile.am b/src/keymap/Makefile.am deleted file mode 100644 index dcc29e9b6..000000000 --- a/src/keymap/Makefile.am +++ /dev/null @@ -1,58 +0,0 @@ -ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} - -AM_CPPFLAGS = \ - -I $(top_srcdir)/src/libudev \ - -I $(top_srcdir)/src/udev \ - -DUDEV_LIBEXEC_DIR=\"$(udevlibexecdir)\" - -udevlibexec_PROGRAMS = \ - keymap - -keymap_SOURCES = \ - keymap.c - -keymap_CPPFLAGS = \ - $(AM_CPPFLAGS) - -keymap_LDADD = \ - $(top_builddir)/src/udev/libudev-core.la - -nodist_keymap_SOURCES = \ - keys-from-name.h \ - keys-to-name.h - -BUILT_SOURCES = \ - $(nodist_keymap_SOURCES) - -dist_doc_DATA = \ - README.keymap.txt - -dist_udevlibexec_SCRIPTS = \ - findkeyboards \ - keyboard-force-release.sh - -TESTS = \ - check-keymaps.sh - -CLEANFILES = \ - keys.txt \ - keys-from-name.gperf \ - keyboard-force-release.sh \ - $(BUILT_SOURCES) - -EXTRA_DIST = \ - check-keymaps.sh \ - keyboard-force-release.sh.in - -keys.txt: Makefile - $(AM_V_at)$(MKDIR_P) $(dir $@) - $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/input.h - < /dev/null | $(AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@ - -keys-from-name.gperf: keys.txt Makefile - $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print $$1 ", " $$1 }' < $< > $@ - -keys-from-name.h: keys-from-name.gperf Makefile - $(AM_V_GEN)$(GPERF) -L ANSI-C -t --ignore-case -N lookup_key -H hash_key_name -p -C < $< > $@ - -keys-to-name.h: keys.txt Makefile - $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@ diff --git a/src/keymap/README.keymap.txt b/src/keymap/README.keymap.txt deleted file mode 100644 index 2cf2a4e88..000000000 --- a/src/keymap/README.keymap.txt +++ /dev/null @@ -1,97 +0,0 @@ -= The udev keymap tool = - -== Introduction == - -This udev extension configures computer model specific key mappings. This is -particularly necessary for the non-standard extra keys found on many laptops, -such as "brightness up", "next song", "www browser", or "suspend". Often these -are accessed with the Fn key. - -Every key produces a "scan code", which is highly vendor/model specific for the -nonstandard keys. This tool maintains mappings for these scan codes to standard -"key codes", which denote the "meaning" of the key. The key codes are defined -in /usr/include/linux/input.h. - -If some of your keys on your keyboard are not working at all, or produce the -wrong effect, then a very likely cause of this is that the scan code -> key -code mapping is incorrect on your computer. - -== Structure == - -udev-keymap consists of the following parts: - - keymaps/*:: mappings of scan codes to key code names - - 95-keymap.rules:: udev rules for mapping system vendor/product names and - input module names to one of the keymaps above - - keymap:: manipulate an evdev input device: - * write a key map file into a device (used by udev rules) - * dump current scan → key code mapping - * interactively display scan and key codes of pressed keys - - findkeyboards:: display evdev input devices which belong to actual keyboards, - i. e. those suitable for the keymap program - -== Fixing broken keys == - -In order to make a broken key work on your system and send it back to upstream -for inclusion you need to do the following steps: - - 1. Find the keyboard device. - - Run /usr/lib/udev/findkeyboards. This should always give you an "AT - keyboard" and possibly a "module". Some laptops (notably Thinkpads, Sonys, and - Acers) have multimedia/function keys on a separate input device instead of the - primary keyboard. The keyboard device should have a name like "input/event3". - In the following commands, the name will be written as "input/eventX" (replace - X with the appropriate number). - - 2. Find broken scan codes: - - sudo /usr/lib/udev/keymap -i input/eventX - - Press all multimedia/function keys and check if the key name that gets printed - out is plausible. If it is unknown or wrong, write down the scan code (looks - like "0x1E") and the intended functionality of this key. Look in - /usr/include/linux/input.h for an available KEY_XXXXX constant which most - closely approximates this functionality and write it down as the new key code. - - For example, you might press a key labeled "web browser" which currently - produces "unknown". Note down this: - - 0x1E www # Fn+F2 web browser - - Repeat that for all other keys. Write the resulting list into a file. Look at - /usr/lib/udev/keymaps/ for existing key map files and make sure that you use the - same structure. - - If the key only ever works once and then your keyboard (or the entire desktop) - gets stuck for a long time, then it is likely that the BIOS fails to send a - corresponding "key release" event after the key press event. Please note down - this case as well, as it can be worked around in - /usr/lib/udev/keymaps/95-keyboard-force-release.rules . - - 3. Find out your system vendor and product: - - cat /sys/class/dmi/id/sys_vendor - cat /sys/class/dmi/id/product_name - - 4. Generate a device dump with "udevadm info --export-db > /tmp/udev-db.txt". - - 6. Send the system vendor/product names, the key mapping from step 2, - and /tmp/udev-db.txt from step 4 to the linux-hotplug@vger.kernel.org mailing - list, so that they can be included in the next release. - -For local testing, copy your map file to /usr/lib/udev/keymaps/ with an appropriate -name, and add an appropriate udev rule to /usr/lib/udev/rules.d/95-keymap.rules: - - * If you selected an "AT keyboard", add the rule to the section after - 'LABEL="keyboard_vendorcheck"'. - - * If you selected a "module", add the rule to the top section where the - "ThinkPad Extra Buttons" are. - -== Author == - -keymap is written and maintained by Martin Pitt . diff --git a/src/keymap/check-keymaps.sh.in b/src/keymap/check-keymaps.sh.in deleted file mode 100644 index a62b48d4d..000000000 --- a/src/keymap/check-keymaps.sh.in +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -# check that all key names in keymaps/* are known in -# and that all key maps listed in the rules are valid and present in -# Makefile.am - -top_srcdir=@top_srcdir@ -top_builddir=@top_builddir@ - -SRCDIR=${1:-${top_srcdir}} -BUILDDIR=${1:-${top_builddir}} -KEYLIST=${2:-${BUILDDIR}/src/keymap/keys.txt} - -KEYMAPS_DIR=${SRCDIR}/keymaps -KEYMAPS_LIST=$(ls ${KEYMAPS_DIR}/* | grep -v Makefile) -RULES=${SRCDIR}/rules/95-keymap.rules - -[ -e "$KEYLIST" ] || { - echo "need $KEYLIST please build first" >&2 - exit 1 -} - -missing=$(join -v 2 <(awk '{print tolower(substr($1,5))}' $KEYLIST | sort -u) \ - <(grep -hv '^#' ${KEYMAPS_LIST}| awk '{print $2}' | sort -u)) -[ -z "$missing" ] || { - echo "ERROR: unknown key names in keymaps/*:" >&2 - echo "$missing" >&2 - exit 1 -} - -# check that all maps referred to in $RULES exist -maps=$(sed -rn '/keymap \$name/ { s/^.*\$name ([^"[:space:]]+).*$/\1/; p }' $RULES) -for m in $maps; do - # ignore inline mappings - [ "$m" = "${m#0x}" ] || continue - - [ -e ${KEYMAPS_DIR}/$m ] || { - echo "ERROR: unknown map name in $RULES: $m" >&2 - exit 1 - } - grep -q "$m\>" ${SRCDIR}/keymaps/Makefile.am || { - echo "ERROR: map file $m is not added to Makefile.am" >&2 - exit 1 - } -done diff --git a/src/keymap/findkeyboards b/src/keymap/findkeyboards deleted file mode 100755 index c6b50d12d..000000000 --- a/src/keymap/findkeyboards +++ /dev/null @@ -1,68 +0,0 @@ -#!/bin/sh -e -# Find "real" keyboard devices and print their device path. -# Author: Martin Pitt -# -# Copyright (C) 2009, Canonical Ltd. -# -# This program is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. - -# returns OK if $1 contains $2 -strstr() { - [ "${1#*$2*}" != "$1" ] -} - -# returns OK if $1 contains $2 at the beginning -str_starts() { - [ "${1#$2*}" != "$1" ] -} - -str_line_starts() { - while read a; do str_starts "$a" "$1" && return 0;done - return 1; -} - -# print a list of input devices which are keyboard-like -keyboard_devices() { - # standard AT keyboard - for dev in `udevadm trigger --dry-run --verbose --property-match=ID_INPUT_KEYBOARD=1`; do - env=`udevadm info --query=env --path=$dev` - # filter out non-event devices, such as the parent input devices which have no devnode - if ! echo "$env" | str_line_starts 'DEVNAME='; then - continue - fi - walk=`udevadm info --attribute-walk --path=$dev` - if strstr "$walk" 'DRIVERS=="atkbd"'; then - echo -n 'AT keyboard: ' - elif echo "$env" | str_line_starts 'ID_USB_DRIVER=usbhid'; then - echo -n 'USB keyboard: ' - else - echo -n 'Unknown type: ' - fi - udevadm info --query=name --path=$dev - done - - # modules - module=$(udevadm trigger --verbose --dry-run --subsystem-match=input --attr-match=name='*Extra Buttons') - module="$module - $(udevadm trigger --verbose --dry-run --subsystem-match=input --attr-match=name='*extra buttons')" - module="$module - $(udevadm trigger --verbose --dry-run --subsystem-match=input --attr-match=name='Sony Vaio Keys')" - for m in $module; do - for evdev in $m/event*/dev; do - if [ -e "$evdev" ]; then - echo -n 'module: ' - udevadm info --query=name --path=${evdev%%/dev} - fi - done - done -} - -keyboard_devices diff --git a/src/keymap/keyboard-force-release.sh.in b/src/keymap/keyboard-force-release.sh.in deleted file mode 100644 index b82674840..000000000 --- a/src/keymap/keyboard-force-release.sh.in +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -e -# read list of scancodes, convert hex to decimal and -# append to the atkbd force_release sysfs attribute -# $1 sysfs devpath for serioX -# $2 file with scancode list (hex or dec) - -case "$2" in - /*) scf="$2" ;; - *) scf="@udevlibexecdir@/keymaps/force-release/$2" ;; -esac - -read attr <"/sys/$1/force_release" -while read scancode dummy; do - case "$scancode" in - \#*) ;; - *) - scancode=$(($scancode)) - attr="$attr${attr:+,}$scancode" - ;; - esac -done <"$scf" -echo "$attr" >"/sys/$1/force_release" diff --git a/src/keymap/keymap.c b/src/keymap/keymap.c deleted file mode 100644 index 793c53429..000000000 --- a/src/keymap/keymap.c +++ /dev/null @@ -1,453 +0,0 @@ -/* - * keymap - dump keymap of an evdev device or set a new keymap from a file - * - * Based on keyfuzz by Lennart Poettering - * Adapted for udev-extras by Martin Pitt - * - * Copyright (C) 2006, Lennart Poettering - * Copyright (C) 2009, Canonical Ltd. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -static const struct key* lookup_key (const char *str, unsigned int len); - -#include "keys-from-name.h" -#include "keys-to-name.h" -#include "macro.h" -#include "util.h" - -#define MAX_SCANCODES 1024 - -static int evdev_open(const char *dev) -{ - int fd; - char fn[PATH_MAX]; - - if (!startswith(dev, "/dev")) { - snprintf(fn, sizeof(fn), "/dev/%s", dev); - dev = fn; - } - - if ((fd = open(dev, O_RDWR)) < 0) { - fprintf(stderr, "error open('%s'): %m\n", dev); - return -1; - } - return fd; -} - -static int evdev_get_keycode(int fd, unsigned scancode, int e) -{ - unsigned codes[2]; - - codes[0] = scancode; - if (ioctl(fd, EVIOCGKEYCODE, codes) < 0) { - if (e && errno == EINVAL) { - return -2; - } else { - fprintf(stderr, "EVIOCGKEYCODE for scan code 0x%x: %m\n", scancode); - return -1; - } - } - return codes[1]; -} - -static int evdev_set_keycode(int fd, unsigned scancode, int keycode) -{ - unsigned codes[2]; - - codes[0] = scancode; - codes[1] = (unsigned) keycode; - - if (ioctl(fd, EVIOCSKEYCODE, codes) < 0) { - fprintf(stderr, "EVIOCSKEYCODE: %m\n"); - return -1; - } - return 0; -} - -static int evdev_driver_version(int fd, char *v, size_t l) -{ - int version; - - if (ioctl(fd, EVIOCGVERSION, &version)) { - fprintf(stderr, "EVIOCGVERSION: %m\n"); - return -1; - } - - snprintf(v, l, "%i.%i.%i.", version >> 16, (version >> 8) & 0xff, version & 0xff); - return 0; -} - -static int evdev_device_name(int fd, char *n, size_t l) -{ - if (ioctl(fd, EVIOCGNAME(l), n) < 0) { - fprintf(stderr, "EVIOCGNAME: %m\n"); - return -1; - } - return 0; -} - -/* Return a lower-case string with KEY_ prefix removed */ -static const char* format_keyname(const char* key) { - static char result[101]; - const char* s; - int len; - - for (s = key+4, len = 0; *s && len < 100; ++len, ++s) - result[len] = tolower(*s); - result[len] = '\0'; - return result; -} - -static int dump_table(int fd) { - char version[256], name[256]; - unsigned scancode; - int r = -1; - - if (evdev_driver_version(fd, version, sizeof(version)) < 0) - goto fail; - - if (evdev_device_name(fd, name, sizeof(name)) < 0) - goto fail; - - printf("### evdev %s, driver '%s'\n", version, name); - - r = 0; - for (scancode = 0; scancode < MAX_SCANCODES; scancode++) { - int keycode; - - if ((keycode = evdev_get_keycode(fd, scancode, 1)) < 0) { - if (keycode == -2) - continue; - r = -1; - break; - } - - if (keycode < KEY_MAX && key_names[keycode]) - printf("0x%03x %s\n", scancode, format_keyname(key_names[keycode])); - else - printf("0x%03x 0x%03x\n", scancode, keycode); - } -fail: - return r; -} - -static void set_key(int fd, const char* scancode_str, const char* keyname) -{ - unsigned scancode; - char *endptr; - char t[105] = "KEY_UNKNOWN"; - const struct key *k; - - scancode = (unsigned) strtol(scancode_str, &endptr, 0); - if (*endptr != '\0') { - fprintf(stderr, "ERROR: Invalid scancode\n"); - exit(1); - } - - snprintf(t, sizeof(t), "KEY_%s", keyname); - - if (!(k = lookup_key(t, strlen(t)))) { - fprintf(stderr, "ERROR: Unknown key name '%s'\n", keyname); - exit(1); - } - - if (evdev_set_keycode(fd, scancode, k->id) < 0) - fprintf(stderr, "setting scancode 0x%2X to key code %i failed\n", - scancode, k->id); - else - printf("setting scancode 0x%2X to key code %i\n", - scancode, k->id); -} - -static int merge_table(int fd, FILE *f) { - int r = 0; - int line = 0; - - while (!feof(f)) { - char s[256], *p; - unsigned scancode; - int new_keycode, old_keycode; - - if (!fgets(s, sizeof(s), f)) - break; - - line++; - p = s+strspn(s, "\t "); - if (*p == '#' || *p == '\n') - continue; - - if (sscanf(p, "%i %i", &scancode, &new_keycode) != 2) { - char t[105] = "KEY_UNKNOWN"; - const struct key *k; - - if (sscanf(p, "%i %100s", &scancode, t+4) != 2) { - fprintf(stderr, "WARNING: Parse failure at line %i, ignoring.\n", line); - r = -1; - continue; - } - - if (!(k = lookup_key(t, strlen(t)))) { - fprintf(stderr, "WARNING: Unknown key '%s' at line %i, ignoring.\n", t, line); - r = -1; - continue; - } - - new_keycode = k->id; - } - - - if ((old_keycode = evdev_get_keycode(fd, scancode, 0)) < 0) { - r = -1; - continue; - } - - if (evdev_set_keycode(fd, scancode, new_keycode) < 0) { - r = -1; - continue; - } - - if (new_keycode != old_keycode) - fprintf(stderr, "Remapped scancode 0x%02x to 0x%02x (prior: 0x%02x)\n", - scancode, new_keycode, old_keycode); - } - - fclose(f); - return r; -} - - -/* read one event; return 1 if valid */ -static int read_event(int fd, struct input_event* ev) -{ - int ret; - ret = read(fd, ev, sizeof(struct input_event)); - - if (ret < 0) { - perror("read"); - return 0; - } - if (ret != sizeof(struct input_event)) { - fprintf(stderr, "did not get enough data for event struct, aborting\n"); - return 0; - } - - return 1; -} - -static void print_key(unsigned scancode, uint16_t keycode, int has_scan, int has_key) -{ - const char *keyname; - - /* ignore key release events */ - if (has_key == 1) - return; - - if (has_key == 0 && has_scan != 0) { - fprintf(stderr, "got scan code event 0x%02X without a key code event\n", - scancode); - return; - } - - if (has_scan != 0) - printf("scan code: 0x%02X ", scancode); - else - printf("(no scan code received) "); - - keyname = key_names[keycode]; - if (keyname != NULL) - printf("key code: %s\n", format_keyname(keyname)); - else - printf("key code: %03X\n", keycode); -} - -static void interactive(int fd) -{ - struct input_event ev; - unsigned last_scan = 0; - uint16_t last_key = 0; - int has_scan; /* boolean */ - int has_key; /* 0: none, 1: release, 2: press */ - - /* grab input device */ - ioctl(fd, EVIOCGRAB, 1); - puts("Press ESC to finish, or Control-C if this device is not your primary keyboard"); - - has_scan = has_key = 0; - while (read_event(fd, &ev)) { - /* Drivers usually send the scan code first, then the key code, - * then a SYN. Some drivers (like thinkpad_acpi) send the key - * code first, and some drivers might not send SYN events, so - * keep a robust state machine which can deal with any of those - */ - - if (ev.type == EV_MSC && ev.code == MSC_SCAN) { - if (has_scan) { - fputs("driver did not send SYN event in between key events; previous event:\n", - stderr); - print_key(last_scan, last_key, has_scan, has_key); - has_key = 0; - } - - last_scan = ev.value; - has_scan = 1; - /*printf("--- got scan %u; has scan %i key %i\n", last_scan, has_scan, has_key); */ - } - else if (ev.type == EV_KEY) { - if (has_key) { - fputs("driver did not send SYN event in between key events; previous event:\n", - stderr); - print_key(last_scan, last_key, has_scan, has_key); - has_scan = 0; - } - - last_key = ev.code; - has_key = 1 + ev.value; - /*printf("--- got key %hu; has scan %i key %i\n", last_key, has_scan, has_key);*/ - - /* Stop on ESC */ - if (ev.code == KEY_ESC && ev.value == 0) - break; - } - else if (ev.type == EV_SYN) { - /*printf("--- got SYN; has scan %i key %i\n", has_scan, has_key);*/ - print_key(last_scan, last_key, has_scan, has_key); - - has_scan = has_key = 0; - } - - } - - /* release input device */ - ioctl(fd, EVIOCGRAB, 0); -} - -_noreturn_ static void help(int error) -{ - const char* h = "Usage: keymap []\n" - " keymap scancode keyname [...]\n" - " keymap -i \n"; - if (error) { - fputs(h, stderr); - exit(2); - } else { - fputs(h, stdout); - exit(0); - } -} - -int main(int argc, char **argv) -{ - static const struct option options[] = { - { "help", no_argument, NULL, 'h' }, - { "interactive", no_argument, NULL, 'i' }, - {} - }; - int fd = -1; - int opt_interactive = 0; - int i; - - while (1) { - int option; - - option = getopt_long(argc, argv, "hi", options, NULL); - if (option == -1) - break; - - switch (option) { - case 'h': - help(0); - - case 'i': - opt_interactive = 1; - break; - default: - return 1; - } - } - - if (argc < optind+1) - help (1); - - if ((fd = evdev_open(argv[optind])) < 0) - return 3; - - /* one argument (device): dump or interactive */ - if (argc == optind+1) { - if (opt_interactive) - interactive(fd); - else - dump_table(fd); - return 0; - } - - /* two arguments (device, mapfile): set map file */ - if (argc == optind+2) { - const char *filearg = argv[optind+1]; - if (strchr(filearg, '/')) { - /* Keymap file argument is a path */ - FILE *f = fopen(filearg, "re"); - if (f) - merge_table(fd, f); - else - perror(filearg); - } else { - /* Keymap file argument is a filename */ - /* Open override file if present, otherwise default file */ - char keymap_path[PATH_MAX]; - FILE *f; - - snprintf(keymap_path, sizeof(keymap_path), "/etc/udev/keymaps/%s", filearg); - f = fopen(keymap_path, "re"); - if (f) { - merge_table(fd, f); - } else { - snprintf(keymap_path, sizeof(keymap_path), UDEV_LIBEXEC_DIR "/keymaps/%s", filearg); - f = fopen(keymap_path, "re"); - if (f) - merge_table(fd, f); - else - perror(keymap_path); - } - } - return 0; - } - - /* more arguments (device, scancode/keyname pairs): set keys directly */ - if ((argc - optind - 1) % 2 == 0) { - for (i = optind+1; i < argc; i += 2) - set_key(fd, argv[i], argv[i+1]); - return 0; - } - - /* invalid number of arguments */ - help(1); - return 1; /* not reached */ -} diff --git a/src/udev/Makefile.am b/src/udev/Makefile.am index 2bceb0c69..4a5f5fefa 100644 --- a/src/udev/Makefile.am +++ b/src/udev/Makefile.am @@ -117,6 +117,41 @@ EXTRA_DIST = \ CLEANFILES = \ udev.pc +if ENABLE_KEYMAP +AM_CPPFLAGS += \ + -I $(top_builddir)/src/udev + +libudev_core_la_SOURCES += \ + udev-builtin-keyboard.c + +nodist_libudev_core_la_SOURCES = \ + keyboard-keys-from-name.h \ + keyboard-keys-to-name.h + +keyboard-keys.txt: Makefile + $(AM_V_at)$(MKDIR_P) $(dir $@) + $(AM_V_GEN)$(CPP) $(CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) -dM -include linux/input.h - < /dev/null | $(AWK) '/^#define[ \t]+KEY_[^ ]+[ \t]+[0-9]/ { if ($$2 != "KEY_MAX") { print $$2 } }' | sed 's/^KEY_COFFEE$$/KEY_SCREENLOCK/' > $@ + +keyboard-keys-from-name.gperf: keyboard-keys.txt Makefile + $(AM_V_GEN)$(AWK) 'BEGIN{ print "struct key { const char* name; unsigned short id; };"; print "%null-strings"; print "%%";} { print tolower(substr($$1 ,5)) ", " $$1 }' < $< > $@ + +keyboard-keys-from-name.h: keyboard-keys-from-name.gperf Makefile + $(AM_V_GPERF)$(GPERF) -L ANSI-C -t -N keyboard_lookup_key -H hash_key_name -p -C < $< > $@ + +keyboard-keys-to-name.h: keyboard-keys.txt Makefile + $(AM_V_GEN)$(AWK) 'BEGIN{ print "const char* const key_names[KEY_CNT] = { "} { print "[" $$1 "] = \"" $$1 "\"," } END{print "};"}' < $< > $@ + + +BUILT_SOURCES = \ + $(nodist_libudev_core_la_SOURCES) + +CLEANFILES += \ + keyboard-keys-from-name.gperf \ + keyboard-keys.txt \ + $(BUILT_SOURCES) + +endif + # install udevadm symlink in sbindir install-exec-hook: if test "$(bindir)" != "$(sbindir)"; then \ diff --git a/src/udev/udev-builtin-keyboard.c b/src/udev/udev-builtin-keyboard.c new file mode 100644 index 000000000..ddd853594 --- /dev/null +++ b/src/udev/udev-builtin-keyboard.c @@ -0,0 +1,163 @@ +/*** + This file is part of systemd. + + Copyright 2013 Kay Sievers + + systemd is free software; you can redistribute it and/or modify it + under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation; either version 2.1 of the License, or + (at your option) any later version. + + systemd is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with systemd; If not, see . +***/ + +#include +#include +#include +#include +#include +#include +#include +#include + +#include "udev.h" + +static const struct key *keyboard_lookup_key(const char *str, unsigned int len); +#include "keyboard-keys-from-name.h" +#include "keyboard-keys-to-name.h" + +static int install_force_release(struct udev_device *dev, const unsigned int *release, unsigned int release_count) { + struct udev_device *atkbd; + const char *cur; + char codes[4096]; + char *s; + size_t l; + unsigned int i; + int ret; + + atkbd = udev_device_get_parent_with_subsystem_devtype(dev, "serio", NULL); + if (!atkbd) + return -ENODEV; + + cur = udev_device_get_sysattr_value(atkbd, "force_release"); + if (!cur) + return -ENODEV; + + s = codes; + l = sizeof(codes); + + /* copy current content */ + l = strpcpy(&s, l, cur); + + /* append new codes */ + for (i = 0; i < release_count; i++) + l = strpcpyf(&s, l, ",%d", release[i]); + + log_debug("keyboard: updating force-release list with '%s'\n", codes); + ret = udev_device_set_sysattr_value(atkbd, "force_release", codes); + if (ret < 0) + log_error("Error writing force-release attribute: %s", strerror(-ret)); + return ret; +} + +static int builtin_keyboard(struct udev_device *dev, int argc, char *argv[], bool test) { + struct udev_list_entry *entry; + struct { + unsigned int scan; + unsigned int key; + } map[1024]; + unsigned int map_count = 0; + unsigned int release[1024]; + unsigned int release_count = 0; + + udev_list_entry_foreach(entry, udev_device_get_properties_list_entry(dev)) { + const char *key; + unsigned int scancode; + char *endptr; + const char *keycode; + const struct key *k; + + key = udev_list_entry_get_name(entry); + if (!startswith(key, "KEYBOARD_KEY_")) + continue; + + /* KEYBOARD_KEY_= */ + scancode = strtol(key + 13, &endptr, 16); + if (endptr[0] != '\0') { + log_error("Error, unable to parse scan code from '%s'\n", key); + continue; + } + + keycode = udev_list_entry_get_value(entry); + + /* a leading '!' needs a force-release entry */ + if (keycode[0] == '!') { + keycode++; + + release[release_count] = scancode; + if (release_count < ELEMENTSOF(release)-1) + release_count++; + + if (keycode[0] == '\0') + continue; + } + + /* translate identifier to key code */ + k = keyboard_lookup_key(keycode, strlen(keycode)); + if (!k) { + log_error("Error, unknown key identifier '%s'\n", keycode); + continue; + } + + map[map_count].scan = scancode; + map[map_count].key = k->id; + if (map_count < ELEMENTSOF(map)-1) + map_count++; + } + + if (map_count > 0 || release_count > 0) { + const char *node; + int fd; + unsigned int i; + + node = udev_device_get_devnode(dev); + if (!node) { + log_error("Error, no device node for '%s'\n", udev_device_get_syspath(dev)); + return EXIT_FAILURE; + } + + fd = open(udev_device_get_devnode(dev), O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY); + if (fd < 0) { + log_error("Error, opening device '%s': %m\n", node); + return EXIT_FAILURE; + } + + /* install list of map codes */ + for (i = 0; i < map_count; i++) { + log_debug("keyboard: mapping scan code %d (0x%x) to key code %d (0x%x)\n", + map[i].scan, map[i].scan, map[i].key, map[i].key); + if (ioctl(fd, EVIOCSKEYCODE, &map[i]) < 0) + log_error("Error calling EVIOCSKEYCODE: %m\n"); + } + + /* install list of force-release codes */ + if (release_count > 0) + install_force_release(dev, release, release_count); + + close(fd); + } + + return EXIT_SUCCESS; +} + +const struct udev_builtin udev_builtin_keyboard = { + .name = "keyboard", + .cmd = builtin_keyboard, + .help = "keyboard scan code to key mapping", +}; diff --git a/src/udev/udev-builtin.c b/src/udev/udev-builtin.c index 22deaac1a..d9cca9dde 100644 --- a/src/udev/udev-builtin.c +++ b/src/udev/udev-builtin.c @@ -39,6 +39,9 @@ static const struct udev_builtin *builtins[] = { #endif [UDEV_BUILTIN_HWDB] = &udev_builtin_hwdb, [UDEV_BUILTIN_INPUT_ID] = &udev_builtin_input_id, +#ifdef ENABLE_KEYMAP + [UDEV_BUILTIN_KEYBOARD] = &udev_builtin_keyboard, +#endif #ifdef HAVE_MODULES [UDEV_BUILTIN_KMOD] = &udev_builtin_kmod, #endif diff --git a/src/udev/udev.h b/src/udev/udev.h index f0256a4d0..80fdd4c0e 100644 --- a/src/udev/udev.h +++ b/src/udev/udev.h @@ -145,6 +145,9 @@ enum udev_builtin_cmd { #endif UDEV_BUILTIN_HWDB, UDEV_BUILTIN_INPUT_ID, +#ifdef ENABLE_KEYMAP + UDEV_BUILTIN_KEYBOARD, +#endif #ifdef HAVE_MODULES UDEV_BUILTIN_KMOD, #endif @@ -171,6 +174,9 @@ extern const struct udev_builtin udev_builtin_firmware; #endif extern const struct udev_builtin udev_builtin_hwdb; extern const struct udev_builtin udev_builtin_input_id; +#ifdef ENABLE_KEYMAP +extern const struct udev_builtin udev_builtin_keyboard; +#endif #ifdef HAVE_MODULES extern const struct udev_builtin udev_builtin_kmod; #endif