configurer reicast suite à remapping GPIO



  • Bonjour à tous !

    Suite à un remapping des gpio de mon bartop (heu, oui...encore ;) ) je cherche à re-configurer l'émulateur Reicast (si j'ai bien pigé, vu qu'il n'est pas issu de Retroarch, il ne prend pas en compte la config de mes boutons et doit donc être fait "à la main".

    Je pense avoir trouvé le bon fichier, soit "share/system/configs/reicast/controllerP1 ( etP2).cfg.

    on trouve dedans ceci :
    #########
    [compat]

    [emulator]
    mapping_name = GPIO Controller 1
    btn_escape = 314

    [dreamcast]
    btn_b = 307
    btn_a = 310
    btn_x = 305
    axis_trigger_left = 0
    btn_dpad1_up = 315
    btn_dpad1_down = 311
    btn_start = 304
    axis_trigger_right = 1
    btn_y = 308
    axis_x = 0
    #########

    quelqu'un sait'il à quoi correspondent les valeurs genre "314, 307, 310..." ?
    Existe t'il un tableau de concordance genre "Pin X == nombre Y" ?
    Dernier point, je vois que certains boutons sont déclarés en boutons "btn_" et d'autre en axe "axis_trigger_", peut-on changer un axe en boutons (genre "btn_right = xxx" au lieu de "axis_trigger_right = x" comme il à déjà été fait pour "btn_dpad1_down = 311" qui n'est pas déclarer en axis alors que c'en est un) ?

    Merci d'avance pour vos réponses, et bon week-end à tous !


  • Moderator
    Team

    Je pense que ce sontnles valeurs données par evtest
    Utilise evtest pour verifier
    @Substring


  • Moderator
    Team

    @babastorm Yo

    Ma réponse va être d"sagréable, mais si tu te penches sur ce sujet, il faudrait d'abord que tu comprennes ce qu'est un bouton, un axe et un hat. Alors oui, cf evtest. Tu reproches quoi au mapping par défaut ?



  • Salut @acris et @Substring , merci pour vos réponses !
    Tout me semblais (presque) limpide, mais tu débarque avec un hat...et du coup, j'en perd mon axe et mon boutons ;) !

    Du coup, peut tu m'en dire plus sur ces trois termes ?

    J'ai fait un evtest, qui me ressort effectivement les "codes" des boutons enfoncé, à l’exception de ceux qu'il considère comme étant des axes, ou la je n'ai droit qu'à des valeurs positives ou négatives. ces valeurs sont-elles ""inscrites en dur " ainsi ou masquent t'elle" le code d'origine des axes ? (en gros, et en français que même moi je comprend, y a t'il quelques part dans un fichier un truc du style "300 = axis_y_1 , 301 = axis_y_0..."

    Pour le mapping par défaut, j'utilise une nappe genre IDE 40pin, et mes fils partent un à gauche, un à droite, puis re-un à gauche...bref, c'est pas super propre (oui, je sait, c'est au fond de ma borne et ça se vois pas...je me soigne pour ça :D ! ) et puis j'ai dans l'espoir de monter un truc prochainement en utilisant certains pin, du coup, ben faut que je comprenne le truc :)


  • Moderator
    Team

    @babastorm tu n'as pas à comprendre vu que recalbox cétautomatix ... Ca configure tes émulateurs en fonction de tes pads !

    Hat axis et button sont les 3 types d'événements pour un pad
    Hat = croix
    Axis = axe analogique
    Button = self explanatory
    Sauf que ... Ce n'est pas thrs aussi simple. Sur certains pad, la croix = 4 boutons, et sur certains sticks arcade (genre gpio), le stick qui n'a rien d'analogique renvoie de l'axis

    Les codes sont definis dans le kernel de linux. Mais c'est le.pad qui decide ce qu'il renvoie. Donc niveau harmonisation entre tous les pads existants, c'edt vraiment la foire du slip



  • @substring said in configurer reicast suite à remapping GPIO:

    tu n'as pas à comprendre vu que recalbox cétautomatix ... Ca configure tes émulateurs en fonction de tes pads !...//.....Mais c'est le.pad qui decide ce qu'il renvoie. Donc niveau harmonisation entre tous les pads existants, c'edt vraiment la foire du slip

    Dis comme ça, on se demande si l’automatisation étais une bonne idée !
    ce qui me surprend dans ta réponse, c'est qu'un joystick n'est rien d'autre que 4 boutons. Du coup, pourquoi ne pas avoir crée une config du type "btn_left = xxx , btn_up = xxx" "au lieu d'intégrer des axes positif et négatif qui sème un peu la pagaille ?
    Y a t'il un code sous "axis_x 1" genre "300 ou 301..." ?
    Existe t'il un tableau de concordance genre "Pin X == nombre Y" ?


  • Moderator
    Team

    @babastorm s'ils sont là c'est parce que c'est nécessaire hein. Je t'invite à creuser un peu plus le sujet par toi-même avec https://www.kernel.org/doc/html/latest/input/gamepad.html pour commencer



  • @substring , je critique pas, j'essaie juste de comprendre au moins suffisamment pour me sortir de ce mauvais pas.
    Merci pour le lien, j'y vois (un tout petit peu, on va pas se mentir) plus clair.
    Si je suis bien, la gestion primaire des GPIO, et la conversion GPIO=>événement gamepad sont fournis par le kernel Donc, les GPIO renvoie un code (310, 307...) qui est converti ensuite soit en btn_, soit en axis_.
    Il doit donc exister un genre de table de concordance du style GPIO xx = code xxx ?


  • Moderator
    Team

    @babastorm si tu disais clairement où tu veux en venir, parce que tu poses beaucoup de questions sans expliquer ce que tu veux faire au final. Et je suis convaincu que tu abordes ton problème sous le mauvais angle



  • @substring said in configurer reicast suite à remapping GPIO:

    si tu disais clairement où tu veux en venir, parce que tu poses beaucoup de questions sans expliquer ce que tu veux faire au final.

    En fait, c'est toujours là même question un peu reformulé, à laquelle je n'ai d'ailleurs toujours pas ma réponse :D

    Je pense que je vais lâcher l'affaire et retourné à la config initial. Dommage que la gestion des GPIO soit si restreinte, mais cela n'enlève rien à la splendeur de cet OS merveilleux ;) !


  • Moderator
    Team

    @babastorm j'insiste : tu ne formules jamais le problème, mais uniquement la solution ue tu veux appliquer ... Donc à part savoir cimment s'écrivent les fichiers de mapping de reicast,tu ne detailles pas du tout pourquoi tu veux faire ça ...



  • @Substring , de mon coté, je pige pas bien le ton accusateur, vu que mon problème est décris dans mon premier post "Suite à un remapping des gpio de mon bartop (heu, oui...encore ;) ) je cherche à re-configurer l'émulateur Reicast"....


  • Moderator
    Team

    @babastorm ce n'est pas accusateur, mes excuses si le ton en donne l'air

    On donne une consigne sur le mapping et la position des boutons en arcade :
    Y X L
    B A R

    C'est qu'il y a une raison ;) ce schéma est l'essence même de toute configuration dans Recalbox, il vaut mieux que tu rentres dedans sinon tu t'exposes a de gros sushis pour le remapping ou pour la position "attendue" des boutons pour les émulateurs.

    En général on procède inversement pour changer le mapping. Puisque retroarch représente 95% des émulateurs et offre diverses fonctions de remapping (dont le core remap quand le core le permet), c'est lui qu'on reconfigure prioritairement.

    C'est pour ca que tu devrais présenter pleinement ta situation actuelle. Si tu veux par exemple remapper la PSP comme tu veux le faire avec la dreamcast, là c'est encore bien pire parce que PPSSPP a sa propre coiche d'abstraction, et depend de 2 fichiers de config dobt les valeurs sont extrêmement changeantes selon le type de pad.

    A nouveau, si tu veux modifier le mapping de dreamcast, expose plus en détail le pk (ex : tu ne respectes pas l'ordre des boutons que j'ai donné, tu n'as mappé que 4 GPIO etc ...), tin explication est trop vague et ne permet pas de te proposer la meilleure solution pour ton cas.


Log in to reply
 

Want to support us ?

287
Online

24243
Users

12894
Topics

97629
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.