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