Manette Gamecube branchée en GPIO



  • Bonjour à tous, heureux possesseur d'une WII/Gamecube, je me suis dit, tiens, et pourquoi pas brancher les manettes de ma Gamecube sur ma recalbox...

    Je commence petit, avec juste une manette. J'ai suivi cette page:
    https://recalbox.gitbook.io/tutorials/v/francais/gpio/jouez-avec-votre-manette-originale-en-utilisant-gamecon

    Ma conf: RPI 3 B, recalbox 7.01
    J'ai branché de ma manette:
    le 3V sur la pin 1 du GPIO
    le GND sur la pin 14 du GPIO
    la data sur la pin 7 du GPIO (GPIO4)

    Voilà ce que j'ai dans recalbox.conf

    Gamecon controllers

    Enable gamecon controllers, for nes, snes, psx (0,1)

    controllers.gamecon.enabled=1

    gamecon_args

    controllers.gamecon.args=map=0,0,3

    (bizarre, ça parle de nes, snes, psx, mais pas de Gamecube...)

    Quand j'allume (j'ai aussi un pad classique en usb), il sort '2 manettes connectées'. Quand j'appuie longuement sur un bouton de la manette gamecube, il repère bien qu'une manette gamecube est branchée, tout de suite il se met en mode configuration de la manette, et là, c'est comme si les boutons s'appuyaient tout seuls. La configuration défile de haut en bas, avec n'importe quoi en guise de bouton appuyé.

    Mon hyperion aussi en GPIO marche bien.

    J'ai raté quelque chose ?

    Voilà le compte rendu de commande:

    cat /proc/bus/input/devices

    I: Bus=0003 Vendor=046d Product=c216 Version=0110
    N: Name="Logitech Logitech Dual Action"
    P: Phys=usb-3f980000.usb-1.4/input0
    S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:046D:C 216.0001/input/input0
    U: Uniq=
    H: Handlers=js0 event0
    B: PROP=0
    B: EV=1b
    B: KEY=fff 0 0 0 0 0 0 0 0 0
    B: ABS=30027
    B: MSC=10

    I: Bus=0015 Vendor=0001 Product=0003 Version=0100
    N: Name="Gamecube controller"
    P: Phys=input2
    S: Sysfs=/devices/virtual/input/input1
    U: Uniq=
    H: Handlers=js1 event1
    B: PROP=0
    B: EV=b
    B: KEY=8fb0000 0 0 0 0 0 0 0 0 0
    B: ABS=3061b

    ls /dev/input/js*

    /dev/input/js0 /dev/input/js1

    jstest /dev/input/js1

    -bash: jstest: command not found

    Je suis censé faire un jstest /dev/input/js1, mais jstest n'est pas installé sur recalbox...

    Merci pour votre aide !


  • Staff
    Developer
    Global moderator
    Creator
    Team

    @doc123 utilise sdl2-jstest



  • @ian57 Merci. J'ai ce résultat :

    sdl2-jstest /dev/input/js1

    error: failed to read gamecontrollerdb.txt: Invalid RWops
    sdl2-jstest: unknown arguments
    Try 'sdl2-jstest --help' for more informations

    Idem avec /dev/input/js0 (qui un pad classique usb)


  • Staff
    Developer
    Global moderator
    Creator
    Team

    @doc123 que dit :

    sdl2-jstest --list
    

    sinon la syntaxe c'est

    sdl2-jstest -t 0 
    


  • @ian57

    sdl2-jstest --list

    error: failed to read gamecontrollerdb.txt: Invalid RWops
    Found 2 joystick(s)

    Joystick Name: 'Logitech Dual Action'
    Joystick Path: '/dev/input/event0'
    Joystick GUID: 030000006d04000016c2000010010000
    Joystick Number: 0
    Number of Axes: 4
    Number of Buttons: 12
    Number of Hats: 1
    Number of Balls: 0
    GameControllerConfig:
    Name: 'Logitech Dual Action'
    Mapping: '030000006d04000016c2000010010000,Logitech Dual Action,a:b1,b:b2,back :b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10 ,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b 7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,'
    Axis code 0: 0
    Axis code 1: 1
    Axis code 2: 2
    Axis code 3: 5
    Button code 0: 288
    Button code 1: 289
    Button code 2: 290
    Button code 3: 291
    Button code 4: 292
    Button code 5: 293
    Button code 6: 294
    Button code 7: 295
    Button code 8: 296
    Button code 9: 297
    Button code 10: 298
    Button code 11: 299
    Hat code 0: 16

    Joystick Name: 'Gamecube controller'
    Joystick Path: '/dev/input/event1'
    Joystick GUID: 15000000010000000300000000010000
    Joystick Number: 1
    Number of Axes: 6
    Number of Buttons: 8
    Number of Hats: 1
    Number of Balls: 0
    GameControllerConfig:
    missing (see 'gamecontrollerdb.txt' or SDL_GAMECONTROLLERCONFIG)
    Axis code 0: 0
    Axis code 1: 1
    Axis code 2: 3
    Axis code 3: 4
    Axis code 4: 9
    Axis code 5: 10
    Button code 0: 304
    Button code 1: 305
    Button code 2: 307
    Button code 3: 308
    Button code 4: 309
    Button code 5: 310
    Button code 6: 311
    Button code 7: 315
    Hat code 0: 16

    sdl2-jstest -t 1

    ->> Ca bouge tout seul !!!

    Joystick Name: 'Gamecube controller'
    Joystick Number: 1

    Axes 6:
    0: 0 [ # ]
    1: -32768 [# ]
    2: -6766 [ # ]
    3: -32768 [# ]
    4: -30646 [ # ]
    5: -18441 [ # ]

    Buttons 8:
    0: 0 [ ]
    1: 0 [ ]
    2: 0 [ ]
    3: 0 [ ]
    4: 0 [ ]
    5: 0 [ ]
    6: 0 [ ]
    7: 0 [ ]

    Hats 1:
    0: value: 0
    +-----+ up: 0
    | | down: 0
    | O | left: 0
    | | right: 0
    +-----+

    Balls 0:



  • Quand j'avais essayé une manette de N64 aussi par le GPIO, ça bougeait tout seul, il se configurait avec des boutons non sollicités et rien ne répondait. Je n'ai pas essayé depuis mais ça m'intéresse fort (j'aimerais me faire des PCB de NES/SNES/N64/PSX/GC) 🙂



  • C'est exactement le même comportement avec ma manette Gamecube. Ça me rassure, ça ne semble donc pas être un soucis de câblage !

    Ca doit être logiciel, il va falloir attendre qu'un gentil pro du dev se charge du problème 🙂



Want to support us ?

337
Online

80.5k
Users

21.6k
Topics

158.1k
Posts