ir-keytable [OPTION]... --device [/dev/input/event* device]

ir-keytable [OPTION]... --sysdev [ir class (f. ex. rc0)]

ir-keytable [OPTION]... [for using the rc0 sysdev]


ir-keytable is a tool that lists the Remote Controller devices, allows one to get/set IR keycode/scancode tables, test events generated by IR, and to adjust other Remote Controller options.

Note: You need to have read permissions on /dev/input for most of the options to work.


-a, --auto-load=CFGFILE

Auto-load a table, based on a configuration file. Only works with sysdev.

-c, --clear

clears the old table

-d, --device=DEV

ir device to control

-D, --delay=DELAY

Sets the delay before repeating a keystroke

-k, --set-key=SCANKEY

Change scan/key pairs

-p, --protocol=PROTOCOL

Protocol to enable (the other ones will be disabled). To enable more than one, use the option more than one time

-P, --period\=PERIOD

Sets the period to repeat a keystroke

-r, --read

reads the current scancode/keycode table

-s, --sysdev=SYSDEV

ir class device to control

-t, --test

test if IR is generating events

-v, --verbose

enables debug messages

-w, --write=TABLE

write (adds) the scancodes to the device scancode/keycode table from the specified TABLE file

-?, --help

Prints the help message


Give a short usage message

-V, --version

print the v4l2-utils version

Mandatory or optional arguments to long options are also mandatory or optional for any corresponding short options. Options can be combined together.

The options arguments are:


the /dev/input/event* device to control


the ir class as found at /sys/class/rc


a file wit a set of scancode=keycode value pairs


a set of scancode1=keycode1,scancode2=keycode2.. value pairs


protocol name to be enabled (case insensitive). Supported protocols are: NEC, RC-5, RC-6, JVC, SONY, SANYO, LIRC, RC-5-SZ, SHARP, MCE-KBD, XMP, other, all.


Delay before repeating a keystroke


Period to repeat a keystroke


configuration file that associates a driver/table name with a keymap file


On success, it returns 0. Otherwise, it will return the error code.


To list all connected Remote Controller devices:


To clean the keycode table and use a newer one:

ir-keytable -c -w /etc/rc_keymaps/nec_terratec_cinergy_xs

To append more codes to the existing table:

ir-keytable -w /etc/rc_keymaps/nec_terratec_cinergy_xs

To read the current keytable, on the second remote controller: ir-keytable -s rc1 -r


Report bugs to Linux Media Mailing List <[email protected]>


Copyright (c) 2010-2014 by Mauro Carvalho Chehab.

License GPLv2: GNU GPL version 2 <>.

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.