내 상황은 다음과 같습니다. Raspbian이 설치된 Raspberry Pi가 있습니다. RetroArch도 설치하고 간단한 USB 게임패드도 연결했습니다. 모든 것이 잘 작동하지만 키 조합(예: L1+L2+R1+R2)을 누르면 에뮬레이터가 정상적으로 종료되도록 설정하여 키보드를 유지할 필요가 없도록 하고 싶습니다. RetroArch의 일반 종료를 위한 기본 키는 ESC입니다. RetroArch의 제한으로 인해 키 조합으로 다시 매핑할 수 없습니다(그러나 단일 게임패드 키로 다시 매핑할 수는 있습니다).
그래서 게임패드 키 누르기를 수신하고 특정 조합을 눌렀을 때 작업(ESC 키를 에뮬레이터에 보내기)을 수행할 수 있는 유틸리티가 있는지 궁금합니다. 아니면 내가 원하는 것을 달성하는 더 쉬운 방법이 있습니까? 나는 단지 바보입니다.
편집: 이제 생각해보면, 키보드 없이도 시작할 수 있도록 다양한 키 조합을 사용하여 에뮬레이터를 시작하는 bash 스크립트를 실행할 수 있다면 좋을 것 같습니다.
답변1
시도 jstest
해봐. 이 문서에서는 다음과 같은 제목으로 그 사용법에 대해 설명합니다.Flightgear.org - 입력 장치. 대부분의 배포판에 기본적으로 설치되어 있는 것 같습니다. 또한, 여기 링크가 있습니다jstest
매뉴얼 페이지.
기본적으로 조이스틱이 어떤 장치에 할당되어 있는지 확인해야 합니다. dmesg
이 정보를 삽입한 후 로그 파일을 확인하십시오. 아마도 그런 것 같아요 /dev/input0
.
$ dmesg | grep Joystick
input0: USB HID v1.00 Joystick [SAITEK CYBORG 3D USB] on usb2:3.0
그런 다음 다음 명령을 실행하십시오.
$ jstest /dev/input0
답변2
이는 RetroPie/에뮬레이션 스테이션의 일반적인 문제인 것 같습니다.
RetroPie-Setup Wiki에서 이 문제를 해결합니다. https://github.com/petrockblog/RetroPie-Setup/wiki/EmulationStation#my-emulator-wont-close-through-my-gamepad
한 줄을 추가하려면 RetroArch 구성 파일을 편집하기만 하면 됩니다.
input_exit_emulator_btn = “6″
여기서 "6"은 게임패드 버튼 식별자입니다.
키 조합을 사용하려면 다음 줄을 추가하면 됩니다.http://forum.themaister.net/viewtopic.php?pid=1065#p1065)
input_enable_hotkey_btn = 1
input_exit_emulator_btn = 2
단축키를 "잠금 해제"하려면 버튼 1을 누르고 종료하려면 버튼 2를 동시에 눌러야 합니다.
답변3
파일 에 넣으세요 .rc
( .bashrc
bash 사용자인 경우 source .bashrc
).
joyst () {
js='/dev/input/js0'
jscal $js
jstest $js
}
답변4
약간 업데이트된 jstest
답변... 방금 예로 구성한 조이스틱을 사용합니다.
데비안(및 대부분의 파생 제품)에서는 패키지 jstest
에 있습니다 .joystick
apt install joystick
그런 다음 커널 메시지를 검사하여 조이스틱 장치가 제공하는 사람이 읽을 수 있는 설명이 무엇인지 확인합니다. 대괄호 사이에 있습니다. (이 메시지에 대한 안정적인 사양을 찾지 못했으므로 출력에서 대괄호 쌍이 더 많거나 적거나 없을 수도 있습니다.)
dmesg | grep -i joystick
[14265.976322] logitech 0003:046D:C215.0005: input,
hidraw4: USB HID v1.10 Joystick [Logitech Logitech
Extreme 3D] on usb-0000:22:00.3-1.1.1/input0
(위 출력은 한 줄에 표시됩니다. 가독성을 위해 분류했습니다.)
입력 장치 세트에서 이 문자열을 검색합니다. (이 명령은 한 줄에 입력됩니다. 여기서는 가독성을 위해 두 줄로 나뉩니다.)
grep -A 10 -B 2 "Logitech Logitech Extreme 3D"
/proc/bus/input/devices | grep ^H
H: Handlers=event13 js1
이제 우리는 특수 파일을 어떤 장치에 제공할지 알았습니다 jstest
.
jstest /dev/input/js1