---
name: "appleir"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/appleir"
---

# appleir(4)

Apple IR receiver driver

## NAME

**appleir** – Apple IR receiver driver

## SYNOPSIS

To compile this driver into the kernel, place the following lines in your kernel configuration file:

**device appleir** **device hidbus** **device hid** **device evdev**

Alternatively, to load the driver as a module at boot time, place the following line in [loader.conf(5)](/loader.conf/5.md):

```
appleir_load="YES"
```

## DESCRIPTION

The **appleir** driver provides support for Apple IR receivers found in Mac computers (2006-2011 era). It supports both Apple Remote controls and generic IR remotes using the NEC infrared protocol.

Supported devices include:

- Apple IR Receiver (USB product IDs 0x8240, 0x8241, 0x8242, 0x8243, 0x1440)

The driver decodes proprietary Apple Remote button presses and provides a default keymap for common NEC protocol codes used by generic IR remotes. Unmapped button codes can be accessed via the raw HID device at */dev/hidrawX* for custom userland remapping.

The */dev/input/eventX* device presents the remote control as an evdev input device with standard KEY\_\* codes suitable for media applications.

## HARDWARE

The **appleir** driver supports Apple IR receivers with USB vendor ID 0x05ac and the following product IDs:

- 0x8240

  Apple IR Receiver (first generation)

- 0x8241

  Apple IR Receiver

- 0x8242

  Apple IR Receiver (Mac Mini 2011, MacBook Pro 3,1)

- 0x8243

  Apple IR Receiver

- 0x1440

  Apple IR Receiver (slim)

## FILES

- */dev/input/eventX*

  evdev input device

- */dev/hidrawX*

  raw HID device for custom button mapping

## SEE ALSO

evdev , [hidbus(4)](/hidbus/4.md), [usbhid(4)](/usbhid/4.md)

NEC Infrared Transmission Protocol: **https://techdocs.altium.com/display/FPGA/NEC+Infrared+Transmission+Protocol**

## HISTORY

The **appleir** driver first appeared in FreeBSD 16.0.

## AUTHORS

Abdelkader Boudih ⟨*freebsd@seuros.com*⟩

Based on protocol reverse-engineering by James McKenzie and others.
