Recalbox 7.0

Moonlight: right stick not working correctly (Logitech F710)

  • Hi,

    I'm new to the whole moonlight thing and WOW! It's great! Mindblowing even.
    Until I noticed that on my right stick only the vertical axis is working. I tried Tomb Raider 2013 and Half-Life 2. In both games the right stick controls the camera, but only the vertical axis working, the horizontal one is simply ignored.

    As far as I can tell I set everything up correctly in recalbox's menus.
    Is there any moonlight-specific config that I have to amend/fix?

    Is this a known issue or should I file a bug report on github?

    I'm using recalbox 4.0-beta5 and Geforce Experience

    Update: here's the config file share/system/configs/moonlight/mappingP1.conf that recalbox has auto-generated:

    # Device name = Logitech Gamepad F710
    # SDL2 GUID   = 030000006d0400001fc2000005030000
    # Event path  = /dev/input/event0
    btn_west = 307
    btn_east = 305
    abs_dpad_y = 17
    abs_dpad_x = 16
    reverse_dpad_y = false
    reverse_dpad_x = false
    abs_ry = 4
    abs_deadzone = 4
    btn_south = 304
    btn_start = 315
    reverse_ry = true
    reverse_rx = false
    btn_mode = 316
    abs_x = 0
    abs_y = 1
    reverse_x = false
    reverse_y = true
    btn_select = 314
    btn_thumbl = 317
    btn_tr = 311
    btn_north = 308
    btn_tl = 310
    btn_thumbr = 318
    abs_rz = 5
    abs_z = 2

  • Hooray, I could fix it by modifying the config file to have the contents of the following mapping file:

  • pad related configuration files are generated dynamically. I'd need your ~/.emulationstation/es_input.cfg to check something. Are you sure you mapped correctly your pad in ES ?

    edit : doh you're right : there is a small syntax error, my bad

  • @subs
    So you no longer need the es_input?
    Anyway, I'm amazed at what a Raspi, a 6 year old PC and a GTX 750Ti can do 🙂

  • @subs
    Just out of curiosity: Why doesn't recalbox autoconfigure the known gamepads? I just had a look at es_input.cfg and noticed that there are complete "profiles" for lots of known controllers. Wouldn't it be possible to have a complete out-of-the-box plug-and-play config?

    Or is that the intended behavior and it simply fails on my box due to some syntax error that you mentioned?

  • As i just said : configuration is generated upon launch of the emulator (we call it configgen). So whether you start retroarch, mupen moonlight, scummvm ... configgen generates the config files for the selected emulator.

    Still, I don't get what you mean 😮 because it is already dynamically generated ... The more we fill the es_input.cfg (if you had to configure your pad, then yes I'm still interested into it to add it), the more recalbox is plug'n'play

  • @subs
    I'm sorry if my questions haven't been clear, I'll try to reformulate them 🙂

    1. When I set up my current recalbox (4.0.0-beta5, clean install), at the first launch I was presented with an emulationstation-dialog prompting me to configure my controller, which I did. Now, in es_input.cfg I see lots of controllers that I don't own and then, at the end of it, my Logitech F710. I still don't know when and how this es_input.cfg is created, but since the system knows about many different types of controllers, I'm wondering why I had to do the initial controller configuration at all. Please note that this is not intended as a criticism, I'm simply wondering!
      It seems to me that it would be possible to simply set up the controller automatically. The user would still have the possibility to reconfigure the controller if he needed to.

    2. Is it a (minor) bug that the F710 is not automatically setup in emulationstation (and all emulators)? If so, is there some information I could contribute? Could it be that most/all of the other controllers in es_input.cfg were already present before the first boot and that my F710 only got added when I configured it?

    3. (not a question, a confirmation) I do know that the mappings for the different emulators (not emulationstation itself) are created automatically based on my "main" config in Emulationstation.

    Anyway, thanks for an awesome software product!

  • @subs said in Moonlight: right stick not working correctly (Logitech F710):

    (if you had to configure your pad, then yes I'm still interested into it to add it),

    I think I've gained a better understanding now! I found this file:
    and noticed that the Logitech F710 is not included by default!

    Is this what you mean? Anyway, here's the relevant part of my es_input.cfg:

    	<inputConfig type="joystick" deviceName="Logitech Gamepad F710" deviceGUID="030000006d0400001fc2000005030000">
    		<input name="a" type="button" id="1" value="1" code="305" />
    		<input name="b" type="button" id="0" value="1" code="304" />
    		<input name="down" type="hat" id="0" value="4" code="16" />
    		<input name="hotkey" type="button" id="8" 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="3" value="-1" code="3" />
    		<input name="joystick2up" type="axis" id="4" value="-1" code="4" />
    		<input name="l2" type="axis" id="2" value="1" code="2" />
    		<input name="l3" type="button" id="9" value="1" code="317" />
    		<input name="left" type="hat" id="0" value="8" code="16" />
    		<input name="pagedown" type="button" id="5" value="1" code="311" />
    		<input name="pageup" type="button" id="4" value="1" code="310" />
    		<input name="r2" type="axis" id="5" value="1" code="5" />
    		<input name="r3" type="button" id="10" value="1" code="318" />
    		<input name="right" type="hat" id="0" value="2" code="16" />
    		<input name="select" type="button" id="6" value="1" code="314" />
    		<input name="start" type="button" id="7" value="1" code="315" />
    		<input name="up" type="hat" id="0" value="1" code="16" />
    		<input name="x" type="button" id="3" value="1" code="308" />
    		<input name="y" type="button" id="2" value="1" code="307" />

  • That's it, thanks 🙂
    To give you more details : es_input.cfg is the file where emulationstation stores the pads configuration. And it's filled with quite much data that allows us to configure almost any emulator
    I made a typo for moonlight, patch sent to digitaLumberjack

  • @subs
    Ah ok, thanks! I'm glad I could make a tiny contribution 🙂

Want to support us ?