This page was last modified 07:35, 6 June 2008.
Web Runtime Widgetsでキーイベントを取得する方法
From Forum Nokia Wiki
原文(英語): How to interpret key events in WRT widgets?
対象となるバージョン: Web Runtime in S60 3rd Edition, Feature Pack 2
Contents |
ブラウザエンジンによる違い
一般的に、ブラウザエンジンが違うと、JavaScriptレベルで確認できる各キーのキーイベントコードも異なります。S60 Web Runtime Widgetsでは、テキストや入力フィールドが、他のブラウザあるいはWidget環境で取得できるキーイベントの全てをサポートしているわけではありません。
S60 Web Runtime 固有のAPI
S60 Web Runtime API
widget.setNavigationEnabled(false);
ナビゲーションモードを使用不可(Disable)にし、JavaScriptコードがカーソルキーイベントを拾えるようにします。
例
以下に示す簡単な例で、S60 Web Runtimeで提供される各キーイベントを確認することができます。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type="text/javascript">
/*
* attach key listeners
*/
document.onkeypress = keyPress;
document.onkeyup = keyUp;
document.onkeydown = keyDown;
/*
* disable cursor navigation - otherwise cursor
* key events are not received by keypress callbacks
*/
widget.setNavigationEnabled(false);
/*
* show keyCode and charCode.
*/
function keyPress(event) {
document.getElementById('keypressField').innerHTML = event.keyCode + " / " +
event.charCode;
}
function keyDown(event) {
document.getElementById('keydownField').innerHTML = event.keyCode + " / " +
event.charCode;
}
function keyUp(event) {
document.getElementById('keyupField').innerHTML = event.keyCode + " / " +
event.charCode;
}
</script>
</head>
<body>
keyCode / charCode:
<div>
KeyPress:
<div id="keypressField"></div>
</div>
<div>
Keydown:
<div id="keydownField"></div>
</div>
<div>
Keyup:
<div id="keyupField"></div>
</div>
</body>
</html>
キーとキャラクタコードの対応表
下記で参照できるのは、上記テストアプリケーションから取得できる値です。そのフォーマットは event.keyCode / event.charCode となります。
| key | keyPress | keyDown | keyup |
| 0 | 48/48 | 48/48 | 48/48 |
| 1 | 49/49 | 49/49 | 49/49 |
| 2 | 50/50 | 50/50 | 50/50 |
| 3 | 51/51 | 51/51 | 51/51 |
| 4 | 52/52 | 52/52 | 52/52 |
| 5 | 53/53 | 53/53 | 53/53 |
| 6 | 54/54 | 54/54 | 54/54 |
| 7 | 55/55 | 55/55 | 55/55 |
| 8 | 56/56 | 56/56 | 56/56 |
| 9 | 57/57 | 57/57 | 57/57 |
| */+ | 56/42 | 42/42 | 56/42 |
| # | 51/35 | 35/35 | 51/35 |
| C | 8/8 | 8/8 | 8/8 |
| green | 0/63586 | 63586/63586 | 0/63586 |
| center | 0/63557 | 63557/63557 | [n/a]/[n/a] |
| left | 37/63495 | 63495/63495 | [n/a]/[n/a] |
| up | 38/63497 | 63497/63497 | [n/a]/[n/a] |
| right | 39/63496 | 63496/63496 | [n/a]/[n/a] |
| down | 40/63498 | 63498/63498 | [n/a]/[n/a] |
| Related Discussions | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Edit mode in AknForms | akerfeldt | Symbian User Interface | 2 | 2003-10-29 09:35 |
| RuntimeException:for Series 60 2nd Ed SDK for Symbian OS,FP2 | Rameshwari | Mobile Java General | 3 | 2006-08-11 22:40 |
| Runtime Sockets Creation ??? | priya83 | Symbian Networking & Messaging | 3 | 2006-08-12 18:16 |
| Icon Library | kevin1964 | Mobile Java Media (Graphics & Sounds) | 2 | 2004-06-29 20:18 |
| Allow web access?? | newmania | Mobile Java General | 0 | 2003-04-30 00:44 |
