xref: /freebsd/libexec/rc/rc.d/bthidd (revision f99f0ee14e3af81c23150a6a340259ca8a33d01a)
10696600cSBjoern A. Zeeb#!/bin/sh
20696600cSBjoern A. Zeeb#
30696600cSBjoern A. Zeeb#
40696600cSBjoern A. Zeeb
50696600cSBjoern A. Zeeb# PROVIDE: bthidd
60696600cSBjoern A. Zeeb# REQUIRE: DAEMON hcsecd
70696600cSBjoern A. Zeeb# BEFORE: LOGIN
80696600cSBjoern A. Zeeb# KEYWORD: nojail shutdown
90696600cSBjoern A. Zeeb
100696600cSBjoern A. Zeeb. /etc/rc.subr
110696600cSBjoern A. Zeeb
120696600cSBjoern A. Zeebname="bthidd"
130696600cSBjoern A. Zeebdesc="Bluetooth HID daemon"
140696600cSBjoern A. Zeebrcvar="bthidd_enable"
150696600cSBjoern A. Zeebcommand="/usr/sbin/${name}"
160696600cSBjoern A. Zeebpidfile="/var/run/${name}.pid"
170696600cSBjoern A. Zeebstart_precmd="bthidd_prestart"
180696600cSBjoern A. Zeeb
190696600cSBjoern A. Zeebevdev_enabled()
200696600cSBjoern A. Zeeb{
210696600cSBjoern A. Zeeb	case ${bthidd_evdev_support} in
220696600cSBjoern A. Zeeb	[Aa][Uu][Tt][Oo])
230696600cSBjoern A. Zeeb		check_kern_features evdev_support
240696600cSBjoern A. Zeeb		return $?
250696600cSBjoern A. Zeeb		;;
260696600cSBjoern A. Zeeb	*)
270696600cSBjoern A. Zeeb		checkyesno bthidd_evdev_support
280696600cSBjoern A. Zeeb		return $?
290696600cSBjoern A. Zeeb		;;
300696600cSBjoern A. Zeeb	esac
310696600cSBjoern A. Zeeb}
320696600cSBjoern A. Zeeb
330696600cSBjoern A. Zeebbthidd_prestart()
340696600cSBjoern A. Zeeb{
350696600cSBjoern A. Zeeb	if evdev_enabled; then
36b11974c2SChris Rees		load_kld -m uinput uinput
370696600cSBjoern A. Zeeb	fi
38b11974c2SChris Rees	load_kld -m kbdmux kbdmux
39b11974c2SChris Rees	load_kld -m vkbd vkbd
40b11974c2SChris Rees	load_kld -m ng_btsocket ng_btsocket
410696600cSBjoern A. Zeeb	return 0
420696600cSBjoern A. Zeeb}
430696600cSBjoern A. Zeeb
440696600cSBjoern A. Zeebload_rc_config $name
450696600cSBjoern A. Zeebconfig="${bthidd_config:-/etc/bluetooth/${name}.conf}"
460696600cSBjoern A. Zeebhids="${bthidd_hids:-/var/db/${name}.hids}"
470696600cSBjoern A. Zeebcommand_args="-c ${config} -H ${hids} -p ${pidfile}"
480696600cSBjoern A. Zeebif evdev_enabled; then
490696600cSBjoern A. Zeeb	command_args="$command_args -u"
500696600cSBjoern A. Zeebfi
510696600cSBjoern A. Zeebrequired_files="${config}"
520696600cSBjoern A. Zeeb
53*f99f0ee1SAlexander Leidinger# doesn't make sense to run in a svcj: nojail keyword
54*f99f0ee1SAlexander Leidingerbthidd_svcj="NO"
55*f99f0ee1SAlexander Leidinger
560696600cSBjoern A. Zeebrun_rc_command "$1"
57