【50ポイント】 iアプリに関する質問です。最も参考になる回答をしてくださった方(1名様)に50ポイントを進呈します。


DoJa3.5、4.0対応のiアプリについての質問です。
高レベルAPI(Panelクラス)を使って、十字キーのイベントを取得しようとしています。Panelクラスにインタフェース(KeyListener)を実装し、keyPressedメソッド、keyReleasedメソッドを用意しましたが、どちらのメソッドでもDisplay.KEY_DOWN、Display.KEY_LEFT、Display.KEY_RIGHT、Display.KEY_UPに相当するイベントを取得することができません。(十字キーを操作しても、keyPressedメソッド、keyReleasedメソッドがcallされない)

但し、1や9といったその他ボタンのイベントは取得可能です。この現象は、DoJa3.5開発キットと実機N902iで確認しました。

↓参考までに、DoJa4.1で十字キーのイベントが拾えないという現象は紹介されています。
http://blog.goo.ne.jp/xmldtp/e/a56ab0453d0b0bb24d0c74ce813e1e95

この件についての不具合情報、及び回避策を提供していただきたいです。
あくまで、高レベルAPI(Panelクラス)を使って実現したいので、低レベルAPI(Canvasクラス)を使いましょうといった回避策はご遠慮ください。

以上宜しくお願致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/07/26 13:18:13
  • 終了:2006/07/26 14:26:50

ベストアンサー

id:tsyk No.1

tsyk回答回数33ベストアンサー獲得回数42006/07/26 14:06:44

ポイント60pt

作ろうiモードコンテンツ : iアプリコンテンツの概要 | サービス・機能 | NTTドコモ

DoCoMoのサイトからダウンロードできる「iアプリコンテンツ開発ガイド for DoJa-4.x 詳細編」というpdfファイルの85ページには、KeyListenerについて以下のような記述があります。

【DoJa-2.0】

Panelでは、画面のスクロールやコンポーネントの操作などのために方向キーおよび選択キーを使用します。DoJa-2.0プロファイル以降では、高レベルAPI利用時におけるこれらのキーのキーイベントについては以下のように規定されています。

  • 方向(上下左右)キーはキーイベントを発生しません。これらのキーは、スクロールおよびフォーカス制御のために常にPanelで処理されます。
  • 選択(決定)キーは、フォーカスを得ているコンポーネントがディスプレイ上に表示されている場合に限りキーイベントを発生しません。フォーカスを得ているコンポーネントがディスプレイ上に表示されている状態では、選択キーはそのコンポーネントの操作のためにPanelで処理されます。

なお、DoJa-1.0プロファイルでは、どのような状況でどのようなキーイベントがPanelで処理されるかについてはメーカーにより異なります。

つまり、方向キーのイベントはPanelに喰われてしまう運命なので、どうやっても取得することは不可能ではないかと思います。

id:er7

ありがとうございました。大変参考になりました。また質問することがあれば、宜しくお願い致します。

2006/07/26 14:25:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません