Homepage › Forums › RetroPie Project › Everything else related to the RetroPie Project › How to key map mapping the keyboard for the I-PAC or other keyboard duplicator.
Tagged: Keyboard Map Mapping I-Pac ipac
- This topic has 13 replies, 9 voices, and was last updated 8 years, 10 months ago by nosedeath.
-
AuthorPosts
-
11/10/2014 at 06:50 #82576yippyyayParticipant
this took me allot of time to figure out i’m not a programmer But i get stuck looking at code at my job allot more then i should. there is no real way to go about this without digging into the guts of this. this is written for NOOB’S.
remember to back up all your files before you start to change them. it will save your ass if you brake something.you have to navigate to the
/opt/retropie/configs/all
folder.You can do this by going back to the Command line by pressing
F4
I Know GUI’s so i will stick with that. please post of you have a command line fix
type
startx
and using raspbians File Manager Bottem left to navigate to the folder you want. remember to hit View and show hiddenat this pint you can type into the address bar
/opt/retropie/configs/all
open the file named
retroarch.cfg
with a file edit program of your choiceAbout half way down you will run into this.
# Keyboard input. Will recognize letters ("a" to "z") and the following special keys (where "kp_" # is for keypad keys): # # left, right, up, down, enter, kp_enter, tab, insert, del, end, home, # rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus, # f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, # num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown, # keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9, # period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock, # tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket, # backslash, rightbracket, kp_period, kp_equals, rctrl, ralt # # Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely, # rather than relying on a default. input_player1_a = x input_player1_b = z input_player1_y = a input_player1_x = s input_player1_start = enter input_player1_select = rshift input_player1_l = q input_player1_r = w input_player1_left = left input_player1_right = right input_player1_up = up input_player1_down = down # input_player1_l2 = # input_player1_r2 = # input_player1_l3 = # input_player1_r3 =
you can now edit the values after the “=” to whatever you need them to be. Example Old code
input_player1_a = x
New codeinput_player1_a = a
look at these lines carefully you cannot just use the number “1” you must type “num1” watch out for caps
- NO CAPS
it will kill your code. READ this code block it has well written examples of what you can put in like “rshift” or “shift” don’t use “lshift” it’s not in the example don’t use it.
So my final fix looks like this. notice the difference between the two.
# Keyboard input. Will recognize letters ("a" to "z") and the following special keys (where "kp_" # is for keypad keys): # # left, right, up, down, enter, kp_enter, tab, insert, del, end, home, # rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus, # f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, # num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown, # keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9, # period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock, # tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket, # backslash, rightbracket, kp_period, kp_equals, rctrl, ralt # # Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely, # rather than relying on a default. input_player1_a = ctrl input_player1_b = alt input_player1_y = shift input_player1_x = space input_player1_start = num1 input_player1_select = num5 input_player1_l = z input_player1_r = x input_player1_left = left input_player1_right = right input_player1_up = up input_player1_down = down # input_player1_l2 = # input_player1_r2 = # input_player1_l3 = # input_player1_r3 =
Lucky You if you are using the Ultrimarc I-Pac you can copy the second example and get player 1 running.
i haven’t tried to get get player 2 running yet and if i do i will update this post. if anyone can do a command line version of this please do i’m still sort of new to Linux command line. i’m learning fast :-).
Alternative is to just pull the SD card and use the program “Notpad++” on your Windows computer to edit the file.
11/10/2014 at 20:03 #82595yippyyayParticipantPLAYER 2 YAY
i woke up this morning and tackled this project if only because of the pile of snow outside i don’t want to deal with.
if you read my original post from the top you are going to see how to properly set up player 1. it also points out some syntax you are going to have to recognize to make this work.
so the original code half way down the retroarch.cfg file looks like this.
# Keyboard input. Will recognize letters ("a" to "z") and the following special keys (where "kp_" # is for keypad keys): # # left, right, up, down, enter, kp_enter, tab, insert, del, end, home, # rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus, # f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, # num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown, # keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9, # period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock, # tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket, # backslash, rightbracket, kp_period, kp_equals, rctrl, ralt # # Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely, # rather than relying on a default. input_player1_a = x input_player1_b = z input_player1_y = a input_player1_x = s input_player1_start = enter input_player1_select = rshift input_player1_l = q input_player1_r = w input_player1_left = left input_player1_right = right input_player1_up = up input_player1_down = down # input_player1_l2 = # input_player1_r2 = # input_player1_l3 = # input_player1_r3 =
pay attention to the ” hash tags / pound sign / shift 3 / # ”
i’m just going to use “#” for my sanity. yes i’m poking fun at pop culture
you are going to notice that some of the lines don’t have the “#” beside them.
these are the spots you are going to add lines to.i would suggest you just copy paste these line so you get something that looks like this.
# rather than relying on a default. input_player1_a = x input_player1_b = z input_player1_y = a input_player1_x = s input_player1_start = enter input_player1_select = rshift input_player1_l = q input_player1_r = w input_player1_left = left input_player1_right = right input_player1_up = up input_player1_down = down input_player1_a = x input_player1_b = z input_player1_y = a input_player1_x = s input_player1_start = enter input_player1_select = rshift input_player1_l = q input_player1_r = w input_player1_left = left input_player1_right = right input_player1_up = up input_player1_down = down # input_player1_l2 = # input_player1_r2 = # input_player1_l3 = # input_player1_r3 =
pay attention to the fact that all the lines that you can use are jammed together between the lines with the “#”
Then turn half the lines from Example old
input_player1_up = up
into Example newinput_player2_up = up
so now half the lines should read player 1 and the other half the lines player 2 like this example.
# rather than relying on a default. input_player1_a = x input_player1_b = z input_player1_y = a input_player1_x = s input_player1_start = enter input_player1_select = rshift input_player1_l = q input_player1_r = w input_player1_left = left input_player1_right = right input_player1_up = up input_player1_down = down input_player2_a = x input_player2_b = z input_player2_y = a input_player2_x = s input_player2_start = enter input_player2_select = rshift input_player2_l = q input_player2_r = w input_player2_left = left input_player2_right = right input_player2_up = up input_player2_down = down # input_player1_l2 = # input_player1_r2 = # input_player1_l3 = # input_player1_r3 =
the last thing you need to do is change the key’s over to the whetever key’s you are going to use for your Keyboard Duplicator or I-Pac. like this example
# Keyboard input. Will recognize letters ("a" to "z") and the following special keys (where "kp_" # is for keypad keys): # # left, right, up, down, enter, kp_enter, tab, insert, del, end, home, # rshift, shift, ctrl, alt, space, escape, add, subtract, kp_plus, kp_minus, # f1, f2, f3, f4, f5, f6, f7, f8, f9, f10, f11, f12, # num0, num1, num2, num3, num4, num5, num6, num7, num8, num9, pageup, pagedown, # keypad0, keypad1, keypad2, keypad3, keypad4, keypad5, keypad6, keypad7, keypad8, keypad9, # period, capslock, numlock, backspace, multiply, divide, print_screen, scroll_lock, # tilde, backquote, pause, quote, comma, minus, slash, semicolon, equals, leftbracket, # backslash, rightbracket, kp_period, kp_equals, rctrl, ralt # # Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely, # rather than relying on a default. input_player1_a = ctrl input_player1_b = alt input_player1_y = shift input_player1_x = space input_player1_start = num1 input_player1_select = num5 input_player1_l = z input_player1_r = x input_player1_left = left input_player1_right = right input_player1_up = up input_player1_down = down input_player2_a = a input_player2_b = s input_player2_y = q input_player2_x = w input_player2_start = num2 input_player2_select = num6 input_player2_l = i input_player2_r = k input_player2_left = d input_player2_right = g input_player2_up = r input_player2_down = f # input_player1_l2 = # input_player1_r2 = # input_player1_l3 = # input_player1_r3 =
Lucky You if you are using the Ultrimarc I-Pac you can copy the last example and get player 1 and 2 running.
NOW I’M GOING TO GO PLAY SOME VIDEO GAMES!!!
11/10/2014 at 20:17 #82598yippyyayParticipantlast thought is you are wondering what I-Pac i’m using here is the website
http://www.ultimarc.com/ipacve.html
and here is the key code sheet.
http://www.ultimarc.com/ipac2.html
i like it. if i hit both the start buttons for player 1 and 2 it will fake the Esc key. that was my saveing grace on my first MAME cabnet.
01/20/2015 at 20:27 #85496mcchigbyParticipantHi yippyyay,
Relieved to see someone else using the I-PAC2 as having trouble configing my controls.
Really useful above however did you use all the button allocations of the IPAC2. For example I havent used Coin2/1a/1b/2a/2b etc.
Would this mean I can’t use your above code?
Thanks
Ian
01/20/2015 at 23:57 #85539RooParticipant[quote=82576]
if anyone can do a command line version of this please do i’m still sort of new to Linux command line. i’m learning fast :-).
[/quote]excellent info yippyyay!
don’t be afraid of the command line :) sometimes it’s even easier than the gui
here for example, you can edit that file with this command
sudo nano /opt/retropie/configs/all/retroarch.cfg
I have an iPac mini, I’ll be using your examples tonight when I get home – Thanks!
02/20/2015 at 01:49 #88228tdawg1982ParticipantSo maybe you might be able to help on this? I am following the directions and the joysticks work outside in the retropie but as soon as I get into emulationstation, the joysticks stop working. I have a post but no one seems to be reading it fast enough.
https://www.petrockblock.com/forums/topic/minipac-and-retropie/
Any help would be amazing!! Thanks!
02/20/2015 at 03:47 #88236craig-comrieParticipantG’day Tdawg,
I was at the same place you are now a couple of hours ago.
I updated the firmware on my IPAC2 ( available from ultimarc website) and it came to life, no problems. In saying that its default MAME keymaps work, so emulation station and MAME games will work, I am now trying to solve the key mapping for SNES and Genesis.
Hope this helps you out
Cheers,
02/20/2015 at 05:22 #88244tdawg1982ParticipantThank you Craig, that seemed to do the trick.. I still need to fix a couple button mappings in general but it is seeing it now. :)
02/20/2015 at 16:23 #88307tdawg1982ParticipantWell I have input the retroarch.cfg file but it appears that it is still not working correctly. If there an other config file I should know about?
02/20/2015 at 18:05 #88328tdawg1982ParticipantOk, It is working now in the emulationstation but within the games the mappings are still wrong. Any ideas on how to fix this?
03/04/2015 at 22:40 #90180tomgParticipantHi
Are these settings should work with Mini-Pac as well ?
No defined keys in retroarch.cfg file seem NOT work for me, like for instance :
input_player1_a = x
input_player1_b = zWhatever the retroarch.cfg file seems contains the only keys that are working are those listed at the last page of manual : Ultimarc Mini-PAC Manual (PDF)
Tom
03/11/2015 at 19:47 #91026cameronphillips09ParticipantHi
First time posting here, but I’m making a basic arcade cabinet and using the ipac 2 to run the controls. I’m only making a 1 player currently and thinking of making a bigger one later.
My question is, is there a way to change which button accesses escape in the config file? Maybe add a hot key function? Or will i need to hook player 1 and 2 to use the original escape function?
Thanks.
PS I’m at work so i may not reply right away.04/16/2015 at 16:18 #95140jlooParticipantHey. guys.. First time here posting something..
Just wanted to say that its been really helpfull to follow everyone here and looking at each others problems and solutions. My question for everyone following this post is “Has anyone had any luck configuring their buttons, with the Ipac2, using SNES roms?”
I’ve doing alot of reading and I have found that this is a typical issue with the Ipac2 board and/or the emulator dealing with SNES games and genesis games. I have follow yippyyaw instructions and got the correct codes for them… I was able to get player 2 working but everytime i hit a button on that side the game freezes (as if I hit the pause button?) I know this is not a wiring issue since i’m not using the pause slot in the ipac2 board..
Any help would be greatly appreciated..
jloo
02/28/2016 at 23:40 #118466nosedeathParticipantI really with I could get my ulimarc trackball to work.
-
AuthorPosts
- The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.