USBまたはBluetooth経由で(本物の)SNESコントローラーをコンピューターに接続するためにArduino Unoを使用しています。
Arduino は、 snespad ライブラリを使用して、コントローラーのボタンの押下とリリースをキャプチャします。ボタンの押下とリリースを文字として通信します (たとえば、A を押す場合は 'a'、'A' を離す場合は 'A')。次に、Java プログラムはrxtx ライブラリを使用してシリアル出力をリッスンします。最後に、Java ロボットがkeyPressとkeyReleaseを使用してキーの押下をシミュレートします。
残念ながら、このアプローチにはいくつかの欠点があります。主な問題はキーマッピングです。どのボタンがどのキーボードのキーになるかは、私が勝手に決めました。
Java にはゲーム パッドのKeyEventsがないようです。「ゲーム パッドの KeyEvent」と言うとき、Android SDK にあるもののようなものを意味します: http://developer.android.com/reference/android/view/KeyEvent.html (ctrl+f 「ゲーム パッド」または「ボタン」) .)
私の質問は、Java のロボット クラスを使用して、キーストロークの代わりにゲーム パッドのボタンを押すことをシミュレートする方法はありますか?