[Tuto][Obsolète] Configurer manette pour émulateur dédié


  • Staff
    Global moderator
    Team

    Bonjour à tous, Attention ce tutoriel s'adresse uniquement aux personnes qui n'ont pas suivi la notice comme moi et qu'ils n'ont pas configuré leur manette comme un pad Snes. Notamment les personnes utilisant des pads de type XBOX et qui ont configuré leurs touches par rapport aux lettres notées dessus Pour résoudre le problème il suffirait juste de remapper les touches de cette façon : A->B B->A Y->X X->Y SAUF que chez moi des personnes ne comprennent pas les inversions de touches quand ils regardent leur pad. Mes boutons A ET B sont donc inversés ainsi que X et Y. Pour y remédier j'ai crée un fichier de configuration spéciale pour ma manette nommée psx.cfg dans lequel j'ai configuré mes boutons pour l'émulateur PSX. La configuration des boutons par défaut de la manette est stocké dans le dossier /recalbox/configs/retroarch/inputs/nom_manette.cfg Ce fichier de configuration des boutons de la manette est créé par emulationstation. La partie que l'on veut inverser et celle ci :

    input_a_btn = 1
    input_b_btn = 2
    input_x_btn = 0
    input_y_btn = 3
    

    elle deviendra pour ma configuration spécifique pour l'émulateur psx :

    input_player1_a_btn = "2"
    input_player1_b_btn = "1"
    input_player1_x_btn = "3"
    input_player1_y_btn = "0"
    

    #1 Création fichier de configuration spécifique Créer un fichier de configuration manette nommé psx.cfg ou retroarch_psx.cfg. Voici ce qu'il devrait contenir :

    input_device = "Broadcom Bluetooth Wireless Joystick "
    input_driver = "udev"
    input_player1_joypad_index = "0"
    input_player1_select_btn = "8"
    input_player1_start_btn = "9"
    input_player1_up_btn = "h0up"
    input_player1_down_btn = "h0down"
    input_player1_left_btn = "h0left"
    input_player1_right_btn = "h0right"
    input_player1_a_btn = "2"
    input_player1_x_btn = "3"
    input_player1_b_btn = "1"
    input_player1_y_btn = "0"
    input_player1_l_btn = "4"
    input_player1_r_btn = "5"
    input_player1_l2_btn = "6"
    input_player1_r2_btn = "7"
    input_player1_l3_btn = "6"
    input_player1_r3_btn = "7"
    input_player1_l_x_plus_axis = "+0"
    input_player1_l_x_minus_axis = "-0"
    input_player1_l_y_plus_axis = "+1"
    input_player1_l_y_minus_axis = "-1"
    input_player1_r_x_plus_axis = "+2"
    input_player1_r_x_minus_axis = "-2"
    input_player1_r_y_plus_axis = "+3"
    input_player1_r_y_minus_axis = "-3"
    

    Transférer ce fichier dans le dossier /recalbox/configs/retroarch/ Attribuer les droits d'éxecution 0775 chmod +x /recalbox/configs/retroarch/psx.cfg #2 Modification emulatorlauncher.sh Editer le fichier /recalbox/scripts/emulatorlauncher.sh On va indiquer à l'émulateur PSX d'utiliser un fichier de configuration spéciale grâce à la commande de --appendconfig Remplacer la ligne suivante :

    if [[ "$emulator" == "psx" ]]; then
    #/recalbox/scripts/runcommand.sh 4 "$retroarchbin -L $retroarchcores/pcsx_rearmed_libretro.so --config /recalbox/configs/retroarch/retroarchcustom.cfg \"$1\""
    fi
    

    par

    if [[ "$emulator" == "psx" ]]; then
    /recalbox/scripts/runcommand.sh 4 "$retroarchbin -L $retroarchcores/pcsx_rearmed_libretro.so --config /recalbox/configs/retroarch/retroarchcustom.cfg --appendconfig /recalbox/configs/retroarch/psx.cfg \"$1\""
    
    fi
    

    Enregistrer les modifications vérifier que les droits n'ont pas changés, rebooter votre rpi puis tester votre emulateur psx. */!\ Information pour ajouter une seconde manette /!* Pour ajouter un second joueur copier coller la même chose et remplacer input_player1a_btn = "2" par inputplayer2a_btn = "2" ou inputplayer3_a_btn = "2" ET input_player1_joypad_index = "0" PAR input_player2_joypad_index = "1" OU input_player3_joypad_index = "2" A noter que l'émultateur psx utilise retroarch, cette modification peut s'appliquer à d'autres émultateurs utilisant retroarch.



  • Salut acris, Je n'ai pas tout compris a ton post pourtant je suis sur qu'il ne peux que m'interesser. Comme toi, je voudrais configurer mes boutons en fonction de chaque machine émulé, mais je n'y arrive pas. J'ai trouvé ton sujet en croyant trouvé mon bonheur,mais je n'ai pas compris ce que tu fais. Je suis désolé je suis vraiment une bille en ce qui concerne les trucs en .ssh etc... mais je ne demande qu'a apprendre, et je souhaiterai juste savoir deux ou trois chose. On doit creer nous meme le fichier ou c'est une modification d'un fichier déja existant dans la distrib recalbox ? Et est ce que dans l'exemple que tu donne cela modifie chaque émulateur, ou juste celui de la psx ? Merci par avance pour ton aide et bonne soirée.


  • Staff
    Global moderator
    Team

    Bonjour @lestatrico

    Salut acris, Je n’ai pas tout compris a ton post pourtant je suis sur qu’il ne peux que m’interesser. Comme toi, je voudrais configurer mes boutons en fonction de chaque machine émulé, mais je n’y arrive pas. J’ai trouvé ton sujet en croyant trouvé mon bonheur,mais je n’ai pas compris ce que tu fais.

    Tu es dans le bon sujet pour créer une configuration de manette pour un émultateur en particulier. Dans mon exemple, il s'agit de l'émulateur psx. J'ai modifié mon 1er sujet pour le compléter au niveau explication.

    . On doit creer nous meme le fichier ou c’est une modification d’un fichier déja existant dans la distrib recalbox ?

    Non, on doit créer le fichier de configuration nous même pour configurer chaque emulateur.

    Et est ce que dans l’exemple que tu donne cela modifie chaque émulateur, ou juste celui de la psx ? Merci par avance pour ton aide et bonne soirée.

    Mon exemple concerne l'émulateur psx mais tu peux utiliser la même technique pour les emultateurs utilisant retroarch. J'ai fait la même chose pour l'émulateur SNES. Je vais essayer de t'expliquer. Lors de la 1ere configuration de la manette sous recalbox en utilisant emulationstation (bouton start > configuration manette) Un fichier de configuration de la manette est créé et stocké dans le dossier /recalbox/configs/retroarch/inputs Dans ce dossier tu devrais trouver au moins 2 fichiers : default.cfg et ta_manette.cfg (dans mon cas Broadcom Bluetooth Wireless Joystick) .cfg)

    # ls  /recalbox/configs/retroarch/inputs
    Broadcom Bluetooth Wireless  Joystick                        .cfg
    DEFAULT.cfg
    

    Grâce à ce fichier cfg, il va te permettre de créer un nouveau fichier de configuration manette "spéciale" pour un émulateur dédié. Sur ton pc, via le bloc note ou notepad++ Copie colle ce contenu de base et remplace entre les guillements les chiffres contenu dans ton fichier de configuration manette

    input_device = ""
    input_driver = "udev"
    input_player1_joypad_index = "0"
    input_player1_select_btn = ""
    input_player1_start_btn = ""
    input_player1_up_btn = "h0up"
    input_player1_down_btn = "h0down"
    input_player1_left_btn = "h0left"
    input_player1_right_btn = "h0right"
    input_player1_a_btn = ""
    input_player1_x_btn = ""
    input_player1_b_btn = ""
    input_player1_y_btn = ""
    input_player1_l_btn = ""
    input_player1_r_btn = ""
    input_player1_l2_btn = ""
    input_player1_r2_btn = ""
    input_player1_l3_btn = ""
    input_player1_r3_btn = ""
    input_player1_l_x_plus_axis = ""
    input_player1_l_x_minus_axis = ""
    input_player1_l_y_plus_axis = ""
    input_player1_l_y_minus_axis = ""
    input_player1_r_x_plus_axis = ""
    input_player1_r_x_minus_axis = ""
    input_player1_r_y_plus_axis = ""
    input_player1_r_y_minus_axis = ""
    

    enregistre le sous un nom choisi psx.cfg par exemple, pour le transfère et les droits je te laisse relire la partie #1 ensuite il faut dire à l'emulateur psx de choisir le fichier de configuration spéciale que nous avons créé. pour cela on va ajouter la commande --appendconfig à la commande d’exécution de retroarch . relire la partie #2 J'espère que j'ai été un peu plus clair



  • oui cela me parait déja plus clair, je te remercie, je vais m'y atteler des ce matin, car pour le moment je n'etait qu'en phase de test pour les jeux, mais je n'avais encore jamais lancé retroarch au lancement d'un jeu, c'est maintenant chose faite, mais il faut que j'arrive a comprendre comment il fonctionne. Je vais essayer de trouver un tuto qui explique ce a quoi sert chaque chose, sinon, je vais encore m'égarer, car meme dans core options, j'ai vu des truc genre "pad type 1 -- Standart/analog", qui sont surement lié a la configuration manette, non ? Ensuite, autre chose, j'ai voulu déja realiser ma première config via retroarch, et alors que j'ai remappé tout les boutons, je lui demande de sauvegarder "remap file save as", et la ca plante a chaque fois retroarch, obligé de rebooter recalbox a la main :/. Il y aurait il manipulation a faire de spécial ?


  • Staff
    Global moderator
    Team

    recalbox est conçu pour configurer automatiquement retroarch au niveau du mapping des touches via emulationstation. Personnellement je ne toucherai pas ses options.



  • Donc j'ai tout repris depuis le début, car je ne m'etais pas vraiment occupé de la config bouton meme sou émulationstation. Par contre, j'ai un souci que je ne comprends pas, j'ai une manette filaire de 360 qui est parfaitement détecté, je prends en exemple la manette super nintendo pour la configurer sous émulationstation, je lui attribue les boutons, seulement a chaque fois, je ne peux attribuer le bouton R2, il me le skip a chaque fois. Il y a t'il la encore quelques chose a faire pour que tout les boutons sois pris en compte ? Voici le fichier que j'obtiens apres la config sans l'attribution de R2 input_device = "Microsoft X-Box 360 pad" input_driver = "udev" input_a_btn = 1 input_b_btn = 0 input_menu_toggle_btn = 0 input_down_btn = h0down input_state_slot_decrease_btn = h0down input_l_x_minus_axis = -0 input_l_x_plus_axis = +0 input_l_y_minus_axis = -1 input_l_y_plus_axis = +1 input_l2_axis = +2 input_left_btn = h0left input_rewind_btn = h0left input_r_btn = 5 input_l_btn = 4 input_screenshot_btn = 4 input_right_btn = h0right input_hold_fast_forward_btn = h0right input_select_btn = 6 input_start_btn = 7 input_exit_emulator_btn = 7 input_up_btn = h0up input_state_slot_increase_btn = h0up input_x_btn = 3 input_load_state_btn = 3 input_y_btn = 2 input_save_state_btn = 2 Comme tu peux le voir, il est différent du tien, je ne trouve meme pas input_R2_axis = -2 (surement parce que je n'ai pas réussi a l'attribuer sous émulationstation) et je ne sais pas si je dois la rajouter a la main, et si oui, juste en dessous de input_l2_axis = +2 ou ailleurs ? Je sais que pour beaucoup, c'est simple, mais pour les nuls, c'est pas la meme, je suis vraiment paumé dans ce que je dois faire, et au final je suis pas pret de jouer aux autre machine.



  • voila mon fichier pour la manette xbox comme tu me l'a demandé [quote] input_device = "Microsoft X-Box 360 pad" input_driver = "udev" input_a_btn = 1 input_b_btn = 0 input_menu_toggle_btn = 0 input_down_btn = h0down input_state_slot_decrease_btn = h0down input_l_x_minus_axis = -0 input_l_x_plus_axis = +0 input_l_y_minus_axis = -1 input_l_y_plus_axis = +1 input_l2_axis = +2 input_left_btn = h0left input_rewind_btn = h0left input_r_btn = 5 input_l_btn = 4 input_screenshot_btn = 4 input_right_btn = h0right input_hold_fast_forward_btn = h0right input_select_btn = 6 input_start_btn = 7 input_exit_emulator_btn = 7 input_up_btn = h0up input_state_slot_increase_btn = h0up input_x_btn = 3 input_load_state_btn = 3 input_y_btn = 2 input_save_state_btn = 2 [/quote]



  • Lestarico le fichier que tu donnes est le résultat généré automatiquement par le script CreateRetroarchConfig.sh. Ce script se base sur le fichier es_input.cfg qui se trouve dans root/.emulstation/. Il te faut donc modifier le fichier es_input.cfg puis éventuellement le script CreateRetroarchConfig.sh pour observer le résultat dans le fichier Microsoft X-Box 360 pad.cfg dans le repertoire /recalbox/configs/retroarch/inputs. Pour faire très simple si tu veux que tes boutons gachettes l2 et r2 fonctionnent débrouilles toi (en modifiant es_input.cfg et CreateRetroarchConfig.sh) pour que dans ton fichier Microsoft X-Box 360 pad.cfg dans le repertoire /recalbox/configs/retroarch/inputs, tu aies exactement après un reboot: input_l2_axis = +2 input_r2_axis = +5 C'est la syntaxe correcte pour ces deux boutons (attention uniquement pour les manettes xbox 360 filaire, les autres je ne sais pas) pour que retroarch (les autres émulateurs je n'ai pas essayé) les autoconfigure automatiquement... Pour archive, j'avais écris un tuto concernant la configuration de la manette xbox360 filaire et des fameux boutons l2 et r2 ainsi que le joystick analogique droit de la manette ici, tu y trouveras les modifications à faire en détails sur es_input.cfg puis le script CreateRetroarchConfig.sh: http://blog.recalbox.com/forums/topic/tuto-faire-fonctionner-xbox-360-filaire-sous-retroarch-l2-et-r2-compris/#post-2274. Rq: le tuto est maintenant ancien et je croyais que retroboy avait intégré ces modifs pour que la manette soit reconnu... donc méfiance ça pourrait faire doublon => je vous recommande de faire des backups des fichiers si vous vous plantez... Pour finir, une fois ces modifications faites il ne faut surtout pas relancer la configuration de la manette dans EmulationStation (ce n'est pas necessaire...) Amitié,



  • Salut ! je débarque sur le forum et j'ai un problème évidement ! Je me suis fait un bartop avec Recalbox 3.3 qui tourne parfaitement (merci et bravo les mecs) mais j'ai un souci... Dans tous les émulateurs, impossible de quitter ! Je m'explique. Mon bouton "ECHAP" est utilisé comme "HOTKEY" donc dans les émulateurs, qui passent par RetroArch, j'ai configurer ce bouton pour QUITTER le jeu et revenir au menu de RecalBox... Sauf que, quand je sauvegarde ma config, elle fonctionne parfaitement si je "revient" au jeu mais une fois que je quitte le jeu et que j'en relance un autre, le bouton ne fonctionne plus... J'ai passé des heures dessus et je désespère... Je ne veux pas garder mon clavier avec moi juste pour pouvoir quitter l'émulateur ! J'implore votre savoir ! lol. Merci d'avance.


  • Staff
    Global moderator
    Team

    Bonjour tu aurais pu créer ton propre sujet et eviter de faire un tutoriel obsolète. Ne sachant pas la référence de ton encodeur tu ne donnes aucune information ! Ma boule de cristal me dit que c'est surement un xin mo je vais te renvoyer vers la lecture du wiki sur le sujet : https://github.com/recalbox/recalbox-os/wiki/Xin-mo-(FR) et si ça ne va toujours pas, effectuer cette manipulation https://github.com/recalbox/recalbox-os/wiki/Troubleshooting-controllers-(EN) et d ouvrir ton propre sujet en donnant un maxium d information : version rpi, recalbox, info sur ton encodeur joystick, explication sur ton probleme merci d'eviter les mises en page lourde ça rend ton texte illisible.


Log in to reply
 

Want to support us ?

340
Online

81.4k
Users

22.2k
Topics

161.4k
Posts