Magellan Linux

Diff of /tags/udev-162-r1/udev-persistent-input.rules.magellan

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 121 by niro, Wed Mar 21 16:48:37 2007 UTC revision 1016 by niro, Tue Apr 6 23:46:22 2010 UTC
# Line 1  Line 1 
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.9 2010-04-06 23:46:22 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  ENV{ID_INPUT}=="", IMPORT{program}="input_id %p"
26  SUBSYSTEMS=="usb", IMPORT{program}="usb_id -x"  SUBSYSTEMS=="usb", ENV{ID_BUS}=="", IMPORT{program}="usb_id --export %p"
 SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="01", ENV{ID_CLASS}="kbd"  
 SUBSYSTEMS=="usb", ATTRS{bInterfaceClass}=="03", ATTRS{bInterfaceProtocol}=="02", ENV{ID_CLASS}="mouse"  
   
 # other devices  
 DRIVERS=="pcspkr", ENV{ID_CLASS}="spkr"  
 DRIVERS=="atkbd", ENV{ID_CLASS}="kbd"  
 DRIVERS=="psmouse", ENV{ID_CLASS}="mouse"  
 ATTRS{name}=="*dvb*|*DVB*|* IR *", ENV{ID_CLASS}="ir"  
 ATTRS{modalias}=="input:*-*a[068],*|input:*-*a*,[68],*m*", ATTRS{modalias}!="input:*-*k*14A,*r*", ENV{ID_CLASS}="joystick"  
27    
28  ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"  # 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    
37    # fill empty serial number
38    ENV{.INPUT_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{.INPUT_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-$env{.INPUT_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{.INPUT_CLASS}=="?*", SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-$env{.INPUT_CLASS}"
43    # allow empty class for USB devices, by appending the interface number
44    SUBSYSTEMS=="usb", ENV{ID_BUS}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="", ATTRS{bInterfaceNumber}=="?*", \
45      SYMLINK+="input/by-id/$env{ID_BUS}-$env{ID_SERIAL}-event-if$attr{bInterfaceNumber}"
46    
47  # by-path  # by-path
48  IMPORT{program}="path_id %p"  SUBSYSTEMS=="usb|platform", IMPORT{program}="path_id %p"
49  ENV{ID_PATH}=="?*", KERNEL=="mouse*", SYMLINK+="input/by-path/$env{ID_PATH}-$env{ID_CLASS}"  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*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{ID_CLASS}"  ENV{ID_PATH}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="?*", SYMLINK+="input/by-path/$env{ID_PATH}-event-$env{.INPUT_CLASS}"
51    # allow empty class for platform and usb devices; platform supports only a single interface that way
52    SUBSYSTEMS=="usb|platform", ENV{ID_PATH}=="?*", KERNEL=="event*", ENV{.INPUT_CLASS}=="", \
53      SYMLINK+="input/by-path/$env{ID_PATH}-event"
54    
55  LABEL="persistent_input_end"  LABEL="persistent_input_end"
   

Legend:
Removed from v.121  
changed lines
  Added in v.1016