Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

[Workaround but NOT solved] Controlblock not outputing proper keys



  • Hi, first I'd like to thank everyone on the support board, during setup i found all the answers I needed here!

    On to the problem:

    first my setup:
    I have a controlblock connected to a Rpi 3b+
    official Rpi power supply
    running Retropie 4.4 image from this site flashed to my microSD
    manual install of controlblock drivers, running in MAME mode

    And all was running great... until... powered up my rpi and didn't notice the wire laying across the GPIO pins

    a puff of smoke, then nothing... rpi would no longer boot! A quick trip to my nearest electronics store and a new Rpi 3b+ later it was working... mostly.

    My controlblock still works but now outputs the wrong keys; down is up, right is sw2, esc now outputs as LCTRL, etc.... This isn't really that bad, i have had to remap all my controls again and it seems to work. I would like to know though if this behavior can be corrected? it was much nicer running MAME standard keys, with all the remaps I can't use a normal keyboard anymore!

    Thanks in advance!

    Edit: okay remapping turned out to an monumental pain in the a**, as some of the inputs are sending the same key-press! button 3 and arrow right both are sending the x key for some reason... all that and i can't remap enough keys to get out of "Kiosk" mode! So if anyone can help i really could use it! I am going to try deleting all the inputs files and starting over with a normal keyboard so i can at least access the command line!

    Edit 2: Deleted all input config files and reconfigured Controlblock driver to "Arcade" setting and it's even worse that "MAME" setting, as some buttons just don't work and other are returning bizarre names eg: button 3 returns "LG axis 4" which apparently does nothing!



  • Important: If anyone knows of a way to test keyboard inputs on Linux could you leave a reply! i can test MOST of the keys with a text editor, but the system keys like LCTRL and Arrow don't show up! Figured out how to do in in MAME itself!

    Update:

    I have reconfigured the Controlblock as "Arcade" so I could use jstest on them and have mapped the NEW outputs of the Controlblock are as follows:

    The few returning correct results are in bold. (sorry for the formatting, i couldn't figure out how to make them look nice)

    Player 1:
    Controlblock port/New Mapping
    right/ P1 sw 1
    left / P1 sw 3
    up / up
    down /down

    sw 1/ right
    sw 2/ P1 sw 3
    sw 3/ P1 sw 2
    sw 4/ left
    sw 5/ P2 sw 11
    sw 6/ P1 sw 6
    sw 7/ P2 sw 2
    sw 8/ Not Installed
    start/ P2 sw 2
    coin/ P2 sw 5
    a / Not Installed
    b / Not Installed

    Player 2:
    Controlblock port/New Mapping
    right/ right
    left /left

    up /P2 sw 12
    down/ P2 sw 3
    sw 1/ P1 sw 7
    sw 2/ P2 sw 7
    sw 3/ up
    sw 4/ P1 sw 12
    sw 5/ P1 sw 11
    sw 6/ P2 sw 6
    sw 7/ P2 sw 1
    sw 8/ Not Installed
    start/ down
    coin/ P1 sw 5
    a /Not Installed
    b /Not Installed

    Again if anyone has any ideas how to fix this i would like to hear it! I am going to reconfigure the Controlblock for MAME and see if the mapping for arcade and MAME are the same. If so i may just end up rewiring the whole thing! was avoiding this because my Linux skills aren't great and was having problems making the MAME configuration work in a text editor!


  • Global Moderator

    It could be that also the ControlBlock was affected by the short circuit. The two center components on the ControlBlock are responsible for reading the status of the arcade control signals. It sounds as if those might have gotten fried as well.

    In your post above, you also asked for an idea about how to read keyboard events. Maybe you find this tool interesting:

    https://github.com/wavexx/screenkey



  • OK Newer Update (in case anyone is following along!)

    Reconfigured into MAME mode and remapped the keys... the good new is at least whatever error is happening it is being consistent! Apparently the remapping problems i was having seem to involve collisions in the Emulationstation/Retropie/Retroarch/MAME configs!

    The MAME config maps look like this: (correct returns in bold)

    Player 1:
    right/LCTRL
    left/LSHIFT
    up/Down
    down/Up
    sw 1/Right
    sw 2/space
    sw 3/LALT
    sw 4/Left
    sw 5/6
    sw 6/x
    sw 7/s
    sw 8/Not Installed
    start/w
    coin/i
    P/Not Installed
    ENTER/Not Installed

    Player 2:
    right/d
    left/g
    up/2
    down/q
    sw 1/c
    sw 2/j
    sw 3/f
    sw 4/1
    sw 5/5
    sw 6/k
    sw 7/a
    sw 8/Not Installed
    start/r
    coin/z
    TAB/TAB
    ESC/ESC

    the changes seem to be fairly similar between the ARCADE and MAME mode... the only difference is the working directions in ARCADE mode are flipped in MAME mode. I have checked over multiple boots and the mistake seem to consistent! that means i should be able to rewire and get MAME mode working... the only drawback is i will not be able to switch between ARCADE mode and MAME mode or the joysticks wont work right. I may be able to get around this in remapping.

    That said i would still LOVE to fix this if at all possible! let me know if you have any ideas!



  • @petrockblog you replied while i was typing. That's what i was thinking as well, i think i am still posting to get this straight myself. i am going to rewire, as everything else still works... i doubt I'll ever reconfigure once this project is finished, so it shouldn't be a problem!

    I'll just have an unique Controlblock with an Original key map! :)

    Thanks



  • OK, this is probably my last post on this matter. It isn't solved, by any stretch of the imagination, but i do have a workaround!

    I don't believe that the short has fried anything, the controlblock is still working exactly as advertised, but it DID scramble the outputs. All the outputs are still there, just in different places!

    If it is possible to re-flash the firmware i think it would restore the normal operation, but that is just a hunch, and as it stands now i am not willing to take the risk.

    Just in case someone out there ever has a similar problem i'm posting how i rewired the controlblock:


    WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING!

    THIS WON'T WORK ON YOUR SYSTEM, IT FIXED MY SYSTEM ONLY. I ONLY POST HERE TO SHOW WHAT THE SHORT DID TO MY CONTROLBLOCK!

    In the end i rewired my project to match the new outputs of the scrambled Controlblock as follows:!

    MyControlblockOut

    Hope that helps, if anyone else finds themself in a similar situation!

    END WARNING! END WARNING! END WARNING! END WARNING! END WARNING! END WARNING! END WARNING! END WARNING!



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.