The brs-engine
simulates the Roku remote control, offering customizable mapping and extendable capabilities. The browser libraries support Keyboard and Game Pad simulation, with the default mapping detailed in the section below. It is also possible to customize the control buttons mapping and enable multi-key support using a special manifest
entry.
If you want to create your own control simulation, such as a touch screen control, you can use the Engine API methods sendKeyDown
, sendKeyUp
, and sendKeyPress
.
The NodeJS brs.ecp.js
library supports sending commands via the Roku ECP API, which can also be used to simulate remote control for applications running under the CLI.
The default mapping of the keyboard and game pads to Roku remote control is described below:
Keyboard | Game Pad | Roku Control | Description |
---|---|---|---|
Esc or Del | 1 | Back | Return to the previous screen, some apps will close at the main menu. |
Home or Shift+Esc | 8 | Home | Close the currently loaded app. |
Arrow Keys | Joys & D-Pad | D-Pad | Directional controls to navigate on menus and control games. |
Backspace | 6 or 16 | Replay | Instant replay button. |
Enter | 0 | OK | Select button. |
Insert | 4 or 7 | Info | Information/Settings button |
PageDown | 2 | Rewind | Reverse scan button. |
PageUp | 3 | Fast Forward | Forward scan button. |
End | 5 or 9 | Play/Pause | Play/Pause button. |
Ctrl+A | 10 | A | A game button. |
Ctrl+Z | 11 | B | B game button. |
F10 | 17 | Volume Mute | Button to toggle the simulator audio mute on/off. |
Note: There are mappings not listed above, specific for MacOS or Windows, please look at the file src/api/control.ts
for details.