Hotkeys not working with XBOX one pads
-
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.6RPDownloaded 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!
-
Which key did you set up as 'hotkey enable' ? Does using 'Select' as your hotkey work ?
-
@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?
-
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 (```
). -
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"
-
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 thexpadneo
driver or .. ? The hotkey works only for P1, you're not trying to use it from P2, right ? -
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?
-
@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
-
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.
-
@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 ? -
@mitu yep, I tried and still does not work. Any clue or anything I can check and post here?
-
@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
. -
@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.
-
Not sure what I could add more than what's already explained in the documentation page I linked. What step is unclear ?
-
@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. :(
-
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/
-
@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:
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.
-
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. -
@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:Maybe here you can find something
-
@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
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.