petrockblock.com – Fun Stuff for Technics Enthusiasts › Forums › RetroPie Project › Controller Configuration in RetroPie › Autofire on the axis
feederchainParticipant02/16/2015 at 03:33Post 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.
Thanksdpicc68Participant02/16/2015 at 09:48Post count: 53
Same thing is happening to me with a THT / Xinmo arcade stick.
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??feederchainParticipant02/16/2015 at 16:59Post 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.
Here is a link to the code that was put in, that I removed to make it work.
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.daveireland20Participant02/17/2015 at 01:26Post 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?
CheersfeederchainParticipant02/17/2015 at 03:21Post count: 83
Here is a link to my custom kernel.
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.daveireland20Participant02/17/2015 at 11:04Post 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 !
Cheersclownfish360Participant02/17/2015 at 18:24Post count: 11
I just updated with instruction listed as well and all is working with my xim mo dual. Awesome job guys.AnonymousInactive02/18/2015 at 07:21Post count: 1
Wow! Thank you feederchain, this has corrected my autofire problem. I am so thankful for your help!daveireland20Participant02/19/2015 at 00:19Post 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.
CheersfeederchainParticipant02/19/2015 at 02:42Post count: 83
I don’t actually have one of those, so I don’t think I can be much help. Sorry.clownfish360Participant02/19/2015 at 03:42Post count: 11
Yes this fixes the 2nd player joystick not working.craigbnzParticipant02/24/2015 at 09:07Post count: 2
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….
Craig.daveireland20Participant02/24/2015 at 12:28Post 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.
input_device = “Xin-Mo Xin-Mo Dual Arcade”
input_driver = “udev”
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_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”feederchainParticipant02/24/2015 at 14:01Post 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 = +2daveireland20Participant02/24/2015 at 14:30Post 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 !feederchainParticipant02/24/2015 at 14:49Post 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.daveireland20Participant02/24/2015 at 15:25Post 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 !clownfish360Participant02/24/2015 at 16:10Post 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_up_axis = “-3″
input_player2_down_axis = “+3″
input_player2_left_axis = “-2″
input_player2_right_axis = “+2″daveireland20Participant02/24/2015 at 17:56Post 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 meclownfish360Participant02/24/2015 at 18:41Post count: 11
I added this under the main all\retroarch.cfg file.
This is the joystick that I am using. Maybe yours is a different type. Also using Pie version B. Latest 2.6 install.
http://www.ebay.com/itm/2-Player-USB-mame-arcade-kit-includes-2-Sanwa-joysticks-16-buttons/171068996535?_trksid=p2047675.c100011.m1850&_trkparms=aid%3D222007%26algo%3DSIC.MBE%26ao%3D1%26asc%3D29310%26meid%3D9bd4a3e48b424fd889e3ad2630171f65%26pid%3D100011%26rk%3D2%26rkt%3D2%26mehot%3Dpp%26sd%3D321228148130#ht_1698wt_1362daveireland20Participant02/24/2015 at 18:49Post 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 anywaypetrockblogKeymaster02/28/2015 at 15:39Post count: 1828
there is another patch here for this problem – which just involves a new definition line to enable some quirksyves1984Participant03/05/2015 at 18:19Post count: 8
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 ;)?
-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.feederchainParticipant03/06/2015 at 01:28Post 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.
Note that I haven’t even tested this at all. Just compiled and uploaded.yves1984Participant03/06/2015 at 18:02Post 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) ;)yves1984Participant03/07/2015 at 14:54Post 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”
-tht tht arcade console 2p usb player
But the retropie does only see one player…feederchainParticipant03/07/2015 at 17:00Post count: 83
If that is the install command you used that is slightly wrong.
Lower case ‘s’ and no ‘:’
sudo is the command used to run the install.sh script with superuser priveledges.yves1984Participant03/07/2015 at 19:09Post 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 :)feederchainParticipant03/07/2015 at 20:42Post 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.
Thanksyves1984Participant03/07/2015 at 21:48Post 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.feederchainParticipant03/07/2015 at 21:52Post count: 83
Any time, glad to hear that you are getting somewhere.krauthausParticipant03/07/2015 at 22:03Post 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! ;Dyves1984Participant03/07/2015 at 23:02Post 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?feederchainParticipant03/07/2015 at 23:42Post 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
Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/