Hotkeys not working with XBOX one pads
-
@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 -
@rad_schuhart said in Hotkeys not working with XBOX one pads:
Maybe here you can find something
The log doesn't show any controller being present. Did you upload the previous log by mistake ?
There are 4 files, names are "Microsoft X-box 360 pad.cfg" and another that ends in bak.
Ok.
-
@mitu I think I uploaded the new one, but I will try again later on, and Ill try exiting with the keyboard, but did not work last time I tried.
I have to go to work now, so Ill update again in 12 long hours, lol.
-
Here I am, 12 hours later, lol. I think I managed to paste the correct file now. Hope you can see what is wrong there.
https://pastebin.com/5XtFWLCe -
@rad_schuhart Unfortunately, there's no message showing which config file is loaded (if any) for the controller, though it appears that a controller is detected:
[INFO] [udev]: Added Device Keyboard#0 USB Keyboard (/dev/input/event0) . [WARN] [udev]: Full-screen pointer won't be available. [INFO] [udev]: Pad #0 (/dev/input/event3) supports force feedback. [INFO] [udev]: Pad #0 (/dev/input/event3) supports 16 force feedback effects. [INFO] [Joypad]: Found joypad driver: "udev". [INFO] [Video]: Found display server: null [INFO] ALSA: Using floating point format.
Do you have any additional driver installed - like
xboxdrv
? -
@mitu I just took a look: Retropie setup/manage packages/manage deiver packages/ only two appear as installed, and those are "xpadneo" and "xpad" both installed via source.
EDIT: I just tried unninstalling "xpad", restarted the system but the problem persist.
-
Thank I have no idea why the configuration is not loaded by RetroArch. You could try resetting its configuration to RetroPie's defaults, by copying
retroarch.cfg.rp-dist
overretroarch.cfg
in the\\retropie\configs\all\
(do a backup first just in case).If that doesn't work, I'm not sure what we could try.
-
@mitu I did it right now. There are some changes, for example now the main controller is the cross and not the stick, but still I cannot exit the game.
The only thing that I can say is I have this problem with both my xbox one controllers since I updated the system like one year ago, but it worked flawlessly (except in kody) for a long time. I have absolutelly no clue what to do :(
-
@mitu Might be possible that the raspberry thinks the xbox controller is always the player 2 controller?
I also have noticed, when mapping the controllers, that the hotkey in the XBOX 360 is the button 8, and in the one is button 10. not sure if it helps.
-
@rad_schuhart said in Hotkeys not working with XBOX one pads:
@mitu Might be possible that the raspberry thinks the xbox controller is always the player 2 controller?
Why ? You don't have any other controller connected. When starting a game, do you get 2 'Controller XYX configured in port Z' messages ?
I also have noticed, when mapping the controllers, that the hotkey in the XBOX 360 is the button 8, and in the one is button 10. not sure if it helps.
I don't think it's relevant, the controllers (X360/One) may have different input mappings.
-
@mitu Yes, I got those messages.
I am going to make a fresh instalation today. I always started configuring the wired 360 controller, but due to it does not work anymore I am going to try directly with the xbox one. Not sure if it will do anything different, but I guess it is worth a try.
-
Well, got some news here!
With the fresh installation I still had the same problem... But this time I had the idea of configuring the pad in a different way. When I was supposed to press the select button, I pressed the hotkey and vice-versa. Doing that now makes me able to exit the games, so yeah! it is a great step fowards.
Anyway, if possible, I would like to use the real hotkey button. Does this new info bring you an idea about what should I do?
I suspect the retropie does not really recognize the real hotkey button. At least when I config the pad in kody, when I press it, it does not work.
-
Test the gamepad with
jstest
, from the command line (after exiting EmulationStation). Runjstest /dev/input/js0
and then press each button, including the one you'd like to use as hotkey, and see if each one is detected as pressed. If the button does not get detected, then you'll not be able to use it.
-
@mitu Sorry it took me long to answer here. I was unable to do that test, maybe because I don't know how to do it. I exited emulation station pressing F4 and then I wrote that, and nothing happened.
Anyway, I have been testing in all the emulators and games, and I might have something that might give you a clue:
Some days ago I had the problem that, even when retropie detected every button when configuring the pad, I could not exit the game with the hotkey (center button) + start.
I had the idea of asigning the hotkey to the select button, so I exit the games with select + start. So far is OK... But then I realized the hotkey button does not work and that is critic in emulators like the NES for selecting two players, Neo Geo for inserting the coin and so on.
So, what it seems is, the pads work, and are recognized, but once inside the games, the center button is somehow disabled. Does it throw you some light?
-
@rad_schuhart said in Hotkeys not working with XBOX one pads:
Does it throw you some light?
Not really. If the 'home' button on your controller that you used as hotkey is not working in-game, it's the same situation that you previously reported. A test with
jstest
would confirm whether the button works or not at the driver level.Note that you can map Select as is in the EmulationStation configuration (i.e. set it as select), then skip the hotkey assignment at the end. Then you'll get prompted if you want to use Select as hotkey, which you can say yes - this will make the select button work normally and also function as a hotkey.
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.