RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    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

    Colecovision Key Bindings

    Scheduled Pinned Locked Moved Help and Support
    8bitdocolecovision
    36 Posts 13 Posters 22.3k Views
    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.
    • theroamerT
      theroamer
      last edited by theroamer

      So I installed the coleco emulator and it works great with one exception. The default keybinding to exit seems to be right shift + enter. The problem is my bluetooth keyboard only has a single left shift button. I want to change it in /home/pi/coolcv_mapping.txt but I'm not sure what key code needs to be in there. It looks like there are a bunch of number codes but I'm not sure what code to enter to make it left shift + enter or better yet, start and select on my controller like all the other emulators.

      Any help would be greatly appreciated. Thanks!

      the list of mapping is on this page:
      https://github.com/RetroPie/RetroPie-Setup/wiki/Colecovision

      herb_fargusH theroamerT edmaul69E 3 Replies Last reply Reply Quote 0
      • herb_fargusH
        herb_fargus administrators @theroamer
        last edited by

        @theroamer if you install his pc version (CoolCV) you can press f7 and it will show you the key codes (it's currently broke. On the pi version) or you can look up the SDL key codes and those may work but idk I haven't tried it myself.

        If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

        Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

        1 Reply Last reply Reply Quote 0
        • RionR
          Rion
          last edited by

          Like do get this solves to so I can get rid of the keyboard behind the TV.

          FBNeo rom filtering
          Mame2003 Arcade Bezels
          Fba Arcade Bezels
          Fba NeoGeo Bezels

          1 Reply Last reply Reply Quote 0
          • theroamerT
            theroamer @theroamer
            last edited by theroamer

            Making some headway, changed the following in /home/pi/coolcv_mapping.txt to

            key1_1 key49 joy0_3

            key_exit key1073741939 joy0_4

            now I can start a game using the x button and exit with the y button on my 8bitdo NES30 Pro. Can't seem to get any of the other buttons working on the controller though, tried joy0_5, joy0_6, etc and nothing else happens. I wonder where I find the correct codes for other buttons. Oh well, at least I can play and exit games with just the controller now.

            1 Reply Last reply Reply Quote 1
            • theroamerT
              theroamer
              last edited by theroamer

              So close yet so far. I can't for the life of me figure out what code to use to bind the dpad on my 8bitdo. The analog stick works for moving but it doesn't work well in games, if you don't move it exactly up, down, left, right there are dead spots.

              Hoping the author of CoolCV gets the F7 code checker fixed for the pi.

              If anyone else has any ideas on how to get the correct codes to manually enter the mappings, please let me know.

              RionR 1 Reply Last reply Reply Quote 0
              • RionR
                Rion @theroamer
                last edited by Rion

                @theroamer said in Colecovision Key Bindings:

                So close yet so far. I can't for the life of me figure out what code to use to bind the dpad on my 8bitdo. The analog stick works for moving but it doesn't work well in games, if you don't move it exactly up, down, left, right there are dead spots.

                Hoping the author of CoolCV gets the F7 keybinding fixed for the pi.

                If anyone else has any ideas on how to get the correct codes to manually enter the mappings, please let me know.

                Found the official release thread for CoolCV
                Some progress there on SDL mapping here.

                Edit: I wonder if there is an JoyToKey program for the PI?

                FBNeo rom filtering
                Mame2003 Arcade Bezels
                Fba Arcade Bezels
                Fba NeoGeo Bezels

                theroamerT mediamogulM 2 Replies Last reply Reply Quote 0
                • theroamerT
                  theroamer @Rion
                  last edited by

                  @Rion Thanks, yeah those mapping are great for reconfiguring a keyboard. When it comes to the gamepad though, I'm at a loss for what to use for the codes, as there is no utility to tell you what codes your gamepad is spitting out.

                  mediamogulM 1 Reply Last reply Reply Quote 0
                  • mediamogulM
                    mediamogul Global Moderator @Rion
                    last edited by mediamogul

                    @Rion said in Colecovision Key Bindings:

                    I wonder if there is an JoyToKey program for the PI?

                    A lot of people are surprised to learn that xboxdrv can be used for this purpose with any USB controller. It's also somewhat convenient due to it being found in RetroPie right out of the box.

                    Taken from: http://pingus.seul.org/~grumbel/xboxdrv/xboxdrv.html

                    It is also possible for xboxdrv to read input data directly from an event device, this allows the use of the configurability of xboxdrv on regular PC joysticks, keyboards and mice and thus lets xboxdrv serve a similar purpose as joy2key. See the option --evdev below for more information.

                    Also, here's a link to a tutorial on using xboxdrv with any USB controller:
                    https://steamcommunity.com/app/221410/discussions/0/558748653738497361/

                    I love Colecovision games and I have been looking into this same thing, off and on, for over a week now. Whenever I get some solid time to troubleshoot any problems that might come up, I plan on mapping my Wavebird using this method.

                    RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                    RionR 1 Reply Last reply Reply Quote 0
                    • RionR
                      Rion @mediamogul
                      last edited by

                      @mediamogul said in Colecovision Key Bindings:

                      @Rion said in Colecovision Key Bindings:

                      I wonder if there is an JoyToKey program for the PI?

                      A lot of people are surprised to learn that xboxdrv can be used for this purpose with any USB controller. It's also somewhat convenient due to it being found in RetroPie right out of the box.

                      Taken from: http://pingus.seul.org/~grumbel/xboxdrv/xboxdrv.html

                      It is also possible for xboxdrv to read input data directly from an event device, this allows the use of the configurability of xboxdrv on regular PC joysticks, keyboards and mice and thus lets xboxdrv serve a similar purpose as joy2key. See the option --evdev below for more information.

                      Also, here's a link to a tutorial on using xboxdrv with any USB controller:
                      https://steamcommunity.com/app/221410/discussions/0/558748653738497361/

                      I love Colecovision games and I have been looking into this same thing, off and on, for over a week now. Whenever I get some solid time to troubleshoot any problems that might come up, I plan on mapping my Wavebird using this method.

                      Will it work with an BT controller for example 8bitdo?

                      FBNeo rom filtering
                      Mame2003 Arcade Bezels
                      Fba Arcade Bezels
                      Fba NeoGeo Bezels

                      1 Reply Last reply Reply Quote 0
                      • mediamogulM
                        mediamogul Global Moderator
                        last edited by

                        It should have no problem. After I get it all worked out myself, I plan on posting a full tutorial here that will cover these types of advanced controller setups.

                        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                        RionR 1 Reply Last reply Reply Quote 1
                        • RionR
                          Rion @mediamogul
                          last edited by

                          @mediamogul said in Colecovision Key Bindings:

                          It should have no problem. After I get it all worked out myself, I plan on posting a full tutorial here that will cover these types of advanced controller setups.

                          How's the guide coming along?
                          Plan on posting it here and on the wiki?

                          FBNeo rom filtering
                          Mame2003 Arcade Bezels
                          Fba Arcade Bezels
                          Fba NeoGeo Bezels

                          mediamogulM 1 Reply Last reply Reply Quote 0
                          • mediamogulM
                            mediamogul Global Moderator @Rion
                            last edited by mediamogul

                            @Rion

                            It really all depends on what I find once I fully kick the tires and light the fires. I expect it to come with some frustration in the experimentation process as there is very little documentation to rely on in using it as a universal driver. However, I've checked off everything I personally want to get done with my RetroPie install for now other than this, so I will start messing with it soon.

                            Once in a while, I do like to sit back and enjoy the fruits of labor, so tonight I plan to play a bit of "Cave Story" and "Retro City Rampage 486" as well as looking at the recent input layer in Kodi. All I have is time for the next few days as I am layed up with the lovely combination of sunburn and poison oak, so I'll probably use xboxdrv to divert my mind off of it over the weekend.

                            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                            1 Reply Last reply Reply Quote 1
                            • mediamogulM
                              mediamogul Global Moderator
                              last edited by mediamogul

                              I wanted to post a quick update. With all that I want to accomplish with a guide to advance controller setup, it has become clear that it will involve a few different pieces of software that, while readily available, will require a bit of research and experimentation before I will feel confident in speaking authoritatively about them. However, it is highest on my list of things to do with my RetroPie install, so I don't imagine it will be too far off.

                              Having said that, here is a listing of the top controller-related issues I hope to alleviate in the guide:

                              • Using multiple controllers of the same make and model
                              • Using different controllers that share a GUID name
                              • Adding keymap controller support
                              • Mapping analog triggers as buttons
                              • Mapping events to jsX slots
                              • Mapping isolated event groupings to multiple jsX slots

                              In the mean time, here is a previous thread I dug up that should ultimately act as a full keymap solution for emulators like CoolCV for those who might want to jump ahead. The guide is for KODI, but the information can be extrapolated to just about anything. I believe it will be a much more elegant approach than using xboxdrv, as it is specifically tailored for this kind of activity. Also, the mapper is only called when the emulator is launched and killed as it exits.

                              http://blog.petrockblock.com/forums/topic/mapping-a-game-controller-in-kodi/

                              My next comment on this will probably require it's own thread, but I'll keep an eye on this one as well.

                              RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                              1 Reply Last reply Reply Quote 0
                              • RionR
                                Rion
                                last edited by

                                @mediamogul

                                Very interesting research you have done. I'm going to push the follow button on you right now so I don't miss out on anything!

                                Great Work!

                                FBNeo rom filtering
                                Mame2003 Arcade Bezels
                                Fba Arcade Bezels
                                Fba NeoGeo Bezels

                                1 Reply Last reply Reply Quote 0
                                • theroamerT
                                  theroamer
                                  last edited by

                                  Just an update.

                                  I went ahead and went back to firmware 1.69 on the nes30 pro, When I pair it in joystick mode (r1+power) both the analog sticks and dpad work in Colecovision!

                                  now if I could just get them both working in retroarch (just the dpad works now).

                                  1 Reply Last reply Reply Quote 0
                                  • mediamogulM
                                    mediamogul Global Moderator
                                    last edited by mediamogul

                                    I've been making some progress myself. One of the things holding me back is a way to launch the mapping software when the need arises that can be recommended without question. I figure 'Linux Joystick Mapper' can be added to a game system's launch routine from the launch script. However, xboxdrv needs a little more consideration. There's a bug preventing it from being launched as a universal driver in the default way that RetroPie uses it as an XBox driver. I'm exploring the possibility of having it launch via a script when the controller is first detected, using a udev rule. The toughest part is trying to find time to do all the necessary experimentation that is required.

                                    RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                    1 Reply Last reply Reply Quote 0
                                    • mediamogulM
                                      mediamogul Global Moderator @theroamer
                                      last edited by mediamogul

                                      @theroamer said in Colecovision Key Bindings:

                                      @Rion Thanks, yeah those mapping are great for reconfiguring a keyboard. When it comes to the gamepad though, I'm at a loss for what to use for the codes, as there is no utility to tell you what codes your gamepad is spitting out.

                                      This comment was made about two months ago, to which I responded with the possible solution of mapping keyboard input to a controller. With as much time as I could spare here and there, I ultimately learned how to universally do that throughout the whole system. Today, I was going to post a guide that allowed a full mapping that would launch and exit alongside CoolCV.

                                      As it turns out, none of that is even necessary. Beside each SDL keyboard code found in /opt/retropie/configs/coleco/coolcv_mapping.txt you are able to input a SDL joystick code directly. I saw this early on and it is mentioned above, but quite frankly didn't know enough about the formatting at the time to understand it. When I looked at it again today, it immediately made sense. There are two examples used for the main action buttons. the first example is joy0_0which is referring to joystick 0, button 0, or what would commonly be thought of as the first button on the first joystick. joy0_1 would then of course be referencing the second button on the first joystick.

                                      All that is really needed to map any controller occupying a /dev/input/js* from here is to know your controller's js* number and then run jstestto get the proper button number codes for that controller. From there you would just add the properly formatted codes, such as joy0_0 mentioned above, to where you want them in /opt/retropie/configs/coleco/coolcv_mapping.txt and it should be good to go. I've tested it myself and it works very well.

                                      I don't feel like my research was wasted though. I've learned to map a controller in some really amazing ways as a result of this. For example, I have an optional mapping that is solely for the purpose of restricting directional input to four directions from an analog stick or directional pad. This makes all the difference in the world when trying to do well at a game like 'Pac-Man' or 'Ms Pac-man'. Some of you might have noticed that those characters can become unresponsive for a microsecond around corners when the analog stick hits a diagonal. Having a restricted directional mapping solves that and allows those and similar games to play as they did in arcades.

                                      I'll fold over what I was going to post here for more of an all-encompassing guide on mapping that I want to post in a day or two, but for now, I hope this helps and I'm sorry it took so long to make good on my word to post something for this.

                                      Edit: If I need to elaborate on using jstest, I'll be happy to do so.

                                      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                      RionR RiverstormR 2 Replies Last reply Reply Quote 0
                                      • RionR
                                        Rion @mediamogul
                                        last edited by

                                        @mediamogul said in Colecovision Key Bindings:

                                        @theroamer said in Colecovision Key Bindings:

                                        @Rion Thanks, yeah those mapping are great for reconfiguring a keyboard. When it comes to the gamepad though, I'm at a loss for what to use for the codes, as there is no utility to tell you what codes your gamepad is spitting out.
                                        

                                        This comment was made about two months ago, to which I responded with the possible solution of mapping keyboard input to a controller. With as much time as I could spare here and there, I ultimately learned how to universally do that throughout the whole system. Today, I was going to post a guide that allowed a full mapping that would launch and exit alongside CoolCV.

                                        As it turns out, none of that is even necessary. Beside each SDL keyboard code found in /opt/retropie/configs/coleco/coolcv_mapping.txt you are able to input a SDL joystick code directly. I saw this early on and it is mentioned above, but quite frankly didn't know enough about the formatting at the time to understand it. When I looked at it again today, it immediately made sense. There are two examples used for the main action buttons. the first example is joy0_0which is referring to joystick 0, button 0, or what would commonly be thought of as the first button on the first joystick. joy0_1 would then of course be referencing the second button on the first joystick.

                                        All that is really needed to map any controller occupying a /dev/input/js* from here is to know your controller's js* number and then run jstestto get the proper button number codes for that controller. From there you would just add the properly formatted codes, such as joy0_0 mentioned above, to where you want them in /opt/retropie/configs/coleco/coolcv_mapping.txt and it should be good to go. I've tested it myself and it works very well.

                                        I don't feel like my research was wasted though. I've learned to map a controller in some really amazing ways as a result of this. For example, I have an optional mapping that is solely for the purpose of restricting directional input to four directions from an analog stick or directional pad. This makes all the difference in the world when trying to do well at a game like 'Pac-Man' or 'Ms Pac-man'. Some of you might have noticed that those characters can become unresponsive for a microsecond around corners when the analog stick hits a diagonal. Having a restricted directional mapping solves that and allows those and similar games to play as they did in arcades.

                                        I'll fold over what I was going to post here for more of an all-encompassing guide on mapping that I want to post in a day or two, but for now, I hope this helps and I'm sorry it took so long to make good on my word to post something for this.

                                        Edit: If I need to elaborate on using jstest, I'll be happy to do so.

                                        Thank you for taking you're free time to figure all this out. Looking forward to your guide. This is going to help out a lot of people!

                                        FBNeo rom filtering
                                        Mame2003 Arcade Bezels
                                        Fba Arcade Bezels
                                        Fba NeoGeo Bezels

                                        1 Reply Last reply Reply Quote 0
                                        • edmaul69E
                                          edmaul69 @theroamer
                                          last edited by edmaul69

                                          post deleted

                                          mediamogulM 1 Reply Last reply Reply Quote 0
                                          • mediamogulM
                                            mediamogul Global Moderator @edmaul69
                                            last edited by mediamogul

                                            @edmaul69

                                            I've looked closely and all CoolCV mappings are single key. However, it is possible to add an outside mapping that will send whatever key is mapped to exit by pressing two buttons. Using xboxdrv, a working example would look like:

                                            --ui-buttonmap start+back=KEY_F24
                                            

                                            Seeing as how 'back' is usually analogous with 'select' in these situations, this mapping would allow CoolCV to exit using the same button combination that all the RetroArch cores use.

                                            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                            edmaul69E synackS 2 Replies Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            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.