Chapter 17. Remote Controllers

Table of Contents

Introduction
Remote Controller's sysfs nodes
/sys/class/rc/
/sys/class/rc/rcN/
/sys/class/rc/rcN/protocols
/sys/class/rc/rcN/filter
/sys/class/rc/rcN/filter_mask
/sys/class/rc/rcN/wakeup_protocols
/sys/class/rc/rcN/wakeup_filter
/sys/class/rc/rcN/wakeup_filter_mask
Remote controller tables
Changing default Remote Controller mappings
LIRC Device Interface
Introduction
LIRC read fop
LIRC write fop
LIRC ioctl fop

Introduction

Currently, most analog and digital devices have a Infrared input for remote controllers. Each manufacturer has their own type of control. It is not rare for the same manufacturer to ship different types of controls, depending on the device.

A Remote Controller interface is mapped as a normal evdev/input interface, just like a keyboard or a mouse. So, it uses all ioctls already defined for any other input devices.

However, remove controllers are more flexible than a normal input device, as the IR receiver (and/or transmitter) can be used in conjunction with a wide variety of different IR remotes.

In order to allow flexibility, the Remote Controller subsystem allows controlling the RC-specific attributes via the sysfs class nodes.