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には実装されていない為)