Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Hotkey + Right Shoulder not working



  • 'Hotkey + Right Shoulder' is not saving but 'Hotkey + Left Shoulder' does load. I did Configure Input to make sure it was set right and it was. I've loaded up games that use the shoulder buttons also and they work.

    All the other hotkeys for game pads that listed in the Docs work fine, just not the save state.

    I can go into retroarch and create a save state and load it with 'Hotkey + Left Shoulder', that is how I tested it, but I can't save state with 'Hotkey + Right Shoulder'.

    I know I'm supposed to RTFM but can't find my answer there.

    Thanx,
    Stan

    Pi Model: 3B+
    Power Supply used: Cannakit
    RetroPie Version Used: 4.5.1
    Built From: Pre made SD Image on RetroPie website(retropie-4.5.1-rpi2_rpi3.img)
    USB Devices connected: Retroflag SNES controller and Apple Keyboard from G5 imac
    Controller used: Retroflag SNES
    Guide used: Just the Docs
    Emulator: Tried in most of the default emulators


  • Global Moderator

    You can check the hotkey bindings in the controller's configuration file, which you can find under /opt/retropie/configs/all/retroarch-joypads, in a .cfg file named after your controller. Check if you have the input_save_state_btn option set and its value is the same as input_r_btn.
    The same folder can be accessed over file shares at \\retropie\configs\all\retroarch-joypads if you have a PC in the same network as your Pi.



  • @mitu I run Linux on my main PC and I take the SD card out of my pi and mount it on my PC and I navigate to the retroarch-joypads file(it is a link) ~~and it says 'The Link "retroarch-joypads" is Broken. Move it to Trash?' and 'This link cannot be used, because its target "/opt/retropie/configs/all/retroarch/autoconfig" doesn't exist.'

    Does the pi need to be running for that file to exist?~~

    No wait, found it, just looked at the properties of retroarch-joypads to find where the file was.

    Hmm, sees it as a X-Box 360 pad. This is what's in the file:

    input_device = "Microsoft X-Box 360 pad"
    input_driver = "udev"
    input_l_btn = "4"
    input_load_state_btn = "4"
    input_start_btn = "9"
    input_exit_emulator_btn = "9"
    input_down_btn = "h0down"
    input_right_btn = "h0right"
    input_state_slot_increase_btn = "h0right"
    input_select_btn = "8"
    input_left_btn = "h0left"
    input_state_slot_decrease_btn = "h0left"
    input_up_btn = "h0up"
    input_a_btn = "0"
    input_b_btn = "3"
    input_reset_btn = "3"
    input_enable_hotkey_btn = "8"
    input_x_btn = "2"
    input_menu_toggle_btn = "2"
    input_y_btn = "5"
    

    Um, not sure what I'm looking at. I don't see a 'input_save_state_btn'. Can I manually edit this file? What would I put in it?strikethrough text


  • Global Moderator

    You can manually edit this file and add

    input_save_state_btn="<X>"
    

    where <X> would be the same key code appearing in the input_r_btn option. However, looking at your file, I don't see input_r_btn defined - which is most likely the issue - when you configured your controller, you might have skipped the LR button (Right shoulder).
    Try re-configuring again the controller from Emulationstation and make sure you set the Right shoulder button correctly, then re-try to see if the save state hotkey works.



  • @mitu I ran the configuration a few times and it didn't work. I'll try another controller and see if that fixes things.

    EDIT: Is there a command line option where I can get the values for the buttons on my controller so I can just make a file? I tried a controller from my playstation classic and although the buttons work in emulationstation they don't work in any emulators.

    Or do I need to set up the controller and restart to have it take affect?

    EDIT EDIT: It seems like I can set up a few controllers in emulationstation but they don't work in retroarch. It's 6 in the morning here, I think I might give up for tonight, I might delete the retroarch gamepad file and start over.

    EDIT EDIT EDIT:

    Ok, googled and found it here:

    [https://www.reddit.com/r/RetroPie/comments/7x1qkv/ps4_controller_works_in_the_emulationstation_but/](link url)

    went in to retroarch, used the arrow keys on my keyboard and z and x for the select and back buttons, went to bind my user 1 keys and I think it worked, I'll try an emulator now.

    EDIT EDIT EDIT EDIT:

    holy crap, that worked. So now the controller works in retroarch(emulators) but at first it didn't, I had to 'save configuration' at the top menu before I exited retroarch(normal). However, none of the hotkeys work, at all, I have to exit a game by hitting 'esc' on my keyboard.

    So, now do I have to go into the file and edit it? The hotkey bindings setup within retroarch don't seem to allow button combos.

    EDIT EDIT EDIT EDIT EDIT:

    Ok, so I went into bind hotkeys and scrolled down to 'Hotkeys' and bound that to select. Then all the other options I bound to their respective buttons so I hit select + button to have hotkey

    Wow, this was a long and painful process but it works now. Is this a bug of some sort or just my messed up configuration? I thought if I started from a clean install it would setup better than a pre-made image.

    Oh well, hopefully this helps someone else, I could make a video on it and post it on my youtube channel and post that here if anyone wants.

    Oh, and as a bonus I found out how to enable rewind, so I have that set to 'Select + L2' I didn't know I could do that in retropi!


  • Global Moderator

    @second-exodous said in Hotkey + Right Shoulder not working:

    EDIT: Is there a command line option where I can get the values for the buttons on my controller so I can just make a file? I tried a controller from my playstation classic and although the buttons work in emulationstation they don't work in any emulators.

    It's jstest - see https://retropie.org.uk/docs/RetroArch-Configuration/#determining-button-values.

    Oh, and as a bonus I found out how to enable rewind, so I have that set to 'Select + L2' I didn't know I could do that in retropi!

    Enabling Rewind in RetroArch - on the PI - impacts considerably the performance of Libretro based emulators. It's disabled through configuration on the Pi systems because of that.



  • @mitu The rewind feature seems to work well in SNES, NES, and MD and with this setup that is 99.9% of what I play so I think I'm good.

    As for the controller issue I have tried a few pre-made images and I haven't experienced this setup issue. I have re-downloaded this official image, flashed it, and tried it again and I get the same results so not sure if it is this latest release or what, so I don't know if it is a bug. I would reflash and try with a clean install and with some of the controllers I had, one from 8-bitdo, retro-bit, retroflag, and then the ones that came with my PS1 Classic all with the same results; The retroarch controller file isn't being written correctly. When setup in emulation station it works correctly in those menus but when I enter an emulator all the buttons don't work. I need to go into retroarch and set it up there like I said in my previous post.

    I guess if no one reports this it is just me with the setup I have but mine is pretty standard: The official image I download from here, raspberry 3b+, retroflag NES case, and every controller I have. Maybe it is the pi I have? Anyway, I have it working now but when the next release comes out I will give it a try and see if it sorts out my problems.

    Thanks for the help though! Besides this little problem I got everything I wanted from the official image and it works great.



Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.