mirror of
https://github.com/systemd/systemd.git
synced 2025-03-31 14:50:15 +03:00
input: Deprecate ENV{ID_CLASS}
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.
This commit is contained in:
parent
897c0f175d
commit
6722e19ab1
7
NEWS
7
NEWS
@ -15,6 +15,13 @@ The support for the deprecated IDE devices has been removed from the
|
||||
default set of rules. Distros who still care about non-libata drivers
|
||||
need to add the rules to the compat rules file.
|
||||
|
||||
The ID_CLASS property on input devices has been replaced by the more accurate
|
||||
set of flags ID_INPUT_{KEYBOARD,KEY,MOUSE,TOUCHPAD,TABLET,JOYSTICK}. These are
|
||||
determined by the new "input_id" prober now. Some devices, such as touchpads,
|
||||
can have several classes. So if you previously had custom udev rules which e. g.
|
||||
checked for ENV{ID_CLASS}=="kbd", you need to replace this with
|
||||
ENV{ID_INPUT_KEYBOARD}=="?*".
|
||||
|
||||
udev 147
|
||||
========
|
||||
Bugfixes.
|
||||
|
@ -7,31 +7,31 @@ 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"
|
||||
|
||||
# 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"
|
||||
|
||||
# fill empty serial number
|
||||
LABEL="serial", ENV{ID_CLASS}=="?*", ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"
|
||||
ENV{.INPUT_CLASS}=="?*", ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"
|
||||
|
||||
# by-id links
|
||||
KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_CLASS}"
|
||||
KERNEL=="event*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$env{ID_CLASS}"
|
||||
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{ID_CLASS}=="", ATTRS{bInterfaceNumber}=="?*", \
|
||||
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{ID_CLASS}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-$env{ID_CLASS}"
|
||||
ENV{ID_PATH}=="?*", KERNEL=="event*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{ID_CLASS}"
|
||||
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{ID_CLASS}=="", \
|
||||
SUBSYSTEMS=="usb|platform", ENV{ID_PATH}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="", \
|
||||
SYMLINK+="input/by-path/$env{ID_PATH}-event"
|
||||
|
||||
LABEL="persistent_input_end"
|
||||
|
Loading…
x
Reference in New Issue
Block a user