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