Existe-t-il des utilitaires de command line qui peuvent capturer les touches du joystick?

Voici ma situation: j'ai un Raspberry Pi avec Raspbian installé dessus. J'ai également installé RetroArch et un simple gamepad USB connecté. Tout fonctionne bien, mais je voulais l'installer de sorte que le fait d'appuyer sur une combinaison de touches (ex L1 + L2 + R1 + R2) quitterait gracieusement l'émulateur pour ne pas avoir à garder un keyboard. La key par défaut de RetroArch pour quitter gracieusement est ESC, et je ne peux pas la remapper à une combinaison de touches en raison d'une limitation dans RetroArch (je pourrais cependant la remapper à une seule touche de la manette).

Je me demandais donc s'il y avait des utilitaires qui pourraient écouter les touches de la manette et, quand une certaine combinaison est pressée, effectuer une action (envoi de la touche ESC à l'émulateur). Ou est-il un moyen plus facile d'atteindre ce que je veux et je suis juste stupide?

EDIT: Maintenant que j'y pense, ce serait aussi bien si je pouvais avoir une combinaison de touches différente d'exécuter un script bash qui démarre l'émulateur pour que je puisse le démarrer sans keyboard aussi.

Cela ressemble à un problème commun avec la station RetroPie / Emulation.

Ils l'adressent dans le Wiki RetroPie-Setup: https://github.com/petrockblog/RetroPie-Setup/wiki/EmulationStation#my-emulator-wont-close-through-my-gamepad

Il suffit de modifier votre file de configuration RetroArch pour append une ligne:

input_exit_emulator_btn = “6″ 

Où "6" est l'identifiant du button de la manette.

Si vous voulez le faire fonctionner avec une combinaison de touches, vous pouvez append les lignes suivantes: ( http://forum.themaister.net/viewtopic.php?pid=1065#p1065 )

 input_enable_hotkey_btn = 1 input_exit_emulator_btn = 2 

Cela fait en sorte que vous devez appuyer sur le button 1 pour «déverrouiller» les raccourcis keyboard, et appuyez sur 2 en même time pour quitter.

Donnez- jstest un essai. Cet article traite de son utilisation, intitulée: flightgear.org – Périphérique d'input . Apparaît être installé par défaut dans la plupart des dissortingbutions. En outre, voici un lien vers la page man jstest .

Fondamentalement, vous devez déterminer quel périphérique le joystick est assigné. Regardez dans le file journal dmesg après l'avoir branché pour get cette information. Pourrait être quelque chose comme /dev/input0 .

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

Exécutez ensuite cette command:

 $ jstest /dev/input0 

Mettez ceci dans votre file .rc ( .bashrc si vous êtes un user bash, puis source .bashrc ).

 joyst () { js='/dev/input/js0' jscal $js jstest $js }