xjoypad を使う
Linuxでゲームをする時に、USBゲームパッドを使いたいと思うことがある。でも、ゲームパッド(ジョイスティック)に対応していないゲームも多い。ゲームパッドのボタン入力をキー入力に置き換えるソフトは無いものか?
Joy-Device to X mapping
- xjoypad http://members.chello.at/erich.kitzmueller/ammoq/download.html
- Joy2Key http://interreality.org/~tetron/technology/joy2key/
- QJoyPad http://qjoypad.sourceforge.net/
Joy2Keyはとても有名らしいが、使い方がいまいちわからん。。。ので! xjoypadを使うことにした。
xjoypad インストール
- 上の↑リンクよりダウンロード
- unzipコマンドにて展開
- README.txtを良く読んで使い方を知る
- 展開されたディレクトリ内に実行形式 xjoypad があるのでそれを好きなところに置いて実行する
$ unzip xjoypad.zipこれで、フォーカスウインドウに対してjoypadが有効になる。
$ cd xjoypad/
$ less README.txt
$ ./xjoypad -butonns 53 39 54 40 38 52 65 36 & ←最後に&を
↑必要なだけキーコードを指定する
(例: 8個のボタンを指定。十字キーはデフォルト。)
毎回コマンドで指定して起動するのは面倒だと思えば、スクリプト書くなりすれば良い。
xjoypad の使い方
- Running xjoypad
- usage: xjoypad [-display display] [-devicefilename filename] [-verbose] [-up keycode] [-down keycode] [-left keycode] [-right keycode] [-buttons keycode keycode...]
There are reasonable default values for all paramters, see below.
Default Parameters:
[-display display] $DISPLAY
[-devicefilename filename] /dev/input/js0
[-verbose] report USB events
[-up keycode] 98
[-down keycode] 104
[-left keycode] 100
[-right keycode] 102 [-buttons keycode1 keycode2...] 10,11,...
十字ボタンはデフォルトで矢印キーになっている。
ボタンの指定にはkeycodeを知ることが必要になってくる。
xev を使って keycode を知る。
keycodeを知るには、xevを使う。- xevを起動
- 太く囲まれた四角の中にマウスカーソルを置く
- そこで知りたいキーを押す
- keycodeをメモる
![xev Event Tester xev2.gif](https://stat.ameba.jp/user_images/e2/4a/10016273437.gif?caw=800)
$ xev
keycode 53 ←のように表示される。
押したキーは "x" ←のように表示される。
![xev コンソール画面 xev3.gif](https://stat.ameba.jp/user_images/9c/02/10016273454.gif?caw=800)
補足 keycode
ゲームで良く使われるキーのキーコードなど。- [↑] : 98
- [↓] : 104
- [←] : 100
- [→] : 102
- [Enter] : 36
- [Space] : 65
- [Tab] : 23
- [A] : 38
- [S] : 39
- [D] : 40
- [Z] : 52
- [X] : 53
- [C] : 54
今回参考のリンク
http://ayamem.exblog.jp/i9http://www.atmarkit.co.jp/flinux/rensai/linuxtips/222dikeycode.html