]> git.pld-linux.org Git - packages/kbd.git/blob - kbd.init
- don't use run_msg to enable SAK.
[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 FB=
23
24 case "$1" in
25         start|restart)
26                 . /etc/sysconfig/console
27
28                 # Checking if we have framebuffer enabled
29                 if [ -f /proc/fb ]; then
30                         # /proc shows as files with size=0, this is workaround
31                         if cat /proc/fb | grep -q "."; then FB=yes; fi
32                 fi
33                         
34                 if [ -n "$SVGATEXTMODE" ]
35                 then
36                         run_cmd "Setting Text Mode $SVGATEXTMODE" SVGATextMode $SVGATEXTMODE
37                 fi
38                 if [ -n "$CONSOLEFONT" ]
39                 then
40                         CMD="/usr/bin/setfont -m ${CONSOLEMAP:-trivial} $CONSOLEFONT"
41                         show "Loading console font and map"; busy
42                         if [ ! -z $FB ]; then                   
43                                 # Check for devfs (workaround: -a option don't work at all)
44                                 if [ -d /dev/vc ]; then
45                                         list=`ls /dev/vc/*`
46                                         pattern="s/\/dev\/vc\///g"
47                                 else
48                                         list=`ls /dev/tty[0-9] && ls /dev/tty[0-9][0-9]`
49                                         pattern="s/\/dev\/tty//g"
50                                 fi
51                                 
52                                 tty=`/usr/bin/tty | sed $pattern`
53                                 for a in $list; do
54                                         b=`ls $a | sed $pattern`
55                                         /usr/bin/open -c $b -s -w -- $CMD
56                                 done
57                                 
58                                 if [ $tty = "/dev/console" ]; then tty=1; fi
59                                 /usr/bin/switchto $tty
60                         else
61                                 $CMD
62                         fi
63                         ok
64                 fi
65                 if [ -n "$KEYTABLE" ]
66                 then
67                         run_cmd "Loading keyboard table" loadkeys $KEYTABLE < /dev/tty0 > /dev/tty0
68                 fi
69                 echo "Enabling SAK sequence"
70                 echo Control Alt keycode 101 = SAK | loadkeys
71                 ;;
72         stop)
73                 # Nothing to stop
74                 ;;
75         status)
76                 # Nothing to report
77                 ;;
78         *)
79                 msg_usage "$0 {start|stop|status|restart}"
80                 exit 1
81 esac
82
83 exit 0
This page took 0.117778 seconds and 4 git commands to generate.