Both Joysticks Controlling Player 1 on Xin Mo

Welcome Page Forums RetroPie Project Controller Configuration in RetroPie Both Joysticks Controlling Player 1 on Xin Mo


This topic contains 6 replies, has 2 voices, and was last updated by  kevinm 2 years, 6 months ago.

Viewing 7 posts - 1 through 7 (of 7 total)
  • Author
  • #97282


    Hello, I’m using a 2-player USB Xin Mo controller on Retropie 3.0 Beta 2 on a Rasp Pi 2, and I have all the buttons working, but can not get the Player 2 joystick to work.

    Since both players are connected through a single USB, I have read that I should be setting player1 and player2 to the same joypad_index in opt/retropie/configs/all/retroarch.cfg and I need to explicitly define the button mappings. I used the “Configure RetroArch Keyboard/Joystick” to get the mappings, and got all unique values for the buttons, but both joysticks register the same axes: +1/-1/+0/-0. See attached.

    Shouldn’t player2 show up as +3/-3/+2/-2, or something different from the other joystick? If I use the code below, which matches the values I got, then both sticks just control player 1.

    I did connect to a PC and used the Control Panel and an NES emulator to confirm the controller does work correctly for both player 1 and player. Therefore I am confident this is not a hardware issue.

    input_player1_joypad_index = 0
    input_player1_b_btn = 2
    input_player1_y_btn = 3
    input_player1_select_btn = 8
    input_player1_start_btn = 9
    input_player1_a_btn = 1
    input_player1_x_btn = 0
    input_player1_l_btn = 4
    input_player1_r_btn = 5
    input_player1_up_axis = +1
    input_player1_down_axis = -1
    input_player1_left_axis = +0
    input_player1_right_axis = -0
    input_player2_joypad_index = 0
    input_player2_b_btn = 12
    input_player2_y_btn = 13
    input_player2_select_btn = 19
    input_player2_start_btn = 18
    input_player2_a_btn = 11
    input_player2_x_btn = 10
    input_player2_l_btn = 14
    input_player2_r_btn = 15
    input_player2_up_axis = +1
    input_player2_down_axis = -1
    input_player2_left_axis = +0
    input_player2_right_axis = -0



    Hi, there’s a fix here.

    Edit: The two joysticks should register as separate with the kernel fix, with separate joypad indexes.



    Hi, thanks for the feedback.

    You mentioned a kernel fix, can you point me in the direction of where I can find more information? In my research, I did come across an article that provided a kernel fix for a joystick problem where up and left directions weren’t working. This didn’t seem to be them same issue I am having. Is there another fix that I didn’t see?

    Currently, if I use:

    input_player1_joypad_index = 0
    input_player2_joypad_index = 1

    Then player 1 works fine, but player2 does not work at all.

    If I use:

    input_player1_joypad_index = 0
    input_player2_joypad_index = 0

    Then player 1 works fine, and player 2’s buttons work but not joystick.



    I linked to the kernel thread with feederchain’s fix, but links are the same colour as standard text here. Click -> HERE <- to go straight to the post with the kernel attached.

    Hopefully this will fix the issue you’re having.



    Awesome thanks, I’ll give this a try this evening.

    Now that I know those links are there, I can actually see a very subtle difference, but they are not easy to spot.

    Thanks again!



    You’re very welcome! 🙂

    If you run into any other issues with the Xin-Mo, I may be able to help as I’m currently using it in a 2 player bartop arcade.



    Worked great. Thanks again.

Viewing 7 posts - 1 through 7 (of 7 total)

Forums are currently read only - please visit the new RetroPie forums at