Navigation

    Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Interface GP-WIZ 40

    Manettes/GPIO/Encodeurs
    interface usb j
    3
    12
    1757
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • krahoc
      krahoc last edited by

      Bonjour à tous,   J'ai un control panel arcade depuis quelques temps déjà (avant le raspberry pi) avec une interface USB : la GP-WIZ 40 ( http://groovygamegear.com/webstore/index.php?main_page=product_info&products_id=235 ). L'interface HID est reconnue par linux : http://pastebin.com/XUJthaWD Les sticks sont reconnus aussi comme étant pour chacun 2 axes analogiques : http://pastebin.com/NDDm7R8T.   Problème : une fois dans ES, les boutons sont bien détectés mais pas les sticks.   Une idée du pourquoi et de la solution à adopter ? 😃   Merci !

      1 Reply Last reply Reply Quote 0
      • krahoc
        krahoc last edited by

        Trouvé ça qui semble avoir résolu partiellement le problème sur un autre système mais moi y'en a pas tout compris... http://forum.arcadecontrols.com/index.php?topic=115684.0

        1 Reply Last reply Reply Quote 0
        • acris
          acris last edited by

          Bonjour si tu veux un minimum d aide il faut nous en dire plus surtout que le dernier lien c est un forum avec beaucoup de problèmes n inaccessibilité... ça serait bien de nous faire un résumé des choses que tu as fait ou pas pour résoudre ton probleme....

          1 Reply Last reply Reply Quote 0
          • krahoc
            krahoc last edited by

            Euh, je n'ai peut-être pas été assez clair, désolé ! Sur le lien en question, quelqu'un annonce avoir trouvé la solution, moi je ne connais pas suffisamment la technique pour comprendre comment il a fait. 🙂 J'ai testé jscal et jstest qui marchent tous les deux, c'est à peu près tout ce que j'ai réussi à faire jusqu'à présent !

            1 Reply Last reply Reply Quote 0
            • acris
              acris last edited by

              Bonjour @Alexis (@krahoc), j'ai pas trop compris la solution que le type a trouvé Que se passe t il si tu échappes la configuration DPAD et que tu configures les sticks analogiques dans emulationstation ? Peux tu poster l archive demandé par la commande : /recalbox/scripts/recalbox-support.sh ainsi que ton /recalbox/share/system/.emulationstation/es_input.cfg Réf :https://github.com/recalbox/recalbox-os/wiki/Recalbox-support--(FR) on va essayer de créer une régle udev et ajouter usbhid quircks 1. Configurer winscp en suivant le tuto entièrement https://github.com/recalbox/recalbox-os/wiki/acces-via-WinSCP-(FR) 2. Mettre la partition /boot en écriture voir capture d'écran mount -o remount,rw /boot Ref : https://github.com/recalbox/recalbox-os/wiki/partition-en-ecriture-(FR) 3. Editer /boot/cmdline.txt Ajout ceci en fin de ligne avec un espace avec l'information précédante : usbhid.quirks=0xfafa:0x0036:0x040 enregistre puis redémarre ton rpi. 3. Création règle udev Ouvre une session avec putty puis copie colle ces deux lignes dans l'interface :

              mount -o remount,rw /
              echo 'SUBSYSTEM=="input", ATTRS{name}=="GGG GP-Wiz40 Dev2", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1"' > /etc/udev/rules.d/99-GPWIZ40.rules 
              

              redémarre ton raspberry et regarde si tu arrives à configurer tes manettes dans emulationstation. Attention de bien choisir D-PAD pour les joysticks. si ça fonctionne tjs pas, peux tu reposter aussi l'archive de recalbox-support.sh

              1 Reply Last reply Reply Quote 0
              • krahoc
                krahoc last edited by

                Voilà les trois fichiers demandés : http://dl.free.fr/sDgN6QuV4 La solution via quirks n'a pas apporté de changement dans la détection des sticks, cependant avec jstest je détecte bien toutes les directions (et ce depuis le départ).

                1 Reply Last reply Reply Quote 0
                • acris
                  acris last edited by

                  Bonjour @krahoc @subs tu peux jeter un oeil sur les logs , y a pas moyer de créer le es_inputs manuellement ?

                  1 Reply Last reply Reply Quote 0
                  • Substring
                    Substring last edited by

                    j'ai deja jeté un oeil avec lui sur IRC vendredi soir. C'est à croire que SDL ne voit pas son axe. Il faudrait en parler avec susan33. Autre bizarrerie : le quirks a bien créé un 2e event, sauf que rien n'y est rattaché -> aucune direction, aucun nbouton, rien. Donc on a 2 problèmes : - SDL ne voit pas les axes - comme tout encodeur USB, 2 joueurs sur un seul port USB. Mais les quirks n'ont rien résolu à çà. Mais le syndrome habituel avant d'appliquer les quirks, c'est que seules 2 directions marchent. Et là, on n'est pas dans ce cas. Franchement je cale ... Ca voudrait dire aller potasser la doc du kernel sur les input et les quirks. Je crains que ce sujet ne soit jamais résolu 😕

                    Former dev - Please reply with @substring so that i am notified when you answer me
                    Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                    1 Reply Last reply Reply Quote 0
                    • acris
                      acris last edited by

                      @krahoc passe sur le canal irc et essaie d'en discuter avec susan33, il est dev sur recalbox. as tu essayé une autre version de recalbox sur une autre microsd comme 3.2.11 et 3.3.0b17 ? c'est pour voir si ça fonctionne ou pas. subs on ne serait pas en sdl2 maintenant ?

                      1 Reply Last reply Reply Quote 0
                      • krahoc
                        krahoc last edited by

                        Je n'ai pas testé avec une version précédente mais je vais tester. Désolé si mes questions sont à côté ou si elles sont naïves, mais il y a une chose que j'ai du mal à saisir : - si je détecte bien tous les contrôles avec jstest (directions analogiques + boutons on/off), comment ça peut venir d'un problème de kernel ? - si avec jstest je détecte bien les directions mais que le event handler ne détecte rien, est-ce qu'on ne peut pas modifier l'event handler pour "attraper" aussi ces events-là ?   C'est étonnant que jstest détecte bien une manette avec 4 axes et 32 boutons (donc 2x4 directions, soit deux manettes), arrive à faire le diagnostic et affiche les valeurs analogiques, mais que emulstation ne détecte rien !

                        1 Reply Last reply Reply Quote 0
                        • acris
                          acris last edited by

                          Salut @krahoc, peux tu essayer ceci en ajoutant à la suite du 1er usbhid. 1. Mettre la partition /boot en écriture voir capture d'écran mount -o remount,rw /boot Ref : https://github.com/recalbox/recalbox-os/wiki/partition-en-ecriture-(FR) 2. Editer /boot/cmdline.txt Ajout ceci en fin de ligne avec un espace avec l'information précédante : usbhid.quirks=0xfafa:0x0036:0x020 enregistre puis redémarre ton rpi et regarde si c'est mieux si non efface ce que tu as ajouté

                          1 Reply Last reply Reply Quote 0
                          • krahoc
                            krahoc last edited by

                            Bon, j'ai réussi à corriger 50% du problème : Le problème de détection des sticks est en fait un problème de valeurs renvoyées par ceux-ci :

                            Event type 3 (EV_ABS) Event code 0 (ABS_X) Value    127 Min        0 Max      255 Flat      15

                            Comme on le voit, ils sont codés comme des sticks analogiques sur 8 bits avec 127 comme valeur pour la position centrale. Cela ne permettait pas de les détecter dans ES et faisait planter directement RetroArch quand on en bougeait un (erreur d'out of range). En passant par jscal pour remettre le codage des axes dans le bon sens (-32k;+32k centré sur 0) et en sauvegardant les corrections à appliquer :

                            mount -o remount,rw / jscal -p /dev/input/js0 > /etc/joystick.cal

                            Ensuite, appliquer ces corrections automatiquement au branchement de la manette :

                            mount -o remount,rw / echo 'SUBSYSTEM=="input", ATTRS{name}=="GGG GP-Wiz40 Dev2", MODE="0666", ENV{ID_INPUT_JOYSTICK}="1", RUN+="/etc/joystick.cal"' > /etc/udev/rules.d/99-GPWIZ40.rules

                            Un reboot, et les axes sont détectés comme il faut ! Reste le problème du deuxième joueur à séparer de la manette 1, les quirks n'ayant pas eu l'effet escompté (hormis le fait que maintenant les axes sont détectés alors qu'avant, non).

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post

                            Want to support us ?

                            101
                            Online

                            87.5k
                            Users

                            25.7k
                            Topics

                            178.3k
                            Posts

                            Copyright © 2021 recalbox.com