Homepage › Forums › RetroPie Project › Controller Configuration in RetroPie › Autofire on the axis
Tagged: configuration, controller, genesis, retrobit, retropie, THT, ultracabs, xinmo
- This topic has 277 replies, 69 voices, and was last updated 8 years, 8 months ago by janmilpol.
-
AuthorPosts
-
02/16/2015 at 03:33 #87596feederchainParticipant
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
02/16/2015 at 09:48 #87621dpicc68ParticipantSame thing is happening to me with a THT / Xinmo arcade stick.
Here
And here
Joystick sending multiple actions with a single click? (2.4.2)
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??
02/16/2015 at 16:59 #87676feederchainParticipantI 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.
02/17/2015 at 01:26 #87751daveireland20ParticipantHaving 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
02/17/2015 at 03:21 #87758feederchainParticipantHere 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.
02/17/2015 at 11:04 #87792daveireland20ParticipantWorked 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
02/17/2015 at 13:44 #87812feederchainParticipantGlad to here it!
02/17/2015 at 18:24 #87842clownfish360ParticipantI just updated with instruction listed as well and all is working with my xim mo dual. Awesome job guys.
02/18/2015 at 07:21 #87910AnonymousInactiveWow! Thank you feederchain, this has corrected my autofire problem. I am so thankful for your help!
02/19/2015 at 00:19 #88019daveireland20ParticipantJust 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
02/19/2015 at 02:42 #88042feederchainParticipantI don’t actually have one of those, so I don’t think I can be much help. Sorry.
02/19/2015 at 03:42 #88048clownfish360ParticipantYes this fixes the 2nd player joystick not working.
02/24/2015 at 09:07 #88854craigbnzParticipantHi,
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.02/24/2015 at 12:28 #88869daveireland20ParticipantHaving 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”02/24/2015 at 14:01 #88873feederchainParticipantI 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
02/24/2015 at 14:30 #88878daveireland20ParticipantCheers 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 !
02/24/2015 at 14:49 #88881feederchainParticipantI 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.
02/24/2015 at 15:25 #88887daveireland20ParticipantYea 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 !
02/24/2015 at 16:10 #88889clownfish360ParticipantI 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″02/24/2015 at 17:56 #88903daveireland20ParticipantOut 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
02/24/2015 at 18:41 #88911clownfish360ParticipantI 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.
02/24/2015 at 18:49 #88916daveireland20ParticipantI 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
02/28/2015 at 15:39 #89562petrockblogKeymasterthere 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
03/05/2015 at 18:19 #90248yves1984ParticipantHi 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.
03/06/2015 at 01:28 #90318feederchainParticipantI 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.
03/06/2015 at 18:02 #90389yves1984Participanti 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) ;)
03/07/2015 at 14:54 #90494yves1984ParticipantI 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 playerBut the retropie does only see one player…
03/07/2015 at 17:00 #90505feederchainParticipantIf 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.
03/07/2015 at 19:09 #90521yves1984Participantsorry 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 :)
03/07/2015 at 20:42 #90532feederchainParticipantI 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
03/07/2015 at 21:48 #90542yves1984Participantit 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.
03/07/2015 at 21:52 #90544feederchainParticipantAny time, glad to hear that you are getting somewhere.
03/07/2015 at 22:03 #90545krauthausParticipantI 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
03/07/2015 at 23:02 #90551yves1984ParticipantI 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?
03/07/2015 at 23:42 #90556feederchainParticipant@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
-
AuthorPosts
- The forum ‘Controller Configuration in RetroPie’ is closed to new topics and replies.