web-dev-qa-db-ja.com

ゲームで無視されるゲームパッドのセットアップ

最近、有線(USB)XBox 360ゲームパッドを入手しました。 Ubuntu 12.04を実行している私のラップトップではほとんどプラグアンドプレイでした。ただし、一部の制御軸は混同されていました。 jstest-gtkを使用してマッピングとjscal-storeを再構成し、新しい構成を(おそらく)保存しました。ただし、XonoticまたはNexuiz(First Person Shooters)を実行すると、元の混合マッピングが引き続き使用されます。これらのゲームに新しい構成を認識させるにはどうすればよいですか?ところで、私はXonoticの仕事にもっと関心があります、私は本当にNexuizについてあまり気にすることができませんでした。ゲームのためにマウスとキーボードを使用する必要がある理由について暴言をしないでください。 [:-) 前もって感謝します。

4
Symba

問題は、jstest-gtkがジョイスティックデバイスのマッピング、つまり/dev/input/js0のみを変更することです。ただし、SDLを使用する最新のゲームのほとんどは、ジョイスティックデバイスを使用しなくなりましたが、代わりに未加工のevdev、つまり/ dev/input/eventXを使用しますが、再マッピングは許可されません。

最も簡単な回避策は、環境変数を設定することです。

export SDL_JOYSTICK_DEVICE=/dev/input/js0

これにより、SDLベースのアプリケーションは強制的に古いジョイスティックデバイスを使用し、マッピングを尊重します。 SDL以外のアプリケーションでは役に立ちません。

別の選択肢は xboxdrv です。これは、ドライバーレベルでさまざまな構成オプション(キーボードおよびdマウスエミュレーションを含む)を許可するユーザー空間Xbox360ドライバーです。これはすべてのゲームで機能します。

4
Grumbel

Xonoticの詳細設定には、変更する必要があるjoy_axispitchjoy_axisyawの2つの変数があります。残念ながら、Xonoticは、ゲームを閉じるとそれらをデフォルトにリセットします。これを修正するために行ったのは、/home/username/.xonotic/dataディレクトリにありました。「config-mods.cfg」というファイルを追加しました。このファイルには次の2行があります。
"joy_axispitch" "4"
"joy_axisyaw" "3"

最後に、次の2行のコードで簡単なシェルスクリプトを作成しました。
cat /home/username/.xonotic/data/config-mods.cfg >> /home/username/.xonotic/data/config.cfg

/home/username/Applications/Xonotic/xonotic-linux64-sdl -basedir  /home/username/Applications/Xonotic/`

ゲームを直接実行する代わりにこのスクリプトを実行すると、ジョイスティックのサポートに必要な2行が追加されます。

1
Symba