1 |
# /etc/udev/rules/60-persistent-input.rules: device naming rules for udev |
# /etc/udev/rules/60-persistent-input.rules: device naming rules for udev |
2 |
# $Header: /root/magellan-cvs/src/udev/udev-persistent-input.rules.magellan,v 1.1 2007-03-21 16:48:37 niro Exp $ |
# $Header: /root/magellan-cvs/src/udev/udev-persistent-input.rules.magellan,v 1.4 2008-03-22 18:12:00 niro Exp $ |
3 |
|
# |
4 |
|
# There are a number of modifiers that are allowed to be used in some |
5 |
|
# of the different fields. They provide the following subsitutions: |
6 |
|
# %n - the "kernel number" of the device. |
7 |
|
# For example, 'sda3' has a "kernel number" of '3' |
8 |
|
# %k - the kernel name for the device. |
9 |
|
# %M - the kernel major number for the device |
10 |
|
# %m - the kernel minor number for the device |
11 |
|
# %b - the bus id for the device |
12 |
|
# %c - the string returned by the PROGRAM. (Note, this doesn't work within |
13 |
|
# the PROGRAM field for the obvious reason.) |
14 |
|
# %s{filename} - the content of a sysfs attribute. |
15 |
|
# %% - the '%' char itself. |
16 |
|
# |
17 |
|
# Try not to modify this file, if you wish to change things, create a new rule |
18 |
|
# file that can be run before this one. |
19 |
|
# |
20 |
|
|
21 |
ACTION!="add", GOTO="persistent_input_end" |
ACTION!="add|change", GOTO="persistent_input_end" |
22 |
SUBSYSTEM!="input", GOTO="persistent_input_end" |
SUBSYSTEM!="input", GOTO="persistent_input_end" |
23 |
KERNEL=="input[0-9]*", GOTO="persistent_input_end" |
KERNEL=="input[0-9]*", GOTO="persistent_input_end" |
24 |
|
|
25 |
# usb devices |
# usb devices |
26 |
SUBSYSTEMS=="usb", IMPORT{program}="usb_id -x" |
SUBSYSTEMS=="usb", IMPORT{program}="usb_id --export" |
27 |
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="01", ENV{ID_CLASS}="kbd" |
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="01", ENV{ID_CLASS}="kbd" |
28 |
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="02", ENV{ID_CLASS}="mouse" |
SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="02", ENV{ID_CLASS}="mouse" |
29 |
|
|
34 |
ATTRS{name}=="*dvb*|*DVB*|* IR *", ENV{ID_CLASS}="ir" |
ATTRS{name}=="*dvb*|*DVB*|* IR *", ENV{ID_CLASS}="ir" |
35 |
ATTRS{modalias}=="input:*-*a[068],*|input:*-*a*,[68],*m*", ATTRS{modalias}!="input:*-*k*14A,*r*", ENV{ID_CLASS}="joystick" |
ATTRS{modalias}=="input:*-*a[068],*|input:*-*a*,[68],*m*", ATTRS{modalias}!="input:*-*k*14A,*r*", ENV{ID_CLASS}="joystick" |
36 |
|
|
37 |
ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial" |
# fill empty serial number |
38 |
|
ENV{ID_CLASS}=="?*", ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial" |
39 |
|
|
40 |
# by-id links |
# by-id links |
41 |
KERNEL=="mouse*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_CLASS}" |
KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{ID_CLASS}" |
42 |
KERNEL=="event*", ENV{ID_BUS}=="?*", ENV{ID_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$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}" |
43 |
|
|
44 |
# by-path |
# by-path |
45 |
IMPORT{program}="path_id %p" |
IMPORT{program}="path_id %p" |
46 |
ENV{ID_PATH}=="?*", KERNEL=="mouse*", SYMLINK+="input/by-path/$env{ID_PATH}-$env{ID_CLASS}" |
ENV{ID_PATH}=="?*", KERNEL=="mouse*|js*", SYMLINK+="input/by-path/$env{ID_PATH}-$env{ID_CLASS}" |
47 |
ENV{ID_PATH}=="?*", KERNEL=="event*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{ID_CLASS}" |
ENV{ID_PATH}=="?*", KERNEL=="event*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{ID_CLASS}" |
48 |
|
|
49 |
LABEL="persistent_input_end" |
LABEL="persistent_input_end" |