chiark / gitweb /
rules: storage - don't apply rules to remove events
[elogind.git] / rules / 60-keyboard.rules
index b925853c3ec7653a7ba529c846b8eeec3618edb4..fe616917da8569baad1412cc70e9d4f7ec1d6750 100644 (file)
@@ -1,22 +1,19 @@
 # do not edit this file, it will be overwritten on update
 
-ACTION!="add", GOTO="keyboard_end"
+ACTION=="remove", GOTO="keyboard_end"
 KERNEL!="event*", GOTO="keyboard_end"
 ENV{ID_INPUT_KEY}=="", GOTO="keyboard_end"
 
-# ignore all bluetooth devices
-SUBSYSTEMS=="bluetooth", GOTO="keyboard_end"
+# skip later rules when we find something for this input device
+IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=keyboard:", \
+  RUN{builtin}+="keyboard", GOTO="keyboard_end"
 
-# import key mapping for USB device
-SUBSYSTEMS=="usb", IMPORT{builtin}="hwdb --subsystem=usb --lookup-prefix=keyboard:", \
-  RUN{program}+="keyboard", GOTO="keyboard_end"
+# AT keyboard matching by the machine's DMI data
+DRIVERS=="atkbd", IMPORT{builtin}="hwdb 'keyboard:atkbd:$attr{[dmi/id]modalias}'", \
+  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{program}+="keyboard", GOTO="keyboard_end"
-
-# import key mapping for platform input device
+# device matching the input device name and the machine's DMI data
 KERNELS=="input*", IMPORT{builtin}="hwdb 'keyboard:name:$attr{name}:$attr{[dmi/id]modalias}'", \
-  RUN{program}+="keyboard", GOTO="keyboard_end"
+  RUN{builtin}+="keyboard", GOTO="keyboard_end"
 
 LABEL="keyboard_end"