mirror of
https://github.com/systemd/systemd.git
synced 2024-11-05 15:21:37 +03:00
6722e19ab1
The ID_CLASS property on input devices has been replaced by the more accurate set of flags ID_INPUT_{KEYBOARD,KEYS,MOUSE,TOUCHPAD,TABLET,JOYSTICK}. Rewrite 60-persistent-input.rules to use the new properties now and not export ID_CLASS any more, since it is not used by anything else any more. Add note about migration to NEWS, in case this is being used in custom rules.
38 lines
2.0 KiB
Plaintext
38 lines
2.0 KiB
Plaintext
# do not edit this file, it will be overwritten on update
|
|
|
|
ACTION!="add|change", GOTO="persistent_input_end"
|
|
SUBSYSTEM!="input", GOTO="persistent_input_end"
|
|
KERNEL=="input[0-9]*", GOTO="persistent_input_end"
|
|
|
|
ENV{ID_INPUT}=="", IMPORT{program}="input_id %p"
|
|
SUBSYSTEMS=="usb", ENV{ID_BUS}=="", IMPORT{program}="usb_id --export %p"
|
|
|
|
# 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"
|
|
|
|
# fill empty serial number
|
|
ENV{.INPUT_CLASS}=="?*", ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"
|
|
|
|
# by-id links
|
|
KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{.INPUT_CLASS}"
|
|
KERNEL=="event*", ENV{ID_BUS}=="?*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$env{.INPUT_CLASS}"
|
|
# allow empty class for USB devices, by appending the interface number
|
|
SUBSYSTEMS=="usb", ENV{ID_BUS}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="", ATTRS{bInterfaceNumber}=="?*", \
|
|
SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-if$attr{bInterfaceNumber}"
|
|
|
|
# by-path
|
|
SUBSYSTEMS=="usb|platform", IMPORT{program}="path_id %p"
|
|
ENV{ID_PATH}=="?*", KERNEL=="mouse*|js*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-$env{.INPUT_CLASS}"
|
|
ENV{ID_PATH}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{.INPUT_CLASS}"
|
|
# allow empty class for platform and usb devices; platform supports only a single interface that way
|
|
SUBSYSTEMS=="usb|platform", ENV{ID_PATH}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="", \
|
|
SYMLINK+="input/by-path/$env{ID_PATH}-event"
|
|
|
|
LABEL="persistent_input_end"
|