xref: /freebsd/share/man/man4/appleir.4 (revision a85c4ab626ef52530400ace1957daaa35dd07534)
1.\" Copyright (c) 2026 Abdelkader Boudih <freebsd@seuros.com>
2.\"
3.\" SPDX-License-Identifier: BSD-2-Clause
4.\"
5.Dd February 13, 2026
6.Dt APPLEIR 4
7.Os
8.Sh NAME
9.Nm appleir
10.Nd Apple IR receiver driver
11.Sh SYNOPSIS
12To compile this driver into the kernel,
13place the following lines in your
14kernel configuration file:
15.Bd -ragged -offset indent
16.Cd "device appleir"
17.Cd "device hidbus"
18.Cd "device hid"
19.Cd "device evdev"
20.Ed
21.Pp
22Alternatively, to load the driver as a
23module at boot time, place the following line in
24.Xr loader.conf 5 Ns :
25.Bd -literal -offset indent
26appleir_load="YES"
27.Ed
28.Sh DESCRIPTION
29The
30.Nm
31driver provides support for Apple IR receivers found in Mac computers
32(2006-2011 era).
33It supports both Apple Remote controls and generic IR remotes using the
34NEC infrared protocol.
35.Pp
36Supported devices include:
37.Bl -bullet -compact
38.It
39Apple IR Receiver (USB product IDs 0x8240, 0x8241, 0x8242, 0x8243, 0x1440)
40.El
41.Pp
42The driver decodes proprietary Apple Remote button presses and provides
43a default keymap for common NEC protocol codes used by generic IR remotes.
44Unmapped button codes can be accessed via the raw HID device at
45.Pa /dev/hidrawX
46for custom userland remapping.
47.Pp
48The
49.Pa /dev/input/eventX
50device presents the remote control as an
51evdev
52input device with standard KEY_* codes suitable for media applications.
53.Sh HARDWARE
54The
55.Nm
56driver supports Apple IR receivers with USB vendor ID 0x05ac and the
57following product IDs:
58.Pp
59.Bl -tag -width "0x8242" -compact
60.It 0x8240
61Apple IR Receiver (first generation)
62.It 0x8241
63Apple IR Receiver
64.It 0x8242
65Apple IR Receiver (Mac Mini 2011, MacBook Pro 3,1)
66.It 0x8243
67Apple IR Receiver
68.It 0x1440
69Apple IR Receiver (slim)
70.El
71.Sh FILES
72.Bl -tag -width ".Pa /dev/input/eventX" -compact
73.It Pa /dev/input/eventX
74evdev input device
75.It Pa /dev/hidrawX
76raw HID device for custom button mapping
77.El
78.Sh SEE ALSO
79evdev ,
80.Xr hidbus 4 ,
81.Xr usbhid 4
82.Pp
83NEC Infrared Transmission Protocol:
84.Lk https://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol
85.Sh HISTORY
86The
87.Nm
88driver first appeared in
89.Fx 16.0 .
90.Sh AUTHORS
91.An Abdelkader Boudih Aq Mt freebsd@seuros.com
92.Pp
93Based on protocol reverse-engineering by James McKenzie and others.
94