-# backwards-compatibility ID_CLASS
-ENV{ID_INPUT_KEYBOARD}=="?*", ENV{ID_CLASS}="kbd"
-ENV{ID_INPUT_MOUSE}=="?*", ENV{ID_CLASS}="mouse"
-ENV{ID_INPUT_JOYSTICK}=="?*", ENV{ID_CLASS}="joystick"
-
-# other device types which we need for persistent links
-DRIVERS=="pcspkr", ENV{ID_CLASS}="spkr", GOTO="serial"
-ATTRS{name}=="*dvb*|*DVB*|* IR *", ENV{ID_CLASS}="ir", GOTO="serial"
+# determine class name for persistent symlinks
+ENV{ID_INPUT_KEYBOARD}=="?*", ENV{.INPUT_CLASS}="kbd"
+ENV{ID_INPUT_MOUSE}=="?*", ENV{.INPUT_CLASS}="mouse"
+ENV{ID_INPUT_TOUCHPAD}=="?*", ENV{.INPUT_CLASS}="mouse"
+ENV{ID_INPUT_TABLET}=="?*", ENV{.INPUT_CLASS}="mouse"
+ENV{ID_INPUT_JOYSTICK}=="?*", ENV{.INPUT_CLASS}="joystick"
+DRIVERS=="pcspkr", ENV{.INPUT_CLASS}="spkr"
+ATTRS{name}=="*dvb*|*DVB*|* IR *", ENV{.INPUT_CLASS}="ir"