Magellan Linux

Annotation of /tags/udev-166-r2/udev-persistent-input.rules.magellan

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1016 - (hide annotations) (download)
Tue Apr 6 23:46:22 2010 UTC (14 years ago) by niro
Original Path: trunk/udev/udev-persistent-input.rules.magellan
File size: 2864 byte(s)
-merged with upstream udev-151 rules

1 niro 121 # /etc/udev/rules/60-persistent-input.rules: device naming rules for udev
2 niro 1016 # $Header: /root/magellan-cvs/src/udev/udev-persistent-input.rules.magellan,v 1.9 2010-04-06 23:46:22 niro Exp $
3 niro 515 #
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 niro 121
21 niro 515 ACTION!="add|change", GOTO="persistent_input_end"
22 niro 121 SUBSYSTEM!="input", GOTO="persistent_input_end"
23     KERNEL=="input[0-9]*", GOTO="persistent_input_end"
24    
25 niro 1016 ENV{ID_INPUT}=="", IMPORT{program}="input_id %p"
26     SUBSYSTEMS=="usb", ENV{ID_BUS}=="", IMPORT{program}="usb_id --export %p"
27 niro 121
28 niro 1016 # determine class name for persistent symlinks
29     ENV{ID_INPUT_KEYBOARD}=="?*", ENV{.INPUT_CLASS}="kbd"
30     ENV{ID_INPUT_MOUSE}=="?*", ENV{.INPUT_CLASS}="mouse"
31     ENV{ID_INPUT_TOUCHPAD}=="?*", ENV{.INPUT_CLASS}="mouse"
32     ENV{ID_INPUT_TABLET}=="?*", ENV{.INPUT_CLASS}="mouse"
33     ENV{ID_INPUT_JOYSTICK}=="?*", ENV{.INPUT_CLASS}="joystick"
34     DRIVERS=="pcspkr", ENV{.INPUT_CLASS}="spkr"
35     ATTRS{name}=="*dvb*|*DVB*|* IR *", ENV{.INPUT_CLASS}="ir"
36 niro 823
37 niro 188 # fill empty serial number
38 niro 1016 ENV{.INPUT_CLASS}=="?*", ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"
39 niro 121
40     # by-id links
41 niro 1016 KERNEL=="mouse*|js*", ENV{ID_BUS}=="?*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{.INPUT_CLASS}"
42     KERNEL=="event*", ENV{ID_BUS}=="?*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$env{.INPUT_CLASS}"
43 niro 823 # allow empty class for USB devices, by appending the interface number
44 niro 1016 SUBSYSTEMS=="usb", ENV{ID_BUS}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="", ATTRS{bInterfaceNumber}=="?*", \
45 niro 823 SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-if$attr{bInterfaceNumber}"
46 niro 121
47     # by-path
48 niro 884 SUBSYSTEMS=="usb|platform", IMPORT{program}="path_id %p"
49 niro 1016 ENV{ID_PATH}=="?*", KERNEL=="mouse*|js*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-$env{.INPUT_CLASS}"
50     ENV{ID_PATH}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{.INPUT_CLASS}"
51 niro 823 # allow empty class for platform and usb devices; platform supports only a single interface that way
52 niro 1016 SUBSYSTEMS=="usb|platform", ENV{ID_PATH}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="", \
53 niro 823 SYMLINK+="input/by-path/$env{ID_PATH}-event"
54 niro 121
55     LABEL="persistent_input_end"