xref: /freebsd/libexec/rc/rc.d/bthidd (revision 0696600c41600d80bcd993bfd8e675d0ae6951fe)
1*0696600cSBjoern A. Zeeb#!/bin/sh
2*0696600cSBjoern A. Zeeb#
3*0696600cSBjoern A. Zeeb# $FreeBSD$
4*0696600cSBjoern A. Zeeb#
5*0696600cSBjoern A. Zeeb
6*0696600cSBjoern A. Zeeb# PROVIDE: bthidd
7*0696600cSBjoern A. Zeeb# REQUIRE: DAEMON hcsecd
8*0696600cSBjoern A. Zeeb# BEFORE: LOGIN
9*0696600cSBjoern A. Zeeb# KEYWORD: nojail shutdown
10*0696600cSBjoern A. Zeeb
11*0696600cSBjoern A. Zeeb. /etc/rc.subr
12*0696600cSBjoern A. Zeeb
13*0696600cSBjoern A. Zeebname="bthidd"
14*0696600cSBjoern A. Zeebdesc="Bluetooth HID daemon"
15*0696600cSBjoern A. Zeebrcvar="bthidd_enable"
16*0696600cSBjoern A. Zeebcommand="/usr/sbin/${name}"
17*0696600cSBjoern A. Zeebpidfile="/var/run/${name}.pid"
18*0696600cSBjoern A. Zeebstart_precmd="bthidd_prestart"
19*0696600cSBjoern A. Zeeb
20*0696600cSBjoern A. Zeebevdev_enabled()
21*0696600cSBjoern A. Zeeb{
22*0696600cSBjoern A. Zeeb	case ${bthidd_evdev_support} in
23*0696600cSBjoern A. Zeeb	[Aa][Uu][Tt][Oo])
24*0696600cSBjoern A. Zeeb		check_kern_features evdev_support
25*0696600cSBjoern A. Zeeb		return $?
26*0696600cSBjoern A. Zeeb		;;
27*0696600cSBjoern A. Zeeb	*)
28*0696600cSBjoern A. Zeeb		checkyesno bthidd_evdev_support
29*0696600cSBjoern A. Zeeb		return $?
30*0696600cSBjoern A. Zeeb		;;
31*0696600cSBjoern A. Zeeb	esac
32*0696600cSBjoern A. Zeeb}
33*0696600cSBjoern A. Zeeb
34*0696600cSBjoern A. Zeebbthidd_prestart()
35*0696600cSBjoern A. Zeeb{
36*0696600cSBjoern A. Zeeb	if evdev_enabled; then
37*0696600cSBjoern A. Zeeb		load_kld -m uinput uinput
38*0696600cSBjoern A. Zeeb	fi
39*0696600cSBjoern A. Zeeb	load_kld -m kbdmux kbdmux
40*0696600cSBjoern A. Zeeb	load_kld -m vkbd vkbd
41*0696600cSBjoern A. Zeeb	load_kld -m ng_btsocket ng_btsocket
42*0696600cSBjoern A. Zeeb	return 0
43*0696600cSBjoern A. Zeeb}
44*0696600cSBjoern A. Zeeb
45*0696600cSBjoern A. Zeebload_rc_config $name
46*0696600cSBjoern A. Zeebconfig="${bthidd_config:-/etc/bluetooth/${name}.conf}"
47*0696600cSBjoern A. Zeebhids="${bthidd_hids:-/var/db/${name}.hids}"
48*0696600cSBjoern A. Zeebcommand_args="-c ${config} -H ${hids} -p ${pidfile}"
49*0696600cSBjoern A. Zeebif evdev_enabled; then
50*0696600cSBjoern A. Zeeb	command_args="$command_args -u"
51*0696600cSBjoern A. Zeebfi
52*0696600cSBjoern A. Zeebrequired_files="${config}"
53*0696600cSBjoern A. Zeeb
54*0696600cSBjoern A. Zeebrun_rc_command "$1"
55