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