Existem utilitários de linha de comando que podem capturar os pressionamentos dos botões do joystick?

5

Aqui está a minha situação: Eu tenho um Raspberry Pi com Raspbian instalado nele. Eu também tenho o RetroArch instalado e um simples gamepad USB conectado. Tudo funciona bem, mas eu queria configurá-lo de modo que pressionar uma combinação de teclas (ex L1 + L2 + R1 + R2) saísse elegantemente do emulador para que eu não precisasse manter um teclado por perto. A chave padrão do RetroArch para sair é ESC, e eu não posso remapear para uma combinação de teclas devido a uma limitação no RetroArch (eu poderia, no entanto, remapear para uma única tecla do gamepad).

Então eu queria saber se havia algum utilitário por aí que pudesse ouvir as teclas pressionadas do gamepad e, quando uma certa combinação fosse pressionada, executasse uma ação (enviando a tecla ESC para o emulador). Ou há uma maneira mais fácil de conseguir o que eu quero e estou apenas sendo bobo?

EDIT: Agora que penso nisso, também seria bom se eu pudesse ter uma combinação de teclas diferente para executar um script bash que inicia o emulador para que eu pudesse iniciá-lo sem um teclado também.

    
por Doppelganger 27.06.2013 / 21:44

3 respostas

6

Isto parece um problema comum com a estação RetroPie / Emulation.

Eles abordam isso no Wiki RetroPie-Setup: link

Ele deve apenas exigir a edição do arquivo de configuração do RetroArch para adicionar uma linha:

input_exit_emulator_btn = “6″

Onde "6" é o identificador do botão do gamepad.


Se você quiser que funcione com uma combinação de teclas, adicione as seguintes linhas: (de link )

input_enable_hotkey_btn = 1
input_exit_emulator_btn = 2

Isso faz com que você precise pressionar o botão 1 para "desbloquear" atalhos e pressione 2 ao mesmo tempo para sair.

    
por 27.06.2013 / 22:20
4

Dê uma chance a jstest . Este artigo discute seu uso, intitulado: flightgear.org - Dispositivo de entrada . Parece estar instalado por padrão na maioria das distros. Além disso, aqui está um link para a página jstest man .

Basicamente você tem que determinar qual dispositivo o joystick está sendo atribuído. Procure no arquivo de log dmesg depois de conectá-lo para obter essa informação. Pode ser algo como /dev/input0 .

$ dmesg | grep Joystick
input0: USB HID v1.00 Joystick [SAITEK CYBORG 3D USB] on usb2:3.0 

Em seguida, execute este comando:

$ jstest /dev/input0
    
por 27.06.2013 / 22:13
0

Coloque isso no seu arquivo .rc ( .bashrc se você for um usuário bash e, em seguida, source .bashrc ).

joyst () {
    js='/dev/input/js0'
    jscal  $js
    jstest $js
}
    
por 28.06.2013 / 03:43