}
}
</pre>
+
+<p>If we know exactly list of keys, we want to register, registering could be done with async method <em>registerKeyBatch()</em></p>
+<pre class="prettyprint">
+var keys = ["VolumeUp", "VolumeDown"];
+function errorCB(err) {
+ console.log( 'The following error occurred: ' + err.name);
+}
+
+function successCB() {
+ console.log('All keys registsered successfully');
+}
+
+tizen.inputdevice.registerKeyBatch(keys, successCB, errorCB);
+</pre>
+
</li>
<li>
console.log("key: " + supportedKeys[i].name + " was unregistered for event handling");
}
</pre>
+
+<p>Unregistering keys, also could be done with <em>unregisterKeyBatch()</em>:</p>
+<pre class="prettyprint">
+var keys = ["VolumeUp", "VolumeDown"];
+function errorCB(err) {
+ console.log( 'The following error occurred: ' + err.name);
+}
+function successCB() {
+ console.log('Unregistsered successfully');
+}
+var keys = ["VolumeUp", "VolumeDown"];
+tizen.inputdevice.unregisterKeyBatch(keys, successCB, errorCB);
+</pre>
+
<p>After unregistration <em>keydown</em> and <em>keyup</em> events would not be triggered for those keys.</p>
</li>
</ol>
<a href="#InputDeviceKey">InputDeviceKey</a>[] <a href="#InputDeviceManager::getSupportedKeys">getSupportedKeys</a> ()<br>
<a href="#InputDeviceKey">InputDeviceKey</a>? <a href="#InputDeviceManager::getKey">getKey</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName)<br>
void <a href="#InputDeviceManager::registerKey">registerKey</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName)<br>
- void <a href="#InputDeviceManager::unregisterKey">unregisterKey</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName)</td>
+ void <a href="#InputDeviceManager::unregisterKey">unregisterKey</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName)<br>
+ void <a href="#InputDeviceManager::registerKeyBatch">registerKeyBatch</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)<br>
+ void <a href="#InputDeviceManager::unregisterKeyBatch">unregisterKeyBatch</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</td>
</tr>
</tbody>
</table>
void registerKey(<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
void unregisterKey(<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+ void registerKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+ void unregisterKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
};</pre>
<p><span class="version">
Since: </span>
</pre>
</div>
</dd>
+<dt class="method" id="InputDeviceManager::registerKeyBatch">
+<a class="backward-compatibility-anchor" name="::InputDevice::InputDeviceManager::registerKeyBatch"></a><code><b><span class="methodName">registerKeyBatch</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Registers a batch of input device keys to receive DOM keyboard event when any of them is pressed or released
+ </div>
+<div class="synopsis"><pre class="signature prettyprint">void registerKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+ </pre></div>
+<p><span class="version">
+ Since: </span>
+ 2.4
+ </p>
+<div class="description">
+ <p>
+The errorCallback is launched with this error type:
+ </p>
+ <ul>
+ <li>
+InvalidValuesError: If any of the given keyNames is invalid or not supported </li>
+ <li>
+UnknownError: In case of any other error </li>
+ </ul>
+ <p>
+When an application wants to react to the input device keys being pressed, it should register those keys.
+ </p>
+ <p>
+An application can not register the mandatory keys (ArrowLeft, ArrowRight, ArrowUp, ArrowDown, Enter, Back).
+ </p>
+ </div>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+ <li class="param">
+<span class="name">keyNames</span>:
+ The array with key names of keys which should generate DOM key events when pressed
+ </li>
+ <li class="param">
+<span class="name">successCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when keys are registered.
+ </li>
+ <li class="param">
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when an error has occurred.
+ </li>
+ </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+ <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type InvalidValuesError, if any of the given keyNames is invalid or not supported (e.g. name is empty string).
+ </p></li>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+ </p></li>
+<li class="list"><p>
+ with error type UnknownError in any other error case.
+ </p></li>
+</ul>
+</li></ul>
+ </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> function errorCB(err) {
+ console.log( 'The following error occurred: ' + err.name);
+ }
+
+ function successCB() {
+ console.log('Registsered successfully');
+ }
+
+ var keys = ["VolumeUp", "VolumeDown"];
+ tizen.inputdevice.registerKeyBatch(keys, successCB, errorCB);
+ </pre>
+</div>
+</dd>
+<dt class="method" id="InputDeviceManager::unregisterKeyBatch">
+<a class="backward-compatibility-anchor" name="::InputDevice::InputDeviceManager::unregisterKeyBatch"></a><code><b><span class="methodName">unregisterKeyBatch</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Unregisters a batch of input device keys
+ </div>
+<div class="synopsis"><pre class="signature prettyprint">void unregisterKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+ </pre></div>
+<p><span class="version">
+ Since: </span>
+ 2.4
+ </p>
+<div class="description">
+ <p>
+The errorCallback is launched with this error type:
+ </p>
+ <ul>
+ <li>
+InvalidValuesError: If any of the given keyNames is invalid or not supported </li>
+ <li>
+UnknownError: In case of any other error </li>
+ </ul>
+ </div>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+ <li class="param">
+<span class="name">keyNames</span>:
+ The array containing names of keys which should not be monitored any longer
+ </li>
+ <li class="param">
+<span class="name">successCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when keys are unregistered.
+ </li>
+ <li class="param">
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when an error has occurred.
+ </li>
+ </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+ <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type InvalidValuesError, if any of the given keyNames is invalid or not supported (e.g. name is empty string).
+ </p></li>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+ </p></li>
+<li class="list"><p>
+ with error type UnknownError in any error case.
+ </p></li>
+</ul>
+</li></ul>
+ </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> function errorCB(err) {
+ console.log( 'The following error occurred: ' + err.name);
+ }
+
+ function successCB() {
+ console.log('Unregistsered successfully');
+ }
+ var keys = ["VolumeUp", "VolumeDown"];
+ tizen.inputdevice.unregisterKeyBatch(keys, successCB, errorCB);
+ </pre>
+</div>
+</dd>
</dl>
</div>
</div>
void registerKey(<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
void unregisterKey(<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+ void registerKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+ void unregisterKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
};
};</pre>
<a href="#InputDeviceKey">InputDeviceKey</a>[] <a href="#InputDeviceManager::getSupportedKeys">getSupportedKeys</a> ()<br>
<a href="#InputDeviceKey">InputDeviceKey</a>? <a href="#InputDeviceManager::getKey">getKey</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName)<br>
void <a href="#InputDeviceManager::registerKey">registerKey</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName)<br>
- void <a href="#InputDeviceManager::unregisterKey">unregisterKey</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName)</td>
+ void <a href="#InputDeviceManager::unregisterKey">unregisterKey</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName)<br>
+ void <a href="#InputDeviceManager::registerKeyBatch">registerKeyBatch</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)<br>
+ void <a href="#InputDeviceManager::unregisterKeyBatch">unregisterKeyBatch</a> (<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback)</td>
</tr>
</tbody>
</table>
void registerKey(<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
void unregisterKey(<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+ void registerKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+ void unregisterKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
};</pre>
<p><span class="version">
Since: </span>
</pre>
</div>
</dd>
+<dt class="method" id="InputDeviceManager::registerKeyBatch">
+<a class="backward-compatibility-anchor" name="::InputDevice::InputDeviceManager::registerKeyBatch"></a><code><b><span class="methodName">registerKeyBatch</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Registers a batch of input device keys to receive DOM keyboard event when any of them is pressed or released
+ </div>
+<div class="synopsis"><pre class="signature prettyprint">void registerKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+ </pre></div>
+<p><span class="version">
+ Since: </span>
+ 2.4
+ </p>
+<div class="description">
+ <p>
+The errorCallback is launched with this error type:
+ </p>
+ <ul>
+ <li>
+InvalidValuesError: If any of the given keyNames is invalid or not supported </li>
+ <li>
+UnknownError: In case of any other error </li>
+ </ul>
+ <p>
+When an application wants to react to the input device keys being pressed, it should register those keys.
+ </p>
+ <p>
+An application can not register the mandatory keys (ArrowLeft, ArrowRight, ArrowUp, ArrowDown, Enter, Back).
+ </p>
+ </div>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+ <li class="param">
+<span class="name">keyNames</span>:
+ The array with key names of keys which should generate DOM key events when pressed
+ </li>
+ <li class="param">
+<span class="name">successCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when keys are registered.
+ </li>
+ <li class="param">
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when an error has occurred.
+ </li>
+ </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+ <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type InvalidValuesError, if any of the given keyNames is invalid or not supported (e.g. name is empty string).
+ </p></li>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+ </p></li>
+<li class="list"><p>
+ with error type UnknownError in any other error case.
+ </p></li>
+</ul>
+</li></ul>
+ </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> function errorCB(err) {
+ console.log( 'The following error occurred: ' + err.name);
+ }
+
+ function successCB() {
+ console.log('Registsered successfully');
+ }
+
+ var keys = ["VolumeUp", "VolumeDown"];
+ tizen.inputdevice.registerKeyBatch(keys, successCB, errorCB);
+ </pre>
+</div>
+</dd>
+<dt class="method" id="InputDeviceManager::unregisterKeyBatch">
+<a class="backward-compatibility-anchor" name="::InputDevice::InputDeviceManager::unregisterKeyBatch"></a><code><b><span class="methodName">unregisterKeyBatch</span></b></code>
+</dt>
+<dd>
+<div class="brief">
+ Unregisters a batch of input device keys
+ </div>
+<div class="synopsis"><pre class="signature prettyprint">void unregisterKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback);
+ </pre></div>
+<p><span class="version">
+ Since: </span>
+ 2.4
+ </p>
+<div class="description">
+ <p>
+The errorCallback is launched with this error type:
+ </p>
+ <ul>
+ <li>
+InvalidValuesError: If any of the given keyNames is invalid or not supported </li>
+ <li>
+UnknownError: In case of any other error </li>
+ </ul>
+ </div>
+<div class="parameters">
+<p><span class="param">Parameters:</span></p>
+<ul>
+ <li class="param">
+<span class="name">keyNames</span>:
+ The array containing names of keys which should not be monitored any longer
+ </li>
+ <li class="param">
+<span class="name">successCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when keys are unregistered.
+ </li>
+ <li class="param">
+<span class="name">errorCallback</span><span class="optional"> [optional]</span><span class="optional"> [nullable]</span>:
+ Callback method to be invoked when an error has occurred.
+ </li>
+ </ul>
+</div>
+<div class="exceptionlist">
+<p><span class="except">Exceptions:</span></p>
+ <ul class="exception"><li>WebAPIException<ul>
+<li class="list"><p>
+ with error type InvalidValuesError, if any of the given keyNames is invalid or not supported (e.g. name is empty string).
+ </p></li>
+<li class="list"><p>
+ with error type TypeMismatchError, if any input parameter is not compatible with the expected type for that parameter.
+ </p></li>
+<li class="list"><p>
+ with error type UnknownError in any error case.
+ </p></li>
+</ul>
+</li></ul>
+ </div>
+<div class="example">
+<span class="example"><p>Code example:</p></span><pre name="code" class="examplecode prettyprint"> function errorCB(err) {
+ console.log( 'The following error occurred: ' + err.name);
+ }
+
+ function successCB() {
+ console.log('Unregistsered successfully');
+ }
+ var keys = ["VolumeUp", "VolumeDown"];
+ tizen.inputdevice.unregisterKeyBatch(keys, successCB, errorCB);
+ </pre>
+</div>
+</dd>
</dl>
</div>
</div>
void registerKey(<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
void unregisterKey(<a href="#InputDeviceKeyName">InputDeviceKeyName</a> keyName) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+ void registerKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
+
+ void unregisterKeyBatch(<a href="#InputDeviceKeyName">InputDeviceKeyName</a>[] keyNames, optional <a href="tizen.html#SuccessCallback">SuccessCallback</a>? successCallback, optional <a href="tizen.html#ErrorCallback">ErrorCallback</a>? errorCallback) raises(<a href="tizen.html#WebAPIException">WebAPIException</a>);
};
};</pre>