Viewing 35 posts - 1 through 35 (of 278 total)
  • Author
    Posts
  • feederchain
    Participant
    Post count: 83

    Hey, I was wondering if anyone has had issues where the autofire seems to be turned on for the axis of a directional pad.

    I installed RetroPie on a Pi 1 a while back and have loved it. This weekend I gave myself the project of getting it going on my new Pi2. So started from a backup of my current install. Updated completely. The issue I have is that the directional pad appears to autofire. As in if I hold down the direction it looks like I’m hitting it rapidly. This behaviour is plainly seen when I run jstest –event /dev/input/js0. It quickly fills the screen with events as the axis goes from 0 to 32676 and back.

    Has any one seen this before. I plug the controller into my Pi1 and jstest gives me a constant 32676 as it’s pressed.

    Thanks

    dpicc68
    Participant
    Post count: 53

    Same thing is happening to me with a THT / Xinmo arcade stick.

    Here

    And here

    What joystick are you using??
    If it’s not the THT, this is good news… As its to do with the new image + rpi2 latest kernel/update.

    What’s your controller??

    feederchain
    Participant
    Post count: 83

    I am using a genesis controller attached to a retrobit Genesis to USB adapter.

    I think I figured it out. Or at least I found something that worked for me. I suppose I should spend some more time testing but I’ll post what I’ve done anyway. This does involve compiling the kernel. Which I had to do anyway to get my controller working.

    See

    Here is a link to the code that was put in, that I removed to make it work.

    https://github.com/raspberrypi/linux/commit/79346d620e9de87912de73337f6df8b7f9a46888

    In short, find the following lines

    
    if (field->flags & HID_MAIN_ITEM_RELATIVE)
    	map_rel(usage->hid & 0xf);
    else
    	map_abs_clear(usage->hid & 0xf);
    break;
    
    

    And remove them, and then recompile.

    If you don’t want to compile, I can probably post my compiled package for you. It was created using Adafruit’s Kernel-o-Matic.

    You may just not want the other change I made, which can be seen in the first link I posted.

    daveireland20
    Participant
    Post count: 10

    Having the exact same issue with a Xin-Mo Dual USB controller, my Pi knowledge is certainly lacking a little but this seems quite manageable, if it isn’t too much trouble and seeing only as it was mentioned would it be too much hassle for you to post the updated compiled Kernel feederchain?

    Cheers

    feederchain
    Participant
    Post count: 83

    Here is a link to my custom kernel.

    https://www.dropbox.com/s/oobz4e58r0afhwf/custom_kernel_1.20150216-1.tar.gz?dl=0

    It has both of the fixes mentioned. The Left and down buttons not working, and the “auto fire” on the directional pad.

    I can’t say this has been thoroughly QA tested, but I haven’t seen any issues since installing it. They appear to be rather minor changes.

    So use at your own risk. Back up :-)

    Anyway. You should just have to place this somewhere on your Pi, however you do that.

    
    tar xf custom_kernel_1.20150216-1.tar.gz
    cd custom_kernel_1.20150216-1
    sudo ./install.sh
    

    As said this was created with Adafruit’s Kernel-o-Matic. It appears to make backups and such of your current setup, but I have never needed to revert anything.

    I really hopes this helps.

    daveireland20
    Participant
    Post count: 10

    Worked perfect Mate, however It has developed a small problem on my XinMo after replacing it with the modded Kernel, the Autofire issues is gone, but now for some odd reason hotkeys aren’t working on the controller , any ideas at all ?

    EDIT: Please ignore me, It is intact working perfectly, thank you very much feeder !

    Cheers

    feederchain
    Participant
    Post count: 83

    Glad to here it!

    clownfish360
    Participant
    Post count: 11

    I just updated with instruction listed as well and all is working with my xim mo dual. Awesome job guys.

    Anonymous
    Inactive
    Post count: 1

    Wow! Thank you feederchain, this has corrected my autofire problem. I am so thankful for your help!

    daveireland20
    Participant
    Post count: 10

    Just out of curiosity guys, are any of you experiencing any problems setting up the second player configuration in the controller file for the Xin Mo Dual ? I have searched high and low for the answer and tried everything I can think of and just cannot get it to work.

    Cheers

    feederchain
    Participant
    Post count: 83

    I don’t actually have one of those, so I don’t think I can be much help. Sorry.

    clownfish360
    Participant
    Post count: 11

    Yes this fixes the 2nd player joystick not working.

    craigbnz
    Participant
    Post count: 2

    Hi,

    I have downloaded and applied the kernel patch to my pi2 retropie 2.6 image and it has fix my Xin Mo multiple input problem – thanks very much :)

    However I cannot get the Xin Mo to be seen as two joysticks in piFBA, is there something else I need to do?

    When I use jstest it shows as one joystick with 4 axis and 22 buttons on /dev/input/js0.

    In MAME I can map the two joysticks and buttons how I like and play two player games, in piFBA I cannot.

    Any help is greatly appreciated….

    Cheers,
    Craig.

    daveireland20
    Participant
    Post count: 10

    Having a similar issue myself still mate, cannot regardless of which combination I try get player 2 (or 1) to work in retroarch emulators. For some reason when I add in the prefix”player1″ or”player2″ retroarch then seems to ignore all input from these buttons and Joysticks, the only buttons that remain working are the hotkey enabled buttons. If i remove the player prefix from each line of code, for instance

    input_b_btn = “12” (Works perfectly)
    input_player1_b_btn = “12” (Stops working)
    I’ve pasted my config file for the Xin-Mo in retroarch incase anyone spots a glaring error that I’ve missed.

    Cheers

    input_device = “Xin-Mo Xin-Mo Dual Arcade”
    input_driver = “udev”
    input_player1_joypad_index= “0”
    input_player1_b_btn = “12”
    input_player1_y_btn = “13”
    input_player1_select_btn = “14”
    input_player1_start_btn = “15”
    input_player1_up_axis = “-2”
    input_player1_down_axis = “-3”
    input_player1_left_axis = “+3”
    input_player1_right_axis = “+2”
    input_player1_a_btn = “10”
    input_player1_x_btn = “11”
    input_player1_l_btn = “17”
    input_player1_r_btn = “16”
    #input_l2_axis = “”
    #input_l3_axis = “”
    #input_r3_axis = “”
    #input_l_x_plus_axis = “”
    #input_l_x_minus_axis = “”
    #input_l_y_plus_axis = “”
    #input_l_y_minus_axis = “”
    #input_r_x_plus_axis = “”
    #input_r_x_minus_axis = “”
    #input_r_y_plus_axis =
    #input_r_y_minus_axis = “”

    input_enable_hotkey_btn = “14”
    input_exit_emulator_btn = “15”
    #input_shader_next_btn = “17”
    #input_shader_prev_btn = “16”

    input_player2_joypad_index = “0”
    input_player2_b_btn = “1”
    input_player2_y_btn = “0”
    input_player2_select_btn = “4”
    input_player2_start_btn = “9”
    input_player2_up_axis = “+0”
    input_player2_down_axis = “-1”
    input_player2_left_axis = “-0”
    input_player2_right_axis = “+1”
    input_player2_a_btn = “2”
    input_player2_x_btn = “3”
    input_player2_l_btn = “7”
    input_player2_r_btn = “6”

    feederchain
    Participant
    Post count: 83

    I kinda had the same issue. My adapter only shows up as one controller, but once I noticed that all I had to do was just map player 2 to use the other buttons. RetroArch’s emulators then worked.

    Looking at your config, I don’t see much difference between yours and mine. The only thing I notice is that I never used the quotes.

    
    input_player1_joypad_index = 0
    input_player1_a_btn = 2
    input_player1_b_btn = 1
    input_player1_y_btn = 0
    input_player1_start_btn = 6
    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_a_btn = 10
    input_player2_b_btn = 9
    input_player2_y_btn = 8
    input_player2_start_btn = 14
    input_player2_up_axis = -3
    input_player2_down_axis = +3
    input_player2_left_axis = -2
    input_player2_right_axis = +2
    
    daveireland20
    Participant
    Post count: 10

    Cheers for the quick reply mate, just gave that a bash too, hoping that maybe I’d overlooked that option, sadly though it’s not worked for me, I very much appreciate the effort though !

    feederchain
    Participant
    Post count: 83

    I assume that all buttons work in jstest? Have you tried removing the player 2 all together? To see if the setup for just player 1 works. Clownfish360 seems to imply that player two should be working.

    Sorry I can’t be much more help.

    daveireland20
    Participant
    Post count: 10

    Yea buddy, I tried it without player 2, also tried it just with the “player1” lines of code active, for some odd reason as soon as the prefix “player” is included in the lines of code, retroarch seems to refuse to acknowledge their input completely, I know the controller file is being passed to retroarch correctly as the hotkeys to exit the emulator remain working but not the controllers, in a bit of a pickle Haha !

    clownfish360
    Participant
    Post count: 11

    I used jstest to figure out my button numbers.

    Looking at your config, I did not include input device or driver in my config.
    input_device = “Xin-Mo Xin-Mo Dual Arcade”
    input_driver = “udev”

    I also have my axis for player 1 and 2 reversed

    This is what you have
    input_player1_up_axis = “-2″
    input_player1_down_axis = “-3″
    input_player1_left_axis = “+3″
    input_player1_right_axis = “+2″
    input_player2_up_axis = “+0″
    input_player2_down_axis = “-1″
    input_player2_left_axis = “-0″
    input_player2_right_axis = “+1″

    This is what I have
    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_up_axis = “-3″
    input_player2_down_axis = “+3″
    input_player2_left_axis = “-2″
    input_player2_right_axis = “+2″

    daveireland20
    Participant
    Post count: 10

    Out of curiosity bud, are you hard coding the buttons within the retroarch.cfg file ? or doing it under /retropie/emulators/retroarch/configs/ Xin Mo config file?

    EDIT : tried it also using the global retroarch config file and the emulator local config file and still nothing. Also did a fresh 2.6 install and fresh kernel patch and still no joy. This thing will be the death of me

    clownfish360
    Participant
    Post count: 11
    daveireland20
    Participant
    Post count: 10

    I think that one may be a little different buddy. No worries though I think I’ll just have to wait until somebody patches the driver for this particular controller ! Cheers anyway

    petrockblog
    Keymaster
    Post count: 1827

    there is another patch here for this problem – which just involves a new definition line to enable some quirks

    https://github.com/VladislavVesely/linux/commit/2f94af3f19689b014817990fe1cb500f6121f339

    yves1984
    Participant
    Post count: 8

    Hi there
    I’ve got mi pi2 today and i want to install my 2-player arcadecontroller with a XinMo, but im a realy noob with pi and linux :)

    Can somene tell me what i must put in the pi that it function ;)?

    P.s.
    -i use the retropie image, would u change that?
    -i downloaded your costum kernel and install it. After that was the trigger away but RetroPie found only 1Player Controller and second will not found.

    Thx and best greetz from switzerland.

    feederchain
    Participant
    Post count: 83

    I think that you should be good with those steps. I created my build a few months ago compiling from source. This takes alot of time. But I’m sure the image is fine. The custom kernel I posted fixes some of the issues. According to buzz’s post above, there is a fix for player 2. That is not in my custom kernel. If you like, I could compile that in, if no one has done that yet.

    EDIT: I actually had some time. Made the code change and compiled. Here is the link.

    https://www.dropbox.com/s/yr8ab00crk30nyc/custom_kernel_1.20150306-1.tar.gz?dl=0

    Note that I haven’t even tested this at all. Just compiled and uploaded.

    yves1984
    Participant
    Post count: 8

    i try it today and hope it function.

    with the evtest can i test the controller but there
    does not write a xinMo encoder its a different :(

    (sorry for my english) ;)

    yves1984
    Participant
    Post count: 8

    I can dowload and unzip it
    I see the directory and the install.sh
    But i can`t start it.

    “Sudo: ./install.sh command not found”

    Any idea?

    Inputdevices:
    -usb keyboard
    -tht tht arcade console 2p usb player

    But the retropie does only see one player…

    feederchain
    Participant
    Post count: 83

    If that is the install command you used that is slightly wrong.
    Lower case ‘s’ and no ‘:’

    
    sudo ./install.sh
    

    sudo is the command used to run the install.sh script with superuser priveledges.

    yves1984
    Participant
    Post count: 8

    sorry just forgot it to write.
    and also with the comand “sudo ./install.sh” it doesn’t do something.

    What im Do:
    the step on this side: https://supernintendopi.wordpress.com/
    Title: Configuring Controllers and Other Settings
    i config the retroarch.cfg for the 2players like this:
    input_player1_joypad_index = “0”
    input_player1_b_btn = “1”
    input_player1_y_btn = “0”
    input_player1_select_btn = “7”
    input_player1_start_btn = “6”
    input_player1_up_axis = “-1”
    input_player1_down_axis = “+1”
    input_player1_left_axis = “-0”
    input_player1_right_axis = “+0”
    input_player1_a_btn = “2”
    input_player1_x_btn = “4”
    input_player1_l_btn = “3”
    input_player1_r_btn = “5”

    input_player2_joypad_index = “0”
    input_player2_b_btn = “11”
    input_player2_y_btn = “10”
    input_player2_select_btn = “17”
    input_player2_start_btn = “16”
    input_player2_up_axis = “-3”
    input_player2_down_axis = “+3”
    input_player2_left_axis = “-2”
    input_player2_right_axis = “+2”
    input_player2_a_btn = “12”
    input_player2_x_btn = “14”
    input_player2_l_btn = “13”
    input_player2_r_btn = “15”

    input_exit_emulator_btn = “9”

    but retroPie doesn’t see player2.

    thx for all your comments and help at this time :)

    feederchain
    Participant
    Post count: 83

    I don’t have the controller setup that you are using. It just happened my issue was showing up the same as with what you are trying to use. I’m guessing since the custom kernel didn’t install, this would be the reason that it still doesn’t work. (Although since I don’t have this exact setup, maybe I messed up the compile)

    So how are you transferring the download above to the raspberry pi? It seems odd that if you see the install.sh it doesn’t run.

    Unless you are unpacking it before moving it to the pi. This might cause you to lose the executable permission.

    Without knowing the exact steps you used I can only guess as to what the issue might be at this point.

    The following are the steps that should work.

    Download the latest kernel I compiled above.
    Copy it to your raspberry pi somewhere.
    Go to this directory on your raspberry pi
    Run the following 3 commands.

    
    tar -xf custom_kernel_1.20150306-1.tar.gz
    cd custom_kernel_1.20150306-1
    sudo ./install.sh
    

    If this doesn’t work, I think I’ll need a clearer picture of the steps you used to get to this point.

    Thanks

    yves1984
    Participant
    Post count: 8

    it was my fault :( sorry

    it works now. the system see now two of *tht tht arcade console 2p usb player*
    so now can i try to config all the buttons
    hope i can that also ;)

    thx for your help.

    feederchain
    Participant
    Post count: 83

    Any time, glad to hear that you are getting somewhere.

    krauthaus
    Participant
    Post count: 22

    I am a really noob in linux, but your Solution works like a charm feederchain! Now nearly all is working; the only thing left is to find out how to change the y-axis in scummvm:) (This one is reverted and the buttons have to be remapped for my arcade.)

    Thank you very much for your hard work! ;D

    yves1984
    Participant
    Post count: 8

    I cant’t config my player2
    For 1player is all okay just the coin button doesnt function.

    How did u config your 1 and 2player buttons?

    feederchain
    Participant
    Post count: 83

    @krauthaus.. It’s good to hear this is working for so many people. Unfortunately I have not looked into running ScummVM yet. So I don’t think I can provide much help on that front.


    @yves1984
    .. There are examples of button maps earlier in this thread that appeared to be working for others. Have you tried running jstest to see if the buttons all map out and function properly? I don’t recall if jstest is installed by default in retropie or not.

    If it isn’t simply run

    sudo apt-get install joystick
    jstest /dev/input/js0

    ctrl-c anytime to close the program

Viewing 35 posts - 1 through 35 (of 278 total)
  • The forum ‘Controller Configuration in RetroPie’ is closed to new topics and replies.