Ubuntu 13.04で、Logitech Dual ActionコントローラーをBastionで動作させようとしています。私が集めたものから、BastionはXInputデバイスとのみ互換性があり、コントローラーはDirectInputのみをサポートしています。実際、ゲームはボタン7(左トリガー)とボタン10(コンソールゲームパッドの「スタート」ボタン)を除くほとんどのボタンを認識します。
Xbox 360コントローラーのようなXInputデバイスを何らかの方法でエミュレートすることは可能ですか?
ここ RedditユーザーtheliphantGenによる回答:
私はそれを理解するのにかなりの時間を費やしたので、どこかにこれを書き留めたかっただけです。
簡単に言えば、ゲームパッドを認識するためにBrutal LegendやShankを作成できませんでした。今日、 xboxdrv はevdevを使用して任意のジョイスティック/ゲームパッドの上で動作することがわかりました。したがって、この単純なマッピングで、xboxdrvにxpadドライバーを使用してxbox360コントローラーを模倣し、ShankとBrutal Legendの両方ですぐに動作する別のゲームパッドを作成します(他のユーザーにも必要です)。
xboxdrv --evdev /dev/input/event15 --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RZ=x2,ABS_Z=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --axismap -Y1=Y1,-Y2=Y2 --evdev-keymap BTN_TOP=x,BTN_TRIGGER=y,BTN_THUMB2=a,BTN_THUMB=b,BTN_BASE3=back,BTN_BASE4=start,BTN_BASE=lb,BTN_BASE2=rb,BTN_TOP2=lt,BTN_PINKIE=rt,BTN_BASE5=tl,BTN_BASE6=tr --mimic-xpad --silent
/dev/input/event15
は、ゲームパッドの正しいイベントデバイスを指している必要があります。これはPS2コントローラーアダプターのマッピングです。--silent
を削除し、--evdev-debug
を追加して、押されたボタン/軸のevdevコードを出力することで調整できます