本ページでは、BD-Jでのキーイベントに関する情報をまとめる。
ページコンテンツ
キーイベントの種類
BD-Jで取得可能なキーイベントには以下のものがある。
- テンキー(Numeric Key Event):VK_0…VK_9
- インタラクティブキー(Interactive Key Event):VK_LEFT, VK_RIGHT, VK_UP, VK_DOWN, VK_ENTER, VK_POPUP_MENU
- カラーキー(Color Key Event):VK_COLORED_KEY_0…VK_COLORORED_KEY_3(リモコン上の左から昇順)
- 再生制御キー(Playback Key Event): VK_PLAY, VK_STOP, VK_FAST_FWD, VK_REWIND, VK_TRACK_NEXT, VK_TRACK_PREV, VK_PAUSE, VK_STILL_OFF,VK_SECONDARY_AUDIO_ENABLE_DISABLE,VK_SECONDARY_VIDEO_ENABLE_DISABLE,VK_PG_TEXTST_ENABLE_DISABLE
このうち、再生制御キーイベントは、以下の条件を同時に満たした場合のみ取得可能
- Index Table fileにおいて、対象TitleをBD-J Interactive Titleと宣言
- BD-J Object file中のkeyInterestTableにおいて、取得する再生制御キーに該当するビットが立っていること。詳しくはBD-J Object fileを参照。
キーイベント取得方法
キーイベントの取得方法には次の2種類がある。
- Component経由: 表示されていてインプットフォーカスを得ているXetのみ取得可能。一般的なJavaのキーイベント取得方法
- EventManager経由: 任意のXletで取得可能。主に特定キーの押下により表示されるアプリなどに使用される方法
なお、2によるキー入力の不正取得を防ぐため、インプットフォーカスを得ているXletのみがキーイベント取得ができるよう設定可能。
Top Menu Keyの扱い
Top Menu KeyはTop menu Titleを起動するための特別のキーであり、押下のイベントをBD-Jアプリから直接取得することはできない。
なお、BD-J Object fileのterminalInfo->menuCallMaskをtrueに設定することで、Top Menu Keyを無効にすることが可能である。
なお、BD-J Object fileのterminalInfo->menuCallMaskをtrueに設定することで、Top Menu Keyを無効にすることが可能である。
カラーキーについて
カラーキーの色並びは地域によって異なる。例えばVK_COLORED_KEY_0を発生するカラーキーは青(日本)であったり、赤(欧州)であったりする。
この違いを配慮した国際化対応アプリを作れるよう、キーの色などに関する情報を提供するクラスとしてHEventRepresentationが用意されている。
この違いを配慮した国際化対応アプリを作れるよう、キーの色などに関する情報を提供するクラスとしてHEventRepresentationが用意されている。
関連する項目
- Programming HD DVD and Blu-ray Disc: Chapter 19に詳しく説明あり
- Interactive TV Standards:Chapter 7にEventManagerについて詳しく説明あり
- 再生制御キーイベントの取得: 再生制御キーイベント取得のサンプルコード
- 非フォーカスComponentでのキーイベント取得: EventManager経由のキーイベント取得のサンプルコード
- キーに関する各種情報の取得: HEventRepresentationのサンプルコード
- 排他的キーイベントの取得: EventManagerに対し、インプットフォーカスを得ているXletのみがキーイベント取得できるように設定するサンプルコード