ENV{ID_INPUT_KEY}=="", GOTO="keyboard_end"
# skip later rules when we find something for this input device
-IMPORT{builtin}="hwdb --lookup-prefix=keyboard:", \
+IMPORT{builtin}="hwdb --subsystem=input --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}'", \
+# 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"
-# lookup entries matching the machine's DMI data
-IMPORT{builtin}="hwdb 'keyboard:name:$attr{name}:$attr{[dmi/id]modalias}'", \
+# 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{builtin}+="keyboard", GOTO="keyboard_end"
LABEL="keyboard_end"