戻る 03. キー入力 次へ


ezplusではJ-PHONEと違いキー入力はMIDPの機能だけであり
拡張はされていません。
ですからJ-PHONEのTipsに書いている内容をそのまま使えますが
実は非常に困った問題があります。
また,とても重大な問題ですので書くことにしました。

それはauの携帯にある「メモ/クリアキー」の事です。

多分勝手アプリはほとんど対処してないと思いますが
実はこのキーを押すと例外落ちをします。

なぜかがわかれば回避できるのですが
わからないうちはさっぱり理解不能でした。

ボタンを押すとkeyPressed(int keyCode)が呼ばれます。
その後普通はgetGameAction(keyCode)に通してコードを変換します。
しかし!メモクリアキーを押したときに届くコードを
getGameAction(keyCode)に通すと例外が発生するのです。
これを回避するためにkeyCodeが0の場合はgetGameAction(keyCode)を
呼ばないようにしましょう。

例:
protected synchronized void keyPressed(int keyCode)
{
	if(keyCode==0){return;}//KDDIメモクリアキー対処
	int action=getGameAction(keyCode);
}

しかしこれってezplusのバグの気がするんだけど..(--;