]> git.pld-linux.org Git - packages/kbd.git/blob - kbd.init
- Do enabling saq sequence via run_cmd()
[packages/kbd.git] / kbd.init
1 #!/bin/sh
2
3 # console       Loads console font and keyboard table
4 #
5 # chkconfig:    345 70 30
6 #
7 # description:  Loads the console font, the application-charset map \
8 #               and the keyboard table.
9
10 # This must be executed *after* /usr is mounted.
11 # This means, if /usr is NFS-mounted it needs to
12 # be run after networking and NFS mounts are up.
13
14 [ -f /etc/sysconfig/console ] || exit 0
15
16 [ -f /bin/loadkeys ] || exit 0
17 [ -f /usr/bin/setfont ] || exit 0
18
19 # Source function library
20 . /etc/rc.d/init.d/functions
21
22 case "$1" in
23   start|restart|reload|force-reload)
24         . /etc/sysconfig/console
25
26         # Checking if we have framebuffer enabled
27         if [ -f /proc/fb ]; then
28                 # /proc shows as files with size=0, this is workaround
29                 if cat /proc/fb | grep -q "."; then FB=yes; fi
30         fi
31
32         if [ -n "$SVGATEXTMODE" ]; then
33                 run_cmd "Setting Text Mode $SVGATEXTMODE" SVGATextMode $SVGATEXTMODE
34         fi
35         if [ -n "$CONSOLEFONT" ]; then
36                 CMD="/usr/bin/setfont -m ${CONSOLEMAP:-trivial} $CONSOLEFONT"
37                 show "Loading console font and map"
38                 busy
39
40         # don't initialize on multiple terminals if we use fbset
41         # (assume that, in this case fb is loaded as a module)
42         if [ ! -z "$FB" ]; then
43                 # Check for devfs (workaround: -a option don't work at all)
44                 if [ -d /dev/vc ]; then
45                         pattern="s/\/dev\/vc\///g"
46                 else
47                         pattern="s/\/dev\/tty//g"
48                 fi
49
50                 # save old tty number
51                 tty=`/usr/bin/tty | sed $pattern`
52
53                 # check if devfs (workaround: -a option don't work at all)
54                 if [ -d /dev/vc ]; then
55                         DEVICES="`ls /dev/vc/* | sed 's|/dev/vc/||g'`"
56                 else
57                         DEVICES="`cat /etc/inittab | grep '^[0-9]*:' | cut -f1 -d :`"
58                 fi
59
60                 [ -z "$SET_FONT_TERMINALS" ] && SET_FONT_TERMINALS="$DEVICES"
61
62                 for cons in $SET_FONT_TERMINALS; do
63                         /usr/bin/open -c $cons -s -w -- $CMD
64                         if [ "$NUM_LOCK" ]; then
65                                 if [ $NUM_LOCK = "on" ]; then
66                                         /usr/bin/open -c $cons -s -w -- /usr/bin/setleds -D +num
67                                 else
68                                         /usr/bin/open -c $cons -s -w -- /usr/bin/setleds -D -num
69                                 fi
70                         fi
71                 done
72
73                 if [ $tty = "/dev/console" ]; then tty=1; fi
74                         /usr/bin/switchto $tty
75                 else
76                         $CMD
77                 fi
78                 ok
79         fi
80         if [ -n "$KEYTABLE" ]; then
81                 run_cmd "Loading keyboard table" loadkeys $KEYTABLE < /dev/tty0 > /dev/tty0
82         fi
83         run_cmd "Enabling SAK sequence" /bin/sh -c "echo Control Alt keycode 101 = SAK | loadkeys"
84
85         power_option=""
86         if [ "$POWER_SAVE" ]; then
87                 if [ "$BLANK_TIME" ]; then
88                         power_option="-blank $BLANK_TIME";
89                 fi
90                 if [ "$POWERDOWN_TIME" ]; then
91                         power_option="-powerdown $POWERDOWN_TIME $power_option";
92                 fi
93                 /usr/bin/setterm $power_option -powersave $POWER_SAVE
94         fi
95         if [ "$FOREGROUND_COLOUR" ]; then
96                 /usr/bin/setterm -foreground $FOREGROUND_COLOUR
97         fi
98         if [ "$BACKGROUND_COLOUR" ]; then
99                 /usr/bin/setterm -background $BACKGROUND_COLOUR
100         fi
101         if [ "$BEEP_LENGTH" ]; then
102                 /usr/bin/setterm -blength $BEEP_LENGTH
103         fi
104         ;;
105   stop)
106         . /etc/sysconfig/console
107         run_cmd "Setting terminals to default values" /usr/bin/setterm -default
108         ;;
109   status)
110         /usr/bin/setleds
111         ;;
112   *)
113         msg_usage "$0 {start|stop|restart|reload|force-reload|status}"
114         exit 3
115 esac
116
117 exit 0
This page took 0.221772 seconds and 4 git commands to generate.