xref: /freebsd/share/man/man4/hrfkill.4 (revision d1c07141dccf8c719067bd3c30c402e4db9a77b3)
1.\"
2.\" SPDX-License-Identifier: BSD-2-Clause
3.\"
4.\" Copyright (c) 2026 The FreeBSD Foundation
5.\"
6.\" Portions of this software were developed by Aymeric Wibo
7.\" <obiwac@freebsd.org> under sponsorship from the FreeBSD Foundation.
8.\"
9.Dd June 24, 2026
10.Dt HRFKILL 4
11.Os
12.Sh NAME
13.Nm hrfkill
14.Nd HID radio control driver
15.Sh SYNOPSIS
16.Cd device hrfkill
17.Cd device hid
18.Cd device hidbus
19.Cd device hidmap
20.Cd device evdev
21In
22.Xr loader.conf 5 :
23.Cd hrfkill_load="YES"
24.Sh DESCRIPTION
25The
26.Nm
27driver provides support for HID wireless radio control buttons,
28most often found as an
29.Qq airplane mode
30or RFKILL toggle on laptop keyboards, and presents them to applications over the
31.Ar evdev
32interface.
33.Sh HARDWARE
34The
35.Nm
36driver supports HID radio control buttons and airplane mode keys
37on devices such as:
38.Pp
39.Bl -bullet -compact
40.It
41Framework Laptop Keyboard
42.El
43.Sh FILES
44.Bl -tag -width /dev/input/event* -compact
45.It Pa /dev/input/event*
46input event device node
47.El
48.Sh SEE ALSO
49.Xr hidbus 4 ,
50.Xr hsctrl 4
51.Sh HISTORY
52The
53.Nm
54driver first appeared in
55.Fx 16.0 .
56.Sh AUTHORS
57The
58.Nm
59driver was written by
60.An Aymeric Wibo Aq Mt obiwac@FreeBSD.org
61under sponsorship from the FreeBSD Foundation and by
62.An Daniel Shaefer Aq Mt git@danielschaefer.me
63under sponsorship from Framework Computer Inc.
64.Sh CAVEATS
65Currently,
66.Nm
67only handles radio button reporting.
68The HID Generic Desktop radio control page also defines radio switches and
69status LEDs; support for these should be added in a future revision of the
70driver.
71.Pp
72.Fx
73does not yet have a generic RFKILL framework analogous to the one found in
74Linux.
75As a result,
76.Nm
77can only report radio button events to userspace via
78.Ar evdev ;
79the kernel itself has no mechanism to act on these events to block or unblock
80wireless devices.
81A future RFKILL framework would allow the driver to integrate directly with
82network interfaces and block transmitters in response to hardware events.
83