62 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #!/sbin/runscript
 | |
| # Copyright 2007-2008 Roy Marples
 | |
| # All rights reserved
 | |
| 
 | |
| mouse=${SVCNAME##*.}
 | |
| if [ -n "${name}" -a "${mouse}" != "moused" ]; then
 | |
| 	moused_device=/dev/"${mouse}"
 | |
| 	pidfile=/var/run/moused-"${mouse}".pid
 | |
| else
 | |
| 	pidfile=/var/run/moused.pid
 | |
| fi
 | |
| name="Console Mouse Daemon"
 | |
| [ -n "${moused_device}" ] && name="${name} (${moused_device})"
 | |
| 
 | |
| depend() {
 | |
| 	need localmount
 | |
| 	after bootmisc
 | |
| }
 | |
| 
 | |
| start() {
 | |
| 	ebegin "Starting ${name}" 
 | |
| 
 | |
| 	if [ -z "${moused_device}" ]; then
 | |
| 		local dev=
 | |
| 		for dev in /dev/psm[0-9]* /dev/ums[0-9]*; do
 | |
| 			[ -c "${dev}" ] || continue
 | |
| 			[ -e /var/run/moused-"${dev##*/}".pid ] && continue 
 | |
| 			moused_device=${dev}
 | |
| 			eindent
 | |
| 			einfo "Using mouse on ${moused_device}"
 | |
| 			eoutdent
 | |
| 			break
 | |
| 		done
 | |
| 	fi
 | |
| 
 | |
| 	if [ -z "${moused_device}" ]; then
 | |
| 		eend 1 "No mouse device found" 
 | |
| 		return 1
 | |
| 	fi
 | |
| 
 | |
| 	local args=
 | |
| 	eval args=\$moused_args_${moused_device##*/}
 | |
| 	[ -z "${args}" ] && args=${moused_args}
 | |
| 
 | |
| 	start-stop-daemon --start --exec /usr/sbin/moused \
 | |
| 		--pidfile "${pidfile}" \
 | |
| 		-- ${args} -p "${moused_device}" -I "${pidfile}"
 | |
| 	local retval=$?
 | |
| 	
 | |
| 	if [ ${retval} = 0 ]; then
 | |
| 		local ttyv=
 | |
| 		for ttyv in /dev/ttyv*; do
 | |
| 			vidcontrol < "${ttyv}" -m on
 | |
| 			: $((retval+= $?))
 | |
| 		done
 | |
| 	fi
 | |
| 	
 | |
| 	eend ${retval} "Failed to start moused"
 | |
| }
 | |
| 
 | |
| # vim: set ts=4 :
 |