LIRC is a package that allows you to decode and send infra-red signals of many (but not all) commonly used remote controls.
LIRC (Linux Infra-red Remote Control), is a software package that provides a full suite of tools relating to IR remote controls. It is possible to record signals created by remote controls and replay them. Many remote controls have been mapped, and their configurations have been uploaded and shared on the LIRC Remotes Database, making it possible to download and use many common remote controls.
LIRC can also act as an IR signal receiver and can be configured to make user-defined actions when specific signals are received.
LIRC is compatible with a wide range of IR related hardware, including custom built hardware plugged into to serial ports and GPIO pins.