summaryrefslogtreecommitdiff
path: root/init.d.Linux/numlock.in
blob: 5f9d55dfff9f9eefce3ecbb76c9557b93deb8d78 (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
#!/sbin/runscript
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.

description="Turns numlock on for the consoles."

ttyn=${rc_tty_number:-${RC_TTY_NUMBER}:-12}

depend()
{
	need localmount
	keyword noprefix
}

_setleds()
{
	[ -z "$1" ] && return 1

	local dev=/dev/tty t= i=1 retval=0
	[ -d /dev/vc ] && dev=/dev/vc/

	while [ ${i} -le ${ttyn} ]; do
		setleds -D "$1"num < ${dev}${i} || retval=1
		i=$((${i} + 1))
	done

	return ${retval}
}

start()
{
	ebegin "Enabling numlock on ttys"
	_setleds +
	eend $? "Failed to enable numlock"
}

stop()
{
	ebegin "Disabling numlock on ttys"
	_setleds -
	eend $? "Failed to disable numlock"
}