# usb devices
BUS=="usb", IMPORT{program}="usb_id -x"
-BUS=="usb", SYSFS{bInterfaceClass}="03", SYSFS{bInterfaceProtocol}="01", \
+BUS=="usb", SYSFS{bInterfaceClass}=="03", SYSFS{bInterfaceProtocol}=="01", \
ENV{ID_CLASS}="kbd"
-BUS=="usb", SYSFS{bInterfaceClass}="03", SYSFS{bInterfaceProtocol}="02", \
+BUS=="usb", SYSFS{bInterfaceClass}=="03", SYSFS{bInterfaceProtocol}=="02", \
ENV{ID_CLASS}="mouse"
+# other devices
+DRIVER=="pcspkr", ENV{ID_CLASS}="spkr"
+DRIVER=="atkbd", ENV{ID_CLASS}="kbd"
+DRIVER=="psmouse", ENV{ID_CLASS}="mouse"
+SYSFS{name}=="*dvb*|*DVB*|* IR *", ENV{ID_CLASS}="ir"
+
+ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"
+
# by-id links, generic and for the event devices
KERNEL=="mouse*", \
ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", ENV{ID_CLASS}=="?*", \