xdotool
ゲームパッドxbindkeys
入力でRapidFireを使用するようにキーバインディングを設定する方法がわかります。
私はLogitech F310を持っており、ゲーム中にゲームパッドへのキーバインディングを介してRapidFireをエミュレートする方法を知りたいです。 LinuxはこのゲームパッドをGeneric X-Box pad
デバイス入力として登録し、以下のようにゲームパッドのキーマッピングを通知できます/dev/input/js0
。jstest-gtk
Axis
ABS_X
ABS_Y
ABS_Z
ABS_RX
ABS_RY
ABS_RZ
ABS_HAT0X
ABS_HAT0Y
Buttons
BTN_A
BTN_B
BTN_X
BTN_Y
BTN_TL
BTN_TR
BTN_START
BTN_SELECT
BTN_MODE
BTN_THUMBL
BTN_THUMBR
私はしばしばエミュレータでゲームをプレイしますが、ボタンマッピングの名前が異なりますppsspp
。たとえば、次のようになります。
Dpad UP = pad1.Y HAT-
Dpad DWN = pad1.Y HAT+
Dpad LEFT = pad1.X HAT-
Dpad RIGHT = pad1.X HAT+
CIRCLE = pad1.DOWN
X = pad1.UP
SQUARE = pad1.LEFT
TRIANGLE = pad1.RIGHT
START = pad1.b6
SELECT = pad1.b5
L = pad1.b10
R = pad1.b9
Analogue UP = pad1.Y AXIS-
Analogue DWN = pad1.Y AXIS+
Analogue LEFT = pad1.X AXIS-
Analogue RIGHT = pad1.X AXIS+
RapidFireをエミュレートするキーバインディングをマッピングするためにこれをどのように使用できますか?たとえば、ゲームパッドのボタンを押すRapidFireをシミュレートしたいと思います。ゲームパッドで自動ボタンを押すようにマッピングして変換するにはYどうすればよいですか?xbindkeys
xdotool
答え1
まあ、私は自分でいくつかのアイデアをし、ついに私が望む方法で動作するようにするいくつかの行のコードを見つけましたが、より良くするか短くするように改善できますか?
#!/bin/bash
## RapidFire key modifier for games.
## if you need it to work for something other then
## edit the search parameter name to focus it on that window only.
## You may want to modify the command to include the 'windowactivate' option.
winid=$(xdotool search "PPSSPP 1.0.1" | head -n1)
while true
do
# This will spam the console with echo messages.
# edit out '| echo' if you want a quiet console.
xdotool keydown --window $winid "x" | echo "RapidFire ON" # holding key X down
xdotool keyup --window $winid "x" | echo "RapidFire OFF" # release key X up
done
exit 0
# Press C^ to stop it when done.
#
# See manpage for 'xdotool' for more options.
# http://www.semicomplete.com/projects/xdotool/xdotool.xhtml