summaryrefslogtreecommitdiff
path: root/rules
diff options
context:
space:
mode:
Diffstat (limited to 'rules')
-rw-r--r--rules/60-keyboard.rules22
-rw-r--r--rules/Makefile.am3
2 files changed, 23 insertions, 2 deletions
diff --git a/rules/60-keyboard.rules b/rules/60-keyboard.rules
new file mode 100644
index 0000000000..4e0f3663f6
--- /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 c3f2aa8287..abc290111e 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: