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