Nanashi-softプログラマ専用BD-J


◇BD-J-コントローラー取得-

PS3付属のコントローラのボタン取得は、ほとんど行う事はできません
上下左右○□のみになります

○ボタン取得

押したキーを表示する最小のプログラムで説明した雛形の

  public void keyPressed(KeyEvent evt){
    keycode= evt.getKeyCode();

    repaint();
  }

で取得した、keycodeの値によって識別します

switch(keycode){
case KeyEvent.VK_UP:
  //↑/左スティック↑
  break;
case KeyEvent.VK_DOWN:
  //↓/左スティック↓
  break;
case KeyEvent.VK_RIGHT:
  //→/左スティック→
  break;
case KeyEvent.VK_LEFT:
  //←/左スティック←
  break;
case VK_ENTER:
  //○ボタン
  break;
case 461:
  //□ボタン
  break;
}

○リモコンボタン取得

BD用言語ですので、当然TVリモコンのボタンも取得可能です
PS3コントローラの場合は、△ボタンを押すことで、操作メニューが表示されます
そのうちの上2段が、TVリモコン上のボタンと同等の機能を持っています

switch(keycode){
case KeyEvent.VK_1:
  //1ボタン
  break;
case KeyEvent.VK_2:
  //2ボタン
  break;
case KeyEvent.VK_3:
  //3ボタン
  break;
case KeyEvent.VK_4:
  //4ボタン
  break;
case KeyEvent.VK_5:
  //5ボタン
  break;
case KeyEvent.VK_6:
  //6ボタン
  break;
case KeyEvent.VK_7:
  //7ボタン
  break;
case KeyEvent.VK_8:
  //8ボタン
  break;
case KeyEvent.VK_9:
  //9ボタン
  break;
case KeyEvent.VK_0:
  //0ボタン
  break;
case 403:
  //青ボタン(■□□□)
  break;
case 404:
  //赤ボタン(□■□□)
  break;
case 405:
  //緑ボタン(□□■□)
  break;
case 406:
  //黄ボタン(□□□■)
  break;
}

○現在取得できないボタン

L1,L2,R1,R2は「その操作は実行できません」と表示される
L3,R3,右スティックは、無反応
△は、メニューに割り当てられている
×、は停止に割り当てられている
SELECTは、表示切替に割り当てられている
PSボタンは、再生を終了するか聞いてくる

尚、△を押したメニューで「トップメニュー」を選択するとPS3がフリーズする事があるのでご注意を(電源ボタン長押しで終了できます)

○その他情報

・キーボード
文字入力操作を行う事はできない(インプットボックスにフォーカスを当てるとできるかも知れない)
コントローラーで認識できるボタンしか反応しない

・使えない命令
getModifiersEx (Java v1.3には実装されていない為)


TOPプログラマ専用BD-J