Viewing 16 posts - 1 through 16 (of 16 total)
  • Author
    Posts
  • #1611
    Idris_Arslanian
    Participant

    Hey all, my current setup is an XArcade dual joystick paired with a USB keyboard.  I’ve finally gotten the XArcade to work with EmulationStation, but am having trouble configuring it with RetroArch.  I believe this has to do with the fact that I have two USB input devices (The XArcade and Keyboard) plugged into the Pi.  This is being interpreted as two USB keyboards.  Is there a way to, in the .cfg file, setup a second keyboard?  If so, what is the syntax?

    Thanks

    -Idris_Arslanian

    #1659
    Idris_Arslanian
    Participant

    Well, I snagged a PS2 keyboard so I could hook up the XArcade and keyboard jointly so the Pi would recognize them both as the same keyboard input. However, I am having trouble remapping the buttons in the RetroPie.cfg. I have the following in the file, but it is not recognizing the reconfigured buttons. I have no .cfg files in any of the emulator specific configuration folders:

    home/pi/RetroPie/configs/all/RetroPie.cfg

    # Keyboard input. Will recognize normal keypresses and special keys like “left”, “right”, and so on.
    # 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 = “5”
    input_player1_b = “c”
    input_player1_y = “lshift”
    input_player1_x = “z”
    input_player1_start = “1”
    input_player1_select = “3”
    input_player1_l = “lctrl”
    input_player1_r = “lalt”
    input_player1_left = “4”
    input_player1_right = “6”
    input_player1_up = “8”
    input_player1_down = “2”

    input_player2_a = “e”
    input_player2_b = “w”
    input_player2_y = “]”
    input_player2_x = “6”
    input_player2_start = “2”
    input_player2_select = “4”
    input_player2_l = “a”
    input_player2_r = “s”
    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 =

    #1714
    Idris_Arslanian
    Participant

    FYI to anyone who stumbles upon this thread. You can get most of the available keycodes from the inputcommon.c file. I got a good response here: https://github.com/Themaister/RetroArch/blob/master/input/input_common.c#L613

    { “left”, RETROK_LEFT },
    { “right”, RETROK_RIGHT },
    { “up”, RETROK_UP },
    { “down”, RETROK_DOWN },
    { “enter”, RETROK_RETURN },
    { “kp_enter”, RETROK_KP_ENTER },
    { “tab”, RETROK_TAB },
    { “insert”, RETROK_INSERT },
    { “del”, RETROK_DELETE },
    { “end”, RETROK_END },
    { “home”, RETROK_HOME },
    { “rshift”, RETROK_RSHIFT },
    { “shift”, RETROK_LSHIFT },
    { “ctrl”, RETROK_LCTRL },
    { “alt”, RETROK_LALT },
    { “space”, RETROK_SPACE },
    { “escape”, RETROK_ESCAPE },
    { “add”, RETROK_KP_PLUS },
    { “subtract”, RETROK_KP_MINUS },
    { “kp_plus”, RETROK_KP_PLUS },
    { “kp_minus”, RETROK_KP_MINUS },
    { “f1”, RETROK_F1 },
    { “f2”, RETROK_F2 },
    { “f3”, RETROK_F3 },
    { “f4”, RETROK_F4 },
    { “f5”, RETROK_F5 },
    { “f6”, RETROK_F6 },
    { “f7”, RETROK_F7 },
    { “f8”, RETROK_F8 },
    { “f9”, RETROK_F9 },
    { “f10”, RETROK_F10 },
    { “f11”, RETROK_F11 },
    { “f12”, RETROK_F12 },
    { “num0”, RETROK_0 },
    { “num1”, RETROK_1 },
    { “num2”, RETROK_2 },
    { “num3”, RETROK_3 },
    { “num4”, RETROK_4 },
    { “num5”, RETROK_5 },
    { “num6”, RETROK_6 },
    { “num7”, RETROK_7 },
    { “num8”, RETROK_8 },
    { “num9”, RETROK_9 },
    { “pageup”, RETROK_PAGEUP },
    { “pagedown”, RETROK_PAGEDOWN },
    { “keypad0”, RETROK_KP0 },
    { “keypad1”, RETROK_KP1 },
    { “keypad2”, RETROK_KP2 },
    { “keypad3”, RETROK_KP3 },
    { “keypad4”, RETROK_KP4 },
    { “keypad5”, RETROK_KP5 },
    { “keypad6”, RETROK_KP6 },
    { “keypad7”, RETROK_KP7 },
    { “keypad8”, RETROK_KP8 },
    { “keypad9”, RETROK_KP9 },
    { “period”, RETROK_PERIOD },
    { “capslock”, RETROK_CAPSLOCK },
    { “numlock”, RETROK_NUMLOCK },
    { “backspace”, RETROK_BACKSPACE },
    { “multiply”, RETROK_KP_MULTIPLY },
    { “divide”, RETROK_KP_DIVIDE },
    { “print_screen”, RETROK_PRINT },
    { “scroll_lock”, RETROK_SCROLLOCK },
    { “tilde”, RETROK_BACKQUOTE },
    { “backquote”, RETROK_BACKQUOTE },
    { “pause”, RETROK_PAUSE },
    { “nul”, RETROK_UNKNOWN },
    { NULL, RETROK_UNKNOWN },

    Note, you need to use the first portion (quoted).

    -Idris_A

    #2267
    jadawan
    Participant

    Did you ever get this figured out? I am going crazy trying to get this to work.

    #2269
    Idris_Arslanian
    Participant

    Yup, sure did. I’m going to need a bit more info from you though if I’m to be of help. How does your RetroPie.cfg look? How did you hook up your XArcade? How is the keyboard hooked up?

    #2270
    jadawan
    Participant

    Wow, thanks for getting back with me. Keyboard and XArcade are hooked up via USB. I tried just having the XArcade plugged in so it didn’t think it had two keyboards attached. Still no luck. I know the XArcade is at least working to some extent. I can use it to type in terminal and certain buttons will speed up NES and SNES emulators, and put it in slow motion. But mapping it out seems to do nothing. Here are the relevant lines in retropie.cfg

    # Keyboard input. Will recognize normal keypresses and special keys like “left”, “right”, and so on.
    # 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 = “z”
    input_player1_b = “lshift”
    input_player1_y = “lctl”
    input_player1_x = “lalt”
    input_player1_start = “keypad5”
    input_player1_select = “c”
    input_player1_l = “space”
    input_player1_r = “x”
    input_player1_left = “keypad4”
    input_player1_right = “keypad6”
    input_player1_up = “keypad8”
    input_player1_down = “keypad2”
    # input_player1_l2 =
    # input_player1_r2 =
    # input_player1_l3 =
    # input_player1_r3 =

    input_player2_a = “w”
    input_player2_b = “e”
    input_player2_y = “a”
    input_player2_x = “s”
    input_player2_start = “num6”
    input_player2_select = “]”
    input_player2_l = “q”
    input_player2_r = “[”
    input_player2_left = “d”
    input_player2_right = “g”
    input_player2_up = “r”
    input_player2_down = “f”

    Hope that’s enough info.

    #2271
    Idris_Arslanian
    Participant

    Yup, I couldn’t get it working when I plugged in a USB keyboard either. I needed to do it through the PS2 connection on the XArcade. Then it’s a matter of making your mappings match with the available keys in inputcommon.c (see above post). I had to program the XArcade stick as well because I couldn’t figure out what the mappings were for a couple of the keys (I believe “]” in particular). It just takes some fiddling. Good Luck!

    #2273
    jadawan
    Participant

    Awesome! So a few of questions for clarification.

    1. Do you use a PS2 keyboard plugged into the XArcade, and the XArcade is still plugged in via USB?

    2. I only need to use the items in quotations, and not the, for example, ETROK_RSHIFT. Also, you still use the quotations ie. “rshift” instead of rshift in the code? So it would be: input_player1_b = “rshift”

    3. When you mapped your buttons on the XArcade, did you only map them to the above list only? or did you still use buttons like “c” or “z”

    4. Did you need to change any of the keyboard settings in sudo raspi-config or where defaults ok?

    I can’t wait to get back home tonight and give it another whirl!

    #2274
    Idris_Arslanian
    Participant

    1: Yes, exactly.
    2: Yes, exactly!
    3: I tried to use as many of the default buttons on the XArcade as possible.
    4: Defaults were fine.

    #2276
    Idris_Arslanian
    Participant
    #2278
    jadawan
    Participant

    Just did.

    #2887
    mattyc
    Participant

    Jadawon or Idris, I have an DIY x-arcade and ran into the same problem as you with not being able to use the bracket keys[ ] in the retroarch.cfg. I reprogrammed the x-arcade, but the problem is that if the unit is shut off and then turned back on, you have to press the load button twice to load the configuration.

    I’d really like to be able to power the system up and play games without having to load a x-arcade configuration every time. I was wondering if you guys managed to find a better solution.

    #2890
    jadawan
    Participant

    Nope. Still have to press the load button twice. I just keep everything on. It’s annoying, and frustrating, but I’ve learn to live with it.

    #2891
    jadawan
    Participant

    *learned

    #3074
    krsjuan
    Participant

    Would one of you mind posting your .cfg? Im using the x-arcade DIY kit with a PS2 keyboard.

    #7387
    petrockblog
    Keymaster

    The Xarcade Tankstick is working with RetroPie seamlessly now!
    If you are more interested in this have a look at https://www.petrockblock.com/2014/06/01/xarcade2jstick/.
    Have fun!

Viewing 16 posts - 1 through 16 (of 16 total)
  • The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.