New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
N64 USB controllers and others not mapping as expected #4889
Comments
batocera-support-20211105103625.tar.gz batocera-support-20211105104622.tar.gz |
I would love to see a controller configuration fix for N64, Sega, and Sega Saturn native USB controllers. Thank you for the above info. |
can you add Xbox One controller Right analog stick (right or left) not working in retroarch overall for mapping only in retroarch (right analog stick) right and left direction |
A workaround has been discovered, though unrelated to this issue you can just edit the |
ok its retroarch not es why u are talking about es ? in retroarch when i
try right joystick or l r or select start there is some issue in beta and
v32
Le mar. 30 nov. 2021 à 22:37, Atari ***@***.***> a écrit :
… A workaround has been discovered, though unrelated to this issue you can
just edit the es_input.cfg manually as mentioned here:
https://wiki.batocera.org/systems:n64#controls
Original source:
https://www.reddit.com/r/batocera/comments/r4gqu2/brawler64_controller_setup_with_default_n64/
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#4889 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AHDMJRCOWYMJ5Q675MF5TBLUOWKAVANCNFSM5GXKJNIA>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
|
What are you talking about @tommylee464 ? Are you sure that's related to this issue? |
Hi, I want to demystify the problem. So for my case I assume:
The Problem: In Batocera you cant assign right analog stick to match the C buttons of the N64, Thus using a Orign. N64 via USB or Brawler gen USB you alway have to remap various buttons and in the case of orign. N64 controller you are also missing select button and home button to use as hotkey. The Solution: In Batocera you need to configure setup your controller in a smart way, so that if you plugin a Xbox360 style controller or a N64 controller it will always work. To do so I present my controller layout. This is based upon the org. n64 controller but the same layout can be used for Brawler USB (or wireless). You will need to skip every button that is not presented here!
Wait your not done yet! The problem now is you dont have a hotkey, and Retroarch functions like change shader on R2 button are now actived without hotkey! So if you press C-Right in Mario64 it will trigger next shader fuction (thats bad). So in order to exit a game and not use hotkey functions we need to adjust batocera.conf file ( userdata\system\batocera.conf )
Then to disable all other hotkey buttons add these lines (this sets all the hotkey functions to disable aka nul:
Result:
Q & A: Q: Why dont I use any of the C buttons or R1, L1 button as Hotkey? |
That's a novel workaround but https://www.reddit.com/r/batocera/comments/r4gqu2/brawler64_controller_setup_with_default_n64/ seems to be much simpler and easier to comprehend. It could be combined with your hotkey combo to still be able to exit games. Fundamentally, if we could just assign r-stick down etc. like recalbox in the menu then the issue would be fixed. |
Yea this works best for me. I appreciate the reddit solution verry much! I will look into it. But this is only a solution for 1 type of controller. I have 2 saffun n64 usb controllers and 2 Retrolink n64 usb controller both have a different key mapping in dinput mode. So for me it takes longer to find out what button id belongs to each controller then setting up a remap in RetroArch. Also my solution is only for RetroArch emulators not for standalone Mupen64. What you are saying is true: "Fundamentally, if we could just assign r-stick down etc. like recalbox in the menu then the issue would be fixed" than atleast for my N64 style usb controller you will only need to fix the missing hotkey. BTW you helped me on discord for setting this up: Thnx Atari! |
@Hew-ux worth closing now? |
The issue is unchanged. I have since given up on this gaining any traction though. |
Is the issue filed in the correct repository? The mapping is done in ES, and so it's ES that would need to allow mapping the additional axes. If you agree, I can move this issue to the ES repository. |
Fabrice has already made it clear to me that he does not intend to re-add the Down and Right inputs back to the input configuration screen, but that was years ago and maybe he's changed his mind. Either way, I don't want to be stirring up any more about this issue; users have already made their own unique workarounds and I've since written up instructions on how to manually configure controller mappings on the wiki (bypassing the UI limitation). A genuine fix might also break users' existing workarounds unintentionally. Feel free to open up an issue in relation to this, but I'll be closing this ticket. |
Issue: When mapping a controller, Up and Left can be mapped properly for the analog sticks, but Down and Right do not function in game.
Expected behaviour: To be able to use both up/down and left/right on the analog stick mappings.
Reproduction steps: Get a controller that doesn't use negative axis values for polar inputs (listed below) and map it using the "Configure a controller" menu. Down and Right on whatever has been used for the analog sticks does not function.
Info: In the "Configure a controller" menu, you can only assign left/right analog sticks for the Retropad by pushing Up and Left. Batocera then assumes that the "opposite" value on that axis must be the polar direction. Eg. if the axis starts at a value of 0, and increases to 124 as the user maps the Up direction, then -124 is assigned as the Down direction.
Mapping only left/up and relying on the inverse axis causes a large group of controllers to be unusable in Batocera (ie. only be able to map up and left, but not down and right). Allowing the mapping independently to left/up/down/right directions (like how Retropie and Recalbox's EmulationStation does it) would allow for basically any controller, not just ones that use negative axis values for polar directions, to be mapped. Examples of controllers that don’t use a negative axis value for certain inputs:
Batocera's current controller config: https://github.com/batocera-linux/batocera.linux/blob/master/package/batocera/core/batocera-configgen/configgen/configgen/controllersConfig.py
Recalbox's controller config which does support this: https://gitlab.com/recalbox/recalbox-configgen/-/blob/master/configgen/controllers/controller.py
This might require also tinkering with the controller inputs for certain emulators, some may be hard-coded to the axis/negative axis behaviour.
The critical line for changing this behaviour might be https://github.com/batocera-linux/batocera.linux/blob/master/package/batocera/core/batocera-configgen/configgen/configgen/controllersConfig.py#L184, but I'm not sure about it or what would be needed to be replaced here. Maybe the behaviour for the trigger axis mapping can be used.
The text was updated successfully, but these errors were encountered: