@mitu Ah I see! That makes a lot of sense. I've got it now thanks! Just need to figure out what buttons I've got and it's all dandy. Although I guess I also need to map some of them so I can still exit retroarch.
Everything worked flawlessly, I really appreciate the event lookup code, I never would have figured that out. I did notice that if a hotkey was enabled that it does not work which I believe you mentioned in the other thread. All in all it does exactly what I wanted it to do.
And thanks again, I succesfully mapped the 1 to F1, 2 to F3 and 5 to F5. Although it required some steps.
First I mapped (as you told above) with the virtual keyboard the correct keys, and then saved it. After restarting the Vice emulator the keys weren't mapped anymore. When I loaded the keymap again the keys still didn't work. Then I thought maybe I can add the changed keys in the dsl-vicerc file (a bit like the F12 file) but then more like this "49 0 4 9" which is 1 to F1. That didn't work but I noticed that it would load the keymap according thje dsl-vicerc file, but somehow that didn't work.
Looking in the vice.log file I noticed that it says: Loading keymap `/opt/retropie/emulators/vice/lib/vice/C64/sdl_sym.vkm'
Now I wen to that file changed it according to the saved keymap and it works. Strange thing is that is doesn't look at the keymap it should load.
And what I did for the Dosbox is create .sh file. Not sure if it works for C64 but you can try this e.g:
@johnny5126 I don't think so, how would the system choose which action you intend to perform when you press the key ? If the key acts as a toggle (run/stop), then it might work, but otherwise I don't think it's possible.
• Go to "Machine Settings" and then "Joystick Settings".
• Then go to "Map Joystick", this screen will show you the mappings for two joysticks. Navigate to the "up" mapping, select it and then press "up" on the joystick. Repeat this step for all the other mappings, and for both joysticks if you have a two players connected.
• Now go to "Joystick Settings" and "Joystick Device 1" and set this as "Jyostick", you can also set "Joystick Device 2" as "Joystick" if you have two players.
• Next go to "Machine Settings" and "Joyport Settings". Choose "Control Port 1" and select "Joystick, do the same for "Control Port 2".
• Now exit the gui and the joystick should now work.
• However, C64 games are sometimes played from Joystick port 1 or 2, this may mean the joystick will not work. The way to remedy this is to re-enter the gui, navigate to "Machine Settings" and then "Joystick Settings". There will be an option to "Swap Joystick Ports" press enter and then exit out of the gui. The joystick should now work. You can also map the "Swap Joystick Ports" to a hotkey (see below).
• Now these keys have been set they need to saved so that VICE will use these mappings next time it is started. To do enter the gui and choose "Settings Management", then choose "Save Current Settings" and "Save Joystick Map" then exit out of the gui.
Thanks for that, I've tried the standalone and they work fine with no tinkering. I'm trying the high resolution one as default but it looks like I'll probably need to set alternatives for some roms, as they're a bit sluggish. Mario Kart 64 looks and plays really well though!
@golaat Yes and no. Since some of the emulators run inside retroarch, you are somewhat tied to that environment, but with lr-mame2003 you can actually work around it. You COULD go in and set all of your player 1 inputs to “nul” (don’t use curly quotes like I did here). This is unique for this version of mame because it still “listens” to RAW keyboard inputs. You then have to go into MAME and map keys using the ALL games menu as opposed to just THIS GAME and you will have a nice clean input setup which is what I already proposed above.
However, this doesn’t work for other libretro cores. Still, I
@sadkiwi Just some tips, if your question involves something that isn't working, explain it as accuratly as you can, and explain how it is connected/related to the pi. Also sometimes add the code you are using for some projects.