]> git.pld-linux.org Git - projects/geninitrd.git/blob - mod-usbkbd.sh
fix svn keywords
[projects/geninitrd.git] / mod-usbkbd.sh
1 #!/bin/sh
2 USBKBD_RCSID='$Revision$ $Date::                            $'
3
4 # geninitrd mod: usbkbd
5
6 # setup geninitrd module
7 # @access       public
8 setup_mod_usbkbd() {
9 }
10
11 find_modules_usbkbd() {
12         debug "Finding USB keyboard modules"
13
14         if [ "$(echo /sys/class/input/input*)" = "/sys/class/input/input*" ]; then
15                 return
16         fi
17
18         local modules
19
20         for i in /sys/class/input/input*; do
21                 [ ! -f $i/device/bInterfaceClass -o ! -f $i/device/bInterfaceProtocol ] && continue
22                 bInterfaceClass=$(cat $i/device/bInterfaceClass)
23                 bInterfaceProtocol=$(cat $i/device/bInterfaceProtocol)
24                 if [ "$bInterfaceClass" = "03" -a "$bInterfaceProtocol" = "01" ]; then
25                         module=$(readlink $i/device/driver/module)
26                         module=$(basename $module)
27
28                         if [ -n "$module" ]; then
29                                 debug "Found USB Keyboard: $(cat $i/name)"
30                                 modules="$modules $module"
31                         fi
32                 fi
33         done
34
35         if [ -n "$modules" ]; then
36                 # usb controllers
37                 for m in $(find_modules_by_class "0c03"); do
38                         find_module $m
39                 done
40
41                 for m in $modules; do
42                         find_module $m
43                 done
44         fi
45 }
This page took 0.078922 seconds and 4 git commands to generate.