IR-KEYTABLE(1) User Commands IR-KEYTABLE(1)

# [NAME](#NAME)

ir-keytable - a swiss-knife tool to handle Remote Controllers.

# [SYNOPSIS](#SYNOPSIS)

**ir-keytable** \[*OPTION*]...

# [DESCRIPTION](#DESCRIPTION)

ir-keytable is a tool that lists Remote Controller devices, loads rc keymaps, tests events, and adjusts other Remote Controller options.

Rather than loading a rc keymap, it is also possible to set protocol decoders and set rc scancode to keycode mappings directly.

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

# [OPTIONS](#OPTIONS)

[**-a**, **--auto-load**=*CFGFILE*](#a)

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

[**-c**, **--clear**](#c)

Clears the scancode to keycode mappings.

[**-D**, **--delay**=*DELAY*](#D)

Sets the delay before repeating a keystroke.

[**-k**, **--set-key**=*SCANKEY*](#k)

Set scancode to keycode mapping.

[**-p**, **--protocol**=*PROTOCOL*](#p)

Comma separated list of kernel protocols or BPF protocol to enable. All other protocols are disabled.

[**-e**, **--parameter**=*PARAMETER*](#e)

Comma separated list of parameters for the BPF protocol.

[**-P**, **--period**=*PERIOD*](#P)

Sets the period to repeat a keystroke.

[**-r**, **--read**](#r)

Read and show the current scancode to keycode mapping.

[**-s**, **--sysdev**=*SYSDEV*](#s)

rc device to control, defaults to *rc0* if not specified.

[**-t**, **--test**](#t)

test if the rc device is generating events

[**-v**, **--verbose**](#v)

Enables debug messages.

[**-w**, **--write**=*KEYMAP*](#w)

Reads the protocols and scancode to keycode mapping from the *KEYMAP* file, and enables those on the rc device.

**-?**, **--help**

Prints the help message

[**--usage**](#usage)

Give a short usage message

[**-V**, **--version**](#V)

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_options_arguments_are:)

[*SYSDEV*](#SYSDEV)

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

[*KEYMAP*](#KEYMAP)

a toml keymap file with a list of protocols and scancodes to keycode mappings. The format is described in [rc\_keymap(5)](/man/enterprise-packages/v4l-utils/rc_keymap.5).

[*SCANKEY*](#SCANKEY)

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

[*PROTOCOL*](#PROTOCOL)

Comma separated list of kernel protocols to be enabled (case insensitive). Supported kernel protocols are: **nec**, **rc-5**, **rc-6**, **jvc**, **sony**, **sanyo**, **rc-5-sz**, **sharp**, **mce-kbd**, **xmp**, **imon**, **rc-mm**, **other**, **all**. It can also be a BPF protocol, e.g. **manchester**, **pulse\_distance**, **pulse\_length**. If it does not match any of these, it is taken to be the path of BPF decoder to be loaded.

[*PARAMETERS*](#PARAMETERS)

Comma separated list of parameters for the BPF protocol being loaded. They have the format of name=value, where value is an number.

[*DELAY*](#DELAY)

Delay before repeating a keystroke

[*PERIOD*](#PERIOD)

Period to repeat a keystroke

[*CFGFILE*](#CFGFILE)

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

# [EXIT STATUS](#EXIT_STATUS)

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

# [EXAMPLES](#EXAMPLES)

To list all connected Remote Controller devices:  
**ir-keytable**

To clean the keycode mapping and use a newer one:  
**ir-keytable -c -w /etc/rc\_keymaps/nec\_terratec\_cinergy\_xs.toml**

To append more codes to the existing table:  
**ir-keytable -w /etc/rc\_keymaps/nec\_terratec\_cinergy\_xs.toml**

To read the current scancode to keycode mapping on the second remote controller:  
**ir-keytable -s rc1 -r**

To enable NEC protocol and load a BPF protocol, with a parameter for the BPF protocol:  
**ir-keytable -p nec,pulse\_distance -e pulse\_header=9000**

If you do not know what protocol a remote uses, it can be helpful to first try with all kernel decoders enabled. The decoded protocol and scancodes will be displayed in the output:  
**ir-keytable -c -p all -t**

# [BUGS](#BUGS)

Report bugs to **Linux Media Mailing List &lt;linux-media@vger.kernel.org&gt;**

# [COPYRIGHT](#COPYRIGHT)

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

License GPLv2: GNU GPL version 2 &lt;http://gnu.org/licenses/gpl.html&gt;.  
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

# [SEE ALSO](#SEE_ALSO)

The keymap format is described in [rc\_keymap(5)](/man/enterprise-packages/v4l-utils/rc_keymap.5).

To transmit IR or receive raw IR, see [ir-ctl(1)](/man/enterprise-packages/v4l-utils/ir-ctl.1).

Fri Oct 3 2014 v4l-utils 1.32.0

---

Document: ir-keytable(1) from v4l-utils 1.32.0-r1 (Chainguard OS)
