[InputDevice] web.apireference, added registerKeyBatch functionalities
authorPiotr Kosko <p.kosko@samsung.com>
Mon, 21 Sep 2015 09:33:23 +0000 (11:33 +0200)
committerPiotr Kosko <p.kosko@samsung.com>
Mon, 21 Sep 2015 09:33:23 +0000 (11:33 +0200)
Change-Id: I4d574154bb7d25a408f4dd0b9c02a2056eb71383
Signed-off-by: Piotr Kosko <p.kosko@samsung.com>
org.tizen.tutorials/html/web/tizen/ui/inputdevice_tutorial_w.htm
org.tizen.web.apireference/html/device_api/mobile/tizen/inputdevice.html
org.tizen.web.apireference/html/device_api/wearable/tizen/inputdevice.html

index 15b25a4..f88004a 100644 (file)
@@ -128,6 +128,21 @@ for (var i = 0; i &lt; supportedKeys.length; ++i) {
    }
 }
 </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>
@@ -165,6 +180,20 @@ for (var i = 0; i &lt; supportedKeys.length; ++i) {
    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>
index e407e17..41c29bf 100644 (file)
@@ -60,7 +60,9 @@ An application can handle device dependent key events after registration.
 <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>
@@ -175,6 +177,10 @@ This is the <em>keyCode</em> attribute value of the Key Event generated by the k
         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>
@@ -359,6 +365,151 @@ An application can not register the mandatory keys (ArrowLeft, ArrowRight, Arrow
  </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>
@@ -386,6 +537,10 @@ An application can not register the mandatory keys (ArrowLeft, ArrowRight, Arrow
         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>
index e407e17..41c29bf 100644 (file)
@@ -60,7 +60,9 @@ An application can handle device dependent key events after registration.
 <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>
@@ -175,6 +177,10 @@ This is the <em>keyCode</em> attribute value of the Key Event generated by the k
         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>
@@ -359,6 +365,151 @@ An application can not register the mandatory keys (ArrowLeft, ArrowRight, Arrow
  </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>
@@ -386,6 +537,10 @@ An application can not register the mandatory keys (ArrowLeft, ArrowRight, Arrow
         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>