Remote Control Configuration#
Stb-tester supports the following remote-control mechanisms. In most cases the Stb-tester Support team will create & manage this configuration for you.
Infrared control#
Stb-tester needs to know the infrared protocol that your device-under-test
understands. If you are testing a common device like a Roku, Apple TV, or XBox,
we can provide a configuration file that describes the remote control’s
infrared protocol. This configuration file lives in your
test-pack git repository under config/remote-control/
,
for example config/remote-control/roku.lircd.conf
.
If the device is your own set-top box, we will need to record the infrared protocol of your remote control. Please post us your remote-control unit — contact support@stb-tester.com for details.
HDMI CEC control#
Some devices support HDMI CEC commands. This is the technology that TVs use to control a set-top-box using the TV’s own remote control, by sending commands over the HDMI cable to the set-top-box.
You will need our USB CEC adapter. If we didn’t ship one with your Stb-tester Node, contact support@stb-tester.com. Plug it in as per the diagram below — the Stb-tester Node will automatically use the CEC adapter if it is plugged in.

Some devices require a configuration setting to enable CEC:
Apple TV: Enabled by default.
Fire TV: Settings > Display & Sounds > HDMI CEC Device Control.
NVidia Shield: Enabled by default.
PS3: System Settings > Control for HDMI.
PS4: Settings > System > Enable HDMI Device Link.
The valid CEC key names are listed here.
USB HID control#
Some devices can be controlled via a USB HID (Human Interface Device) such as a keyboard. Stb-tester can emulate a USB keyboard to control the device-under-test using our USB-HID cable.
This must be configured in your test-pack git repository in the .stbt.conf file. For example, the following configuration specifies that the remote-control named “nvidia_shield” should use the USB HID control:
[remote-control nvidia_shield]
control = usb-hid
You will need our USB HID cable. If we didn’t ship one with your Stb-tester Node, contact support@stb-tester.com. The “Stb-tester Node” end and the “device-under-test” end of the cable are clearly labelled; they plug into USB ports on the respective devices.
You will need to determine a mapping from Stb-tester’s standard key names (like “KEY_BACK”) to the corresponding USB HID page and keycode (like “KB ESC”). See Key mappings below, and contact support@stb-tester.com for assistance.
Remote control image#
The remote control image displayed in the Manual control tab of the
Stb-tester Portal can be customised by providing an SVG file in
config/remote-control/
with a filename that matches the name of the remote
control (for example config/remote-control/nvidia_shield.svg
).
Usually the Stb-tester Support team will create this for you; if you want to customise it yourself, see the instructions in Custom remote control image.
Key mappings#
For the CEC and USB HID control mechanisms, you may need to specify a mapping from Stb-tester’s standard key names (like “KEY_BACK”) to the corresponding keycodes of the CEC or USB HID protocol. Stb-tester provides a default mapping for the most common keys (KEY_UP, KEY_OK, etc.) but you can override these mappings, or provide additional mappings, in the .stbt.conf configuration file.
For example, to specify mappings for a remote control called “nvidia_shield”,
create a config section called [remote-control nvidia_shield keymap]
, with
the mappings like this:
[remote-control nvidia_shield keymap]
KEY_BACK = KEY_KB_ESC
KEY_SETTINGS = KEY_KB_COMPOSE
KEY_POWER = KEY_ACPI_POWER
To determine how your device-under-test implements each CEC or USB HID keycode, we can provide a special remote-control configuration that has a button for every keycode in the relevant protocol. By trying each keycode, you can create a keymap like the above for your specific device. Please contact support@stb-tester.com for assistance.