Y axis inverted in Switch bluetooth controller



  • Hi,

    I have succesfully paired a nintendo switch pro-controller (chinese clone from aliexpress), and everything seems to work fine, except the vertical axis (Y) of the analog controller. On all emulators when I press up, it goes down, and vice-versa.

    Do you know how I can fix this?

    Thanks a lot!

    The controller tha tI am talking about can be found here.


  • Staff
    Developer
    Global moderator
    Team

    @xphere hi,

    Just remap your controller in Recalbox options.



  • Thanks OyyoDams!

    That is the first thing I tried, but no matter how I configure the joystick, the Y axis is always inverted.

    I have tried in the configuration to press up the joystick when is asked to press "joy up" and still appears inverted. I have tried to press down the joystick when is asked to press "joy up", but again, the Y axis is inverted.

    Maybe I should look on some config file, where I can see the exact mapping of the controller?


  • Staff
    Developer
    Global moderator
    Team

    @xphere can you make a support archive ?



  • Sure! I will do!

    Btw, I have seen that if I open a game and enter into retroarch config, I can swap direction of Y axis and then works fine, but since config is not stored, that configuration is lost when I switch to another game.



  • @OyyoDams What do you mean by "support archive"? do you mean to open an issue in GitLab?


  • Global moderator
    Global moderator
    Tester

    @xphere
    Via recalbox-manager
    Open your internet browser:
    On Windows http://recalbox/help or http://ip_recalbox /help
    On Mac / Linux http://recalbox.local/help.
    A link will be automatically uploaded and a link will be given to you.

    Post the link in your current topic on the forum or in the issue you have opened.



  • @Scavy thanks a lot! I will do asap!!



  • here you have the link! https://transfer.sh/7VbNO/recalbox-support-e50530f9-944d-8056-a8ee-1278dce1bf44.tar.gz

    If you want, I can raise an issue too.


  • Global moderator
    Global moderator
    Tester


  • Staff
    Developer
    Global moderator
    Team

    @xphere please try the following. Edit es_input.cfg file, and replace:

    	<inputConfig type="joystick" deviceName="Pro Controller" deviceGUID="050000007e0500000620000001000000" deviceNbAxes="4" deviceNbHats="1" deviceNbButtons="16">
    		<input name="a" type="button" id="0" value="1" code="304" />
    		<input name="b" type="button" id="2" value="1" code="306" />
    		<input name="down" type="hat" id="0" value="4" code="16" />
    		<input name="hotkey" type="button" id="12" value="1" code="316" />
    		<input name="joystick1left" type="axis" id="0" value="-1" code="0" />
    		<input name="joystick1up" type="axis" id="1" value="1" code="1" />
    		<input name="joystick2left" type="axis" id="2" value="-1" code="3" />
    		<input name="joystick2up" type="axis" id="3" value="1" code="4" />
    		<input name="l2" type="button" id="6" value="1" code="310" />
    		<input name="l3" type="button" id="10" value="1" code="314" />
    		<input name="left" type="hat" id="0" value="8" code="16" />
    		<input name="pagedown" type="button" id="5" value="1" code="309" />
    		<input name="pageup" type="button" id="4" value="1" code="308" />
    		<input name="r2" type="button" id="7" value="1" code="311" />
    		<input name="r3" type="button" id="11" value="1" code="315" />
    		<input name="right" type="hat" id="0" value="2" code="16" />
    		<input name="select" type="button" id="8" value="1" code="312" />
    		<input name="start" type="button" id="9" value="1" code="313" />
    		<input name="up" type="hat" id="0" value="1" code="16" />
    		<input name="x" type="button" id="1" value="1" code="305" />
    		<input name="y" type="button" id="3" value="1" code="307" />
    	</inputConfig>
    

    by

    	<inputConfig type="joystick" deviceName="Pro Controller" deviceGUID="050000007e0500000620000001000000" deviceNbAxes="4" deviceNbHats="1" deviceNbButtons="16">
    		<input name="a" type="button" id="0" value="1" code="304" />
    		<input name="b" type="button" id="2" value="1" code="306" />
    		<input name="down" type="hat" id="0" value="4" code="16" />
    		<input name="hotkey" type="button" id="12" value="1" code="316" />
    		<input name="joystick1left" type="axis" id="0" value="-1" code="0" />
    		<input name="joystick1up" type="axis" id="1" value="-1" code="1" />
    		<input name="joystick2left" type="axis" id="2" value="-1" code="3" />
    		<input name="joystick2up" type="axis" id="3" value="-1" code="4" />
    		<input name="l2" type="button" id="6" value="1" code="310" />
    		<input name="l3" type="button" id="10" value="1" code="314" />
    		<input name="left" type="hat" id="0" value="8" code="16" />
    		<input name="pagedown" type="button" id="5" value="1" code="309" />
    		<input name="pageup" type="button" id="4" value="1" code="308" />
    		<input name="r2" type="button" id="7" value="1" code="311" />
    		<input name="r3" type="button" id="11" value="1" code="315" />
    		<input name="right" type="hat" id="0" value="2" code="16" />
    		<input name="select" type="button" id="8" value="1" code="312" />
    		<input name="start" type="button" id="9" value="1" code="313" />
    		<input name="up" type="hat" id="0" value="1" code="16" />
    		<input name="x" type="button" id="1" value="1" code="305" />
    		<input name="y" type="button" id="3" value="1" code="307" />
    	</inputConfig>
    

    Then try again with a game



  • @OyyoDams said in Y axis inverted in Switch bluetooth controller:

    050000007e0500000620000001000000

    Thanks for the reply. I've done the modification, but the issue persist. I've done the following:
    1- Access via sftp and modify the file
    2- Reboot recalbox
    3- Tried the emulators: snes, genesis, neo-geo and Doom. All still have the Y axis inverted.

    It's strange, because in the config file the Y axis seems to be inverted in the new cnofig file, so, should work...

    Any other idea?

    EDIT: I have tried modifying another line, just for debugging. So I've replaced, for the same controller:

    		<input name="joystick1left" type="axis" id="0" value="-1" code="0" />
    

    By this one:

    	<input name="joystick1left" type="axis" id="0" value="1" code="0" />
    

    But also, no effect, so the X axis has not been inverted either... maybe this is not the right controller config that should be modifying?


  • Staff
    Developer
    Global moderator
    Team

    @Bkg2k ?





Want to support us ?

299
Online

80.5k
Users

21.7k
Topics

158.4k
Posts