summaryrefslogtreecommitdiff
blob: 2ac87695d2634da5e226d9388dd717327b8a0333 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#!/sbin/runscript
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/files/syscons.initd,v 1.1 2006/09/14 17:03:27 flameeyes Exp $

start() {
	ebegin "Configuring system console"
	
	# XXX: This should handle serial consoles.
	
	# Set the keymap.
	if [ -n "${KEYMAP}" ]; then
		einfo "Setting keymap to ${KEYMAP}"
		kbdcontrol -l ${KEYMAP}
	fi
	
	if [ -n "${KEYRATE}" ]; then
		einfo "Setting keyrate to ${KEYRATE}"
		kbdcontrol -r ${KEYRATE}
	fi

	if [ -n "${KEYCHANGE}" ]; then
		einfo "Changing function keys..."
		while read $a $b; do
			kbdcontrol -f "$a" "$b"
		done <<< ${KEYCHANGE}
	fi
	
	if [ -n "${CURSOR}" ]; then
		einfo "Setting cursor"
		vidcontrol -c ${CURSOR}
	fi

	einfo "Setting custom fonts..."
	# Nothing to see here, move along...
	for v in FONT8x{16,14,8}; do
		if [ -n "${!v}" ]; then
			vidcontrol -f ${v##FONT} ${!v}
		fi
	done

	if [ -n "${BLANKTIME}" ]; then
		einfo "Setting blanktime"
		vidcontrol -t ${BLANKTIME}
	fi

	if [ -n "${SAVER}" ]; then
		for i in `kldstat | awk '$5 ~ "^splash_.*$" { print $5 }'`; do
			kldunload ${i}
		done
		kldstat -v | grep -q _saver || kldload ${SAVER}_saver
	fi

	if [ -n "${KBDFLAGS}" ]; then
		einfo "Setting keyboard flags for all screens"
		for ttyv in /dev/ttyv*; do    
			kbdcontrol ${KBDFLAGS} <${ttyv} &>${ttyv}
		done
	fi

	eend
}