zigurana / EmulationStation

Extension of A flexible emulator front-end supporting keyboardless navigation and custom system themes.
MIT License
25 stars 6 forks source link

X and Y toggles not working with Retropie 4.0.1 #25

Closed crunchbury closed 8 years ago

crunchbury commented 8 years ago

Hi,

Curious if anyone else can repro this. With the latest version of Retropie, installing Child-Friendly from source, and installing the Carbon v4 theme, I can no longer toggle favorites or kid status on a title with my controller. Nothing happens when I hit either button. It does work if I toggle favorite in the metadata edit menu. This still occurs after I reconfigure my inputs in the emulationstation menu. I tested a USB controller, the keyboard, and an 8bitdo bluetooth controller to make sure it wasn't a controller issue. Still no luck.

Anyone else seen this issue or know how to solve it? Thanks!

zigurana commented 8 years ago

Hey, thanks for bringing this to my attention. I have not tested R4.+ yet. Did you see #15 ? This issue is very similar, and might be due to the same.

crunchbury commented 8 years ago

Thanks for the response. The issue is similar but not the same. The X and Y buttons seem to not work at all for me. I tried to configure and re-configure controls several times with no luck before or after. I also tried reassigning X and Y to other buttons that I knew worked, like the shoulder buttons. It still ignored the input.

I upgraded retropie from a previous install. I will have to double check that I followed all update steps properly. I'm out of town until Thursday night US time, so I will check then if no one else can repro.

Edit: Double checked and I installed things properly.

MetalManTN commented 8 years ago

I too have an updated Retropie (as of today), and the X Y toggles are not working. I reconfigured the inputs multiple times with no success.

pjft commented 8 years ago

I confirm that this is not working on 4.0.2 either. There seems to have been a commit 4 days ago but the issue still seems to persist. Let me know if there's anything I can help with.

zigurana commented 8 years ago

The commit was meant to fix #15, which was basically not fixable from within ES. This issue is still open.

pjft commented 8 years ago

Thanks. It's just that you had mentioned it could be the same as #15, but it doesn't seem like it, though now I noticed that that commit was to the scripts, so tonight I'll update the retropie scripts, reconfigure the controls, and then check whether it's been fixed. Unless it's completely unrelated. Thanks!

zigurana commented 8 years ago

It will still not work. Partly, this is because the theme needs to be updated. At the very least, the theme version number (as reported in the XML here) should be set to "4". Otherwise ES will not even try, see this. Even with this in place, it wont show however. I've not yet had the time to look at why it's not working.

pjft commented 8 years ago

Ah, sorry. Maybe it wasn't clear: I'm using a child-friendly theme I put together during the weekend - an adapted version of Carbon, and a light version that's a mix of Carbon and Simple. Happy to share them somehow. So yes, I'm on theme version 4, and the icons are showing as well as the help menu. That being said, the buttons are not registering at the moment, so I thought that updating the scripts later would help. I'm happy to share the themes I put together - should I send them over Dropbox or something? The Carbon theme you shared doesn't seem to work on RetroPie 4.x - I suppose some tags have changed or are deprecated.

zigurana commented 8 years ago

I've whipped up a new repository for Kid-Friendly ES themes.

Once I've added a readme, You (or anyone for that matter) can submit Pull Requests to have their creations included. If you put everything in a single folder, it should be easy enough to do (I hope).

pjft commented 8 years ago

Ah, that's great! I'll try to submit a pull request with those two themes then. The folder structure follows the same structure as the original ones:

theme_name\ theme_name\system_name\ theme_name\system_name\art

I'm just wondering, from a good citizenship perspective, if I should actually submit those as forks of the original themes, into your repository (is that even something that can be done on GitHub?).

Recommendations and suggestions are welcome - haven't really used GitHub myself, but want to make sure I'm respecting proper etiquette for everyone here.

zigurana commented 8 years ago

Well, if they are not new ones, but variations on existing ones (for instance from the RetroPie collection), it's easiest to fork them, that would keep the edit history intact, and would allow for mergin at some later point.

You can do it yourself by clicking the green "clone or download" button, then you can upload the changed files, which will be tracked in your version then.

mrnohr commented 8 years ago

Which controller are you using? I noticed as I was working on my theme that the X and Y buttons do not work on the SNES-style Buffalo brand controller. However, I also have a wireless PS3 clone and the X and Y (square and circle on PS3) do toggle the kids mode and favorite, and the icons show up right away.

I don't know enough about the controller configuration to know why different ones would behave differently, even with similar mappings.

I am also using 4.0.2

pjft commented 8 years ago

Hi! I'm using an original PS3 controller, Sixaxis - not Dual Shock. Bluetooth.

If there's a file where the exact settings are stored, I'm happy to paste the content here if it helps. From what you're describing, it might even be a button mapping thing. Are you on 4.0.2?

mrnohr commented 8 years ago

Yes, I'm using 4.0.2.

I looked at my 2 different key mapping configs and they seems correct. I just set them up through the UI. I have no idea why one would work with the icons (PS3) and one wouldn't (SNES).

These are from /opt/retropie/configs/all/retroarch-joypads.

SNES-style USB Controller:

input_device = "USB,2-axis 8-button gamepad " input_driver = "udev" input_l_btn = "4" input_load_state_btn = "4" input_start_btn = "7" input_exit_emulator_btn = "7" input_up_axis = "-1" input_a_btn = "0" input_b_btn = "1" input_reset_btn = "1" input_down_axis = "+1" input_r_btn = "5" input_save_state_btn = "5" input_right_axis = "+0" input_state_slot_increase_axis = "+0" input_x_btn = "2" input_menu_toggle_btn = "2" input_select_btn = "6" input_enable_hotkey_btn = "6" input_y_btn = "3" input_left_axis = "-0" input_state_slot_decrease_axis = "-0"

Wireless Playstation Controller:

input_device = "PLAYSTATION(R)3 Controller" input_driver = "udev" input_r_y_plus_axis = "+3" input_l3_btn = "1" input_r_x_minus_axis = "-2" input_l_btn = "10" input_load_state_btn = "10" input_start_btn = "3" input_exit_emulator_btn = "3" input_l_y_minus_axis = "-1" input_up_btn = "4" input_r_y_minus_axis = "-3" input_a_btn = "13" input_b_btn = "14" input_reset_btn = "14" input_down_btn = "6" input_l_x_plus_axis = "+0" input_l_y_plus_axis = "+1" input_r_btn = "11" input_save_state_btn = "11" input_r2_btn = "9" input_r3_btn = "2" input_right_btn = "5" input_state_slot_increase_btn = "5" input_x_btn = "12" input_menu_toggle_btn = "12" input_select_btn = "0" input_enable_hotkey_btn = "0" input_l_x_minus_axis = "-0" input_y_btn = "15" input_left_btn = "7" input_state_slot_decrease_btn = "7" input_r_x_plus_axis = "+2" input_l2_btn = "8"

pjft commented 8 years ago

I suppose I may be completely wrong, but does emulationstation read from the retroarch-joypads configuration file? I thought - maybe incorrectly - that it would store its own key mappings elsewhere?

Maybe at home/pi/.emulationstation/es_input.cfg ? What's the content of that file for those two controllers?

mrnohr commented 8 years ago

Good point. Here is my es_input.cfg file:

<?xml version="1.0"?>
<inputList>
  <inputAction type="onfinish">
    <command>/opt/retropie/supplementary/emulationstation/scripts/inputconfiguration.sh</command>
  </inputAction>
  <inputConfig type="joystick" deviceName="USB,2-axis 8-button gamepad  ">
    <input name="pageup" type="button" id="4" value="1"/>
    <input name="start" type="button" id="7" value="1"/>
    <input name="up" type="axis" id="1" value="-1"/>
    <input name="a" type="button" id="0" value="1"/>
    <input name="b" type="button" id="1" value="1"/>
    <input name="down" type="axis" id="1" value="1"/>
    <input name="pagedown" type="button" id="5" value="1"/>
    <input name="right" type="axis" id="0" value="1"/>
    <input name="select" type="button" id="6" value="1"/>
    <input name="left" type="axis" id="0" value="-1"/>
  </inputConfig>
  <inputConfig type="joystick" deviceName="PLAYSTATION(R)3 Controller">
    <input name="pageup" type="button" id="10" value="1"/>
    <input name="start" type="button" id="3" value="1"/>
    <input name="up" type="button" id="4" value="1"/>
    <input name="a" type="button" id="13" value="1"/>
    <input name="b" type="button" id="14" value="1"/>
    <input name="down" type="button" id="6" value="1"/>
    <input name="pagedown" type="button" id="11" value="1"/>
    <input name="right" type="button" id="5" value="1"/>
    <input name="x" type="button" id="12" value="1"/>
    <input name="select" type="button" id="0" value="1"/>
    <input name="y" type="button" id="15" value="1"/>
    <input name="left" type="button" id="7" value="1"/>
  </inputConfig>
</inputList>
mrnohr commented 8 years ago

After I pasted that, I noticed that for the USB controller there is no X or Y. When I manually added that to the es_input.cfg file, now the icons are working.

So... why wasn't X or Y mapped in es_input.cfg?

pjft commented 8 years ago

Interesting. I'll check the output on my PS3 controllers - that may be a good insight.

Have you updated the config scripts? That might be related to this, which has been supposedly fixed a few days ago.

mrnohr commented 8 years ago

I bet I don't have that change pulled in. The SNES one that I had the problem with was setup when first starting my RetroPie for the first time, where it automatically prompted me to set it up. I bet that process did not have the updated RetroPie-Setup Script, even though I did it just a couple days ago.

pjft commented 8 years ago

@zigurana Ok, so I tried this out and I managed to solve it. It is definitely related to the issue solved in that commit, and it seems to be related to the setup scripts. Still, after solving it, a few unexpected behaviors came up, and I had to do a bit more work.

1 - I updated Retropie's setup scripts. 2 - I re-configured the controllers. 3 - I checked and now the toggles worked. Yay!

Then, when I rebooted, the icons for kid-friendly and favorites no longer showed, and in fact the menus had changed back to the original RetroPie menus (the regular emulationstation version, with no Random game selector, nor Full/Kiosk/Kid mode selector). As I was afraid that, on restart, it'd overwrite my gamelist.xml files and erase all my pre-selections of kid-friendly and favorite games, I:

4 - Went to the RetroPie setup menu. 5 - Reinstalled from source the emulationstation-kids package 6 - After install, I did not go back to emulationstation, but rather force restarted the Raspberry Pi, so it wouldn't rewrite the gamelist.xml files on save.

After reboot, now, everything was normal - the toggles worked and the icons showed up correctly.

So, summarizing:

mrnohr commented 8 years ago

I ran into something similar where I had kids mode set up and running, then updated the RetroPie Setup script and it reverted to the main (non-kids) mode. I installed some other packages too, so I thought maybe that was what reverted back to the main branch. But if the RetroPie Setup script is doing it, that might be a new bug/issue.

mrnohr commented 8 years ago

I'm thinking we could close this ticket. The problem likely stems from the RetroPie Setup fix where it had to be updated to map X and Y.

Thoughts?

pjft commented 8 years ago

Sure. Would just love confirmation that the problem with installing the script causing emulationstation-kids to revert to normal is something that is on the RetroPie side of things, and not on emulationstation-kids .

zigurana commented 8 years ago

Hey, I think the X/Y button thing is fixed now right? Lets continue the installation discussion at #35.