トップ > Flash Lite 2.0 / 3.0 > FL3 | 携帯のキーコードを調べてみる

FL3 | 携帯のキーコードを調べてみる

Flash Lite 3.0 では、キーコードが取得可能。ふと思いキーコードを取得するサンプルを作ってみる。

というのも、いろいろと検証している時に、上下キーのキーコードって実際にはどうなっているんだろうと思ったのがキッカケ。上下キーのイベントなどの対応範囲を知りたいと思って。

Flash Lite 3.0 なので、上記URLのコンテンツを閲覧できない機種もあると思う…(汗

とりあえず所持している実機の SH905i で試してみると下記のような結果となった。

  keyCode keyAscii chr() 関連キー
決定 13 13   ENTER
9 9   TAB
9 9   TAB
1 49 49 1  
2 50 50 2  
3 51 51 3  
4 52 52 4  
5 53 53 5  
6 54 54 6  
7 55 55 7  
8 56 56 8  
9 57 57 9  
0 48 48 0  
* 56 42 *  
# 51 35 #  

多分、ここでポイントとなるのが「上」「下」キーだと思う。何故かキーコードが両方とも「9」となり「TAB」キーに相当する結果となった。

これは、Flash Lite コンテンツを PC で閲覧する際に、上は「SHIFT+TAB」、下は「TAB」に対応しているためのようだ。しかし実際に携帯で確認すると、上下キーの区別がつかない状態となっている。

もしかすると上キーは「SHIFT」も表示されるかなと思っていただけに残念…orz

あとはキャリアや機種によっても微妙に異なってくるのかなーとか思ったりもする(汗

結果的には、上下のキーイベント時には区別する判断がつかないので従来の手法で対応するしかないようだ…。ふーむ。なんだかなーという感じ。

ちなみに、このサンプルのコードはこんな感じ。とりあえずキーに関する情報は網羅しているはず。多分。きっと。


initKeySys();
initKeyEvent();
	
//システム機能
function initKeySys() {
	k4 = "has4WayKeyAS:" + System.capabilities.has4WayKeyAS + "\n";
	k4 += "hasMappableSoftKeys:" + System.capabilities.hasMappableSoftKeys + "\n";
	k4 += "hasQWERTYKeyboard:" + System.capabilities.hasQWERTYKeyboard + "\n";
	k4 += "softKeyCount:" + System.capabilities.softKeyCount + "\n";
}
//キーイベント
function initKeyEvent() {
	var keyListener:Object = new Object();
	keyListener.onKeyDown = function () {
		k0 = Key.getCode();
		k1 = Key.getAscii();
		k2 = chr(Key.getAscii());
		k3 = ""
		if (Key.isDown(Key.SHIFT)) k3 += "SHIFT ";
		if (Key.isDown(Key.TAB)) k3 += "TAB ";
		if (Key.isDown(Key.END)) k3 += "END ";
		if (Key.isDown(Key.HOME)) k3 += "HOME ";
		if (Key.isDown(Key.SPACE)) k3 += "SPACE ";
		if (Key.isDown(Key.UP)) k3 += "UP ";
		if (Key.isDown(Key.DOWN)) k3 += "DOWN ";
		if (Key.isDown(Key.ENTER)) k3 += "ENTER ";
		if (Key.isDown(Key.PGUP)) k3 += "PGUP ";
		if (Key.isDown(Key.PGDN)) k3 += "PGDN ";
		if (Key.isDown(Key.BACKSPACE)) k3 += "BACKSPACE ";
		if (Key.isDown(Key.CAPSLOCK)) k3 += "CAPSLOCK ";
		if (Key.isDown(Key.CONTROL)) k3 += "CONTROL ";
		if (Key.isDown(Key.DELETEKEY)) k3 += "DELETEKEY ";
		if (Key.isDown(Key.ESCAPE)) k3 += "ESCAPE ";
		if (Key.isDown(Key.INSERT)) k3 += "INSERT ";
		if (Key.isDown(Key.LEFT)) k3 += "LEFT ";
		if (Key.isDown(Key.RIGHT)) k3 += "RIGHT ";
		
		var code = Key.getCode();
		if (code == ExtendedKey.SOFT1) k3 += "SOFT1 ";
		if (code == ExtendedKey.SOFT2) k3 += "SOFT2 ";
		if (code == ExtendedKey.SOFT3) k3 += "SOFT3 ";
		if (code == ExtendedKey.SOFT4) k3 += "SOFT4 ";
		if (code == ExtendedKey.SOFT5) k3 += "SOFT5 ";
		if (code == ExtendedKey.SOFT6) k3 += "SOFT6 ";
		if (code == ExtendedKey.SOFT7) k3 += "SOFT7 ";
		if (code == ExtendedKey.SOFT8) k3 += "SOFT8 ";
		if (code == ExtendedKey.SOFT9) k3 += "SOFT9 ";
		if (code == ExtendedKey.SOFT10) k3 += "SOFT10 ";
		if (code == ExtendedKey.SOFT11) k3 += "SOFT11 ";
		if (code == ExtendedKey.SOFT12) k3 += "SOFT12 ";
	}
	Key.addListener(keyListener); 
}

この記事をブックマークしておく

コメント:0

コメント投稿

コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。

この情報を記憶する

トップ > Flash Lite 2.0 / 3.0 > FL3 | 携帯のキーコードを調べてみる

記事検索
カテゴリ
RSSフィード

このページの先頭へ戻る