This topic describes how your application can receive input from a remote control.
The remote control is the most common way for users to interact with the TV.
Samsung TVs can have 2 types of remote controls:
Basic remote control The basic remote control is a traditional remote control that has, for example, number keys and colored function keys.
Samsung Smart Remote The Samsung Smart Remote is only supported on Samsung UHD TVs. It has only the essential keys and some special function keys. The user can access additional virtual keys on the TV screen by clicking the "123" key.
Some remote control keys have different functions based on whether they are clicked or long-pressed:
On the basic remote control:
Table 1. Basic remote control key functions
On the Samsung Smart Remote:
Table 2. Samsung Smart Remote key functions
To use the TVInputDevice API, the application has to request permission by adding the following privilege to the "config.xml" file:
<tizen:privilege name='http://tizen.org/privilege/tv.inputdevice'> </tizen:privilege>
To detect and handle remote control key clicks:
To retrieve information about the remote control keys that the TV supports, use the getSupportedKeys() method:
getSupportedKeys()
var value = tizen.tvinputdevice.getSupportedKeys(); console.log(value);
The method returns the key name and keyCode value for each supported key.
keyCode
To register the key, add the registerKey() method to the onload event, with the key name as the parameter:
registerKey()
onload
tizen.tvinputdevice.registerKey('MediaPlayPause'); tizen.tvinputdevice.registerKey('ColorF0Red');
Since 2016 models, you can batch register keys using the registerKeyBatch() method, which can improve application launch time:
registerKeyBatch()
tizen.tvinputdevice.registerKeyBatch(['VolumeUp', 'VolumeDown']);
To receive notifications when a remote control key is clicked, add a listener for the keydown event:
keydown
<body ... onkeydown='handleKeydown(event);'> ... </body>
or
document.body.addEventListener('keydown', handleKeyDown);
For more information on the keydown event, see the W3C Keyboard Event Types.
Define the listener. The parameter of the handleKeyDown() method is the keyCode value for the clicked key.
handleKeyDown()
function handleKeydown(event) { switch (event.keyCode) { case tizen.tvinputdevice.getKey('MediaPlayPause').code: //10252 // Something you want to do break; case tizen.tvinputdevice.getKey('ColorF0Red').code: //403 // Something you want to do break; ...
The following table lists the remote control key names and their corresponding keyCode values.
Table 3. Remote control key codes