RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    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

    Hotkeys not working with XBOX one pads

    Scheduled Pinned Locked Moved Help and Support
    xbox one blooth
    45 Posts 3 Posters 8.2k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      Rad_Schuhart
      last edited by

      Hi everybody, I have been hitting my head against the wall for weeks. Hope is an easy fix.
      After sometime not managing to make it work, yesterday, I did a fresh installation, so everything is new.
      Raspberry Pi 3B
      Downloaded the 4.7.1 version
      Updated everything, it says 4.7.12 now
      Emulation station is V 2.9.6RP

      Downloaded the Xneo drivers.

      I managed to easily bind two xbox one controllers to the rpi using a bluetooth dongle. Both controllers work and I can play with no lag, but the hotkey button does not work at all. That means I cannot exit games, save or load like I used to do in the past. If I connect my keyboard, I can exit games.

      I have been reading through miriads of posts but it seems I cannot find a fix for it. I also tried resetting all controlls and the only problem is the hotkey. When I press it in emulation station, it is recognized. But when I press it in Kodi, it is not.

      Any ideas?

      Thanks!

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by mitu

        Which key did you set up as 'hotkey enable' ? Does using 'Select' as your hotkey work ?

        R 1 Reply Last reply Reply Quote 0
        • R
          Rad_Schuhart @mitu
          last edited by

          @mitu said in Hotkeys not working with XBOX one pads:

          Which key did you set up as 'hotkey enable' ? Is using 'Select' as your hotkey work ?

          Hi Mitu, I was using the center Xbox button, and does not work.
          After reading your post I tried with select, and with it, it works.

          What can I do for making the center button work?

          1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator
            last edited by

            Can you re-map the gamepad and select again the Xbox key as hotkey. Then find the configuration file for the controller in \\retropie\configs\all\retroarch-joypads\ and post its contents here in the topic, surrounded by code tags (```).

            R 1 Reply Last reply Reply Quote 0
            • R
              Rad_Schuhart @mitu
              last edited by mitu

              @mitu

              Hi Mitu, I think this is more or less what you need, but without those tags that you need and I don't know what they are:

              input_device = "Xbox Wireless Controller"
              input_driver = "udev"
              input_enable_hotkey_btn = "10"
              input_r3_btn = "9"
              input_r_y_minus_axis = "-4"
              input_l_btn = "4"
              input_load_state_btn = "4"
              input_r_y_plus_axis = "+4"
              input_up_btn = "h0up"
              input_left_btn = "h0left"
              input_state_slot_decrease_btn = "h0left"
              input_select_btn = "6"
              input_r2_axis = "+5"
              input_r_x_minus_axis = "-3"
              input_l_y_plus_axis = "+1"
              input_l_x_plus_axis = "+0"
              input_right_btn = "h0right"
              input_state_slot_increase_btn = "h0right"
              input_l2_axis = "+2"
              input_l_x_minus_axis = "-0"
              input_r_x_plus_axis = "+3"
              input_l3_btn = "8"
              input_r_btn = "5"
              input_save_state_btn = "5"
              input_l_y_minus_axis = "-1"
              input_y_btn = "2"
              input_x_btn = "3"
              input_menu_toggle_btn = "3"
              input_down_btn = "h0down"
              input_start_btn = "7"
              input_exit_emulator_btn = "7"
              input_b_btn = "0"
              input_reset_btn = "0"
              input_a_btn = "1"
              
              1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator
                last edited by

                I added the code tags (you can Edit the post to see how it's done).

                I see the hotkey_enable is added to the configuration (input_enable_hotkey_btn = "10"), so it should work.
                You mention that That means I cannot exit games, save or load like I used to do in the past. - what does in the past mean ? Before adding the xpadneo driver or .. ? The hotkey works only for P1, you're not trying to use it from P2, right ?

                R 1 Reply Last reply Reply Quote 0
                • R
                  Rad_Schuhart @mitu
                  last edited by Rad_Schuhart

                  @mitu

                  In the past I meant prior to the latest updates. It used to work fine with both xbox one bluetooth pads and with the xbox 360 one. Now the hotkey works only with the 360 wired pad. And also with the keyboard.

                  Yep, I know player 1 is the one able to trigger the hotkey, but with only one controller connected, it does not work. With both of them, playing doubles, neither the hotkeys work.

                  I might re start again from a fresh installation, my plan is:
                  Format the SD Card,
                  Flash the latest image from the web,
                  Connect keyboard,
                  Expand the filesystem,
                  Connect to wifi and download the few things I need (Kodi, scraper and the xpad neo drivers)
                  Update all,
                  Connect the two pads with bluetooth.

                  That is what I did several times but it is not working so far, don't know what am I missing.

                  Also as I said, when pressing the hotkey in Kodi, in the configuration pad screen, it is not recognized, but it is recognized by emulation station. Is there maybe anything wrong in the drivers?

                  mituM 1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator @Rad_Schuhart
                    last edited by

                    @rad_schuhart said in Hotkeys not working with XBOX one pads:

                    Also as I said, when pressing the hotkey in Kodi, in the configuration pad screen, it is not recognized, but it is recognized by emulation station. Is there maybe anything wrong in the drivers?

                    Could be, xpadneo was recently upgraded to v0.9.1, that would be the change since 4.7.1 was released. Maybe the following change is at fault:

                          hid-xpadneo: Send KEY_MODE for the Xbox button
                    

                    You can grab the previous xpadneo version by downloading the previous xpadneo.sh and overwriting the one in $HOME/RetroPie-Setup/scriptmodules/supplementary, then re-installing the driver and rebooting.

                    NOTE: to reset back to the current RetroPie-Setup version (so updating will not give an error) run:

                    cd $HOME/RetroPie-Setup
                    git reset --hard
                    
                    1 Reply Last reply Reply Quote 0
                    • R
                      Rad_Schuhart
                      last edited by

                      Hi Mitu, I am refloating this thread. I am still having the same issue. I gave it some months of time to see if the drivers update and the problem fixes itself, but no luck so far. Along this time, my children were able to exit the games using a wired XBOX 360 controller, but my youngest managed to break the pad and is not usable anymore. So at this point I need my wireless XBOX ONE controllers working.

                      I tried updating everything, and also tried with a 100% fresh install, and still have the same issue. Everything works but just no hotkey, so I cannot save, not load, and most important, not exit any game.

                      Any how-to idiots guide edition would be very appreciated. :(

                      Thanks in advance! I am sure it must be an easy fix.

                      mituM 1 Reply Last reply Reply Quote 0
                      • mituM
                        mitu Global Moderator @Rad_Schuhart
                        last edited by

                        @rad_schuhart I don't think the Xpadneo driver has had any radical updates this year or during the last 4 moths. It's still the best bet for an Xbox One controller, when used over Bluetooth.
                        Have you tried using the Select button as a hotkey ?

                        R 1 Reply Last reply Reply Quote 0
                        • R
                          Rad_Schuhart @mitu
                          last edited by

                          @mitu yep, I tried and still does not work. Any clue or anything I can check and post here?

                          mituM 1 Reply Last reply Reply Quote 0
                          • mituM
                            mitu Global Moderator @Rad_Schuhart
                            last edited by mitu

                            @rad_schuhart You could post a verbose log for a libretro based emulator, just to check what configuration files are used. Use pastebin.com to post the log file's contents.

                            EDIT: post also the main RetroArch configuration file, from /opt/retropie/configs/all/retroarch.cfg.

                            R 1 Reply Last reply Reply Quote 0
                            • R
                              Rad_Schuhart @mitu
                              last edited by

                              @mitu Hi, sorry it took me some time to answer, I was at job.

                              And sorry again, but I need an idiots guide. I am totally lost now and I don't know how to do what you request me to do. I have been trying to solve the problem for long time, so now I am so saturated that I don't know even where to start.

                              Maybe you can access remotelly to it saving your precious time? I feel bad taking your time, seriously.

                              1 Reply Last reply Reply Quote 0
                              • mituM
                                mitu Global Moderator
                                last edited by

                                Not sure what I could add more than what's already explained in the documentation page I linked. What step is unclear ?

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  Rad_Schuhart @mitu
                                  last edited by

                                  @mitu Well, almost everything is unclear for me. :(

                                  Verbose log: First time I read those words, lol. In your link it says "When launching Libretro cores (those prefixed by lr-) the Runcommand launch menu presents the option to Launch with verbose logging. This outputs more information to the log file found in /dev/shm/runcommand.log which is useful, and often necessary, when diagnosing problems. Once the game is exited, the log file can be downloaded via SFTP or viewed directly via the command line."

                                  Well, I don't know what is a libreretro core, and don't know how to launch it. Neither what SFTP is or what is the command line.

                                  And about the retroarch configuration file, what should I type? I pressed F4 in the keyboard and wrote that: /opt/retropie/configs/all/retroarch.cfg. and did not work.

                                  Yep, it seems as I said I need an idiots step by step guide. Like "Switch it on, go to retropie, raspi-config.... and so on" I am really sorry and also embarrased, but for some of us this is pretty much like chinese. :(

                                  1 Reply Last reply Reply Quote 0
                                  • mituM
                                    mitu Global Moderator
                                    last edited by mitu

                                    When you launch a game, then name of the game and the emulator used is shown in the Runcommand dialog (as shown in the documentation page). If the emulator name starts with lr- it means it's a libretro core.
                                    A lot of the emulators included in RetroPie are libretro cores, in fact if you're using another type of emulator, this topic wouldn't make sense, since only RetroArch has the concept of hotkey.
                                    So just launch your game, bring up the launch menu and enable verbose logging before starting, this will produce the log file.

                                    As for how to view or retrieve the file: SFTP/SSH has a separate doc page, linked from the one I posted, which explains how to enable it and how to connect to your Pi via SFTP and transfer the log file to your PC and upload it to pastebin.com.

                                    EDIT: you can also copy the log file to your roms folder after you run the game and then retrieve it vie file shares from your PC (by browsing \\retropie\roms). To copy the file, just exit EmulationStation and type at the command prompt:

                                    cp /dev/shm/runcommand.log $HOME/RetroPie/roms/
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      Rad_Schuhart
                                      last edited by

                                      @mitu said in Hotkeys not working with XBOX one pads:

                                      \retropie\roms

                                      Well, I think I half managed to do it. I launched the game with verbose logging, that was easy. Problem was I could not exit the game so later on when running that cp runcommand and so on, it did not work.

                                      I had to launch the game with the broken xbox wired controller, and then I was able to retrieve the file and uploaded here in pastebin:

                                      https://pastebin.com/WKfb3Smd

                                      I guess is not what you need, and you have to see that file with the xbox one bluetooth controller, but if I cannot exit the game, no idea what to do.

                                      mituM 1 Reply Last reply Reply Quote 0
                                      • mituM
                                        mitu Global Moderator @Rad_Schuhart
                                        last edited by

                                        Well, yes, without the Xbox controller plugged in - to see which configuration file it loads - the log is not so useful. You can use the Esc key on the keyboard to exit RetroArch if you have it plugged in, this way the controller detection and configuration info will show in the log.

                                        On the other hand, just to check if my theory of RetroArch loading the wrong controller configuration file, can you check in the \\retropie\configs\all\retroarch-joypads file share and tell me what folders and files are present there ? There should be one .cfg file per controller you configured and no folders present. If you configured just 2 controllers in your setup, there should be just 2 .cfg files present.

                                        R 2 Replies Last reply Reply Quote 0
                                        • R
                                          Rad_Schuhart @mitu
                                          last edited by

                                          @mitu
                                          Quick update: I launched the game with the xbox one controller, switched it off, connected the xbox 360 one, exited the game and copied the file:

                                          https://pastebin.com/xQhrXQWy

                                          Maybe here you can find something

                                          mituM 1 Reply Last reply Reply Quote 0
                                          • R
                                            Rad_Schuhart @mitu
                                            last edited by

                                            @mitu said in Hotkeys not working with XBOX one pads:

                                            \retropie\configs\all\retroarch-joypads

                                            There are 4 files, names are "Microsoft X-box 360 pad.cfg" and another that ends in bak.
                                            And "Xbox Wireless Controller.cfg" and another that ends in .bak

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.