Can't Bind Hotkey Using Nvidia Shield TV Controller In Retroarch


I’m having a strange issue trying to set a hotkey in Retroarch. I think I may know the problem (possibly having 2 Retoarch installations on the same PC), but I’ll give my long spill of this issue anyway.

I have Launchbox/Big Box installed on a gaming PC where Retroarch is used as my main emulator. I also use Nvidia’s Gamestream to stream to 3 Nvidia Shield TV boxes. I also use the Virtualhere server to use the Dolphinbar (for using my Wii remotes with Dolphin) on 2 of my Nvidia Shield TV boxes. Everything runs fine and all of my controllers work on ALL of my Nvidia Shield devices. However, for some strange reason, I cannot set the Hotkey in retro-arch that allows me to quit retro-arch using my Nvidia game controllers. This seems odd because I can actually use my Nvidia controllers to navigate through Retroarch, but whenever I try to bind the button on my right analog stick to the QUIT hotkey, nothing registers. What’s even more puzzling is that I actually had this working about a week ago in Retroarch (the right analog stick button was successfully binded to the QUIT Retroarch HOTKEY along with the ESC key on my keyboard), but after messing around trying to do something with the Xpadder program I purchased a long time ago, I started having all kinds of issues. After playing around with Xpadder, none of my Nvidia controllers would no longer work with Retroarch using the Gamestream experience. I could use the controllers in the Big Box frontend, they just would not work in Retroarch. I ended up deleting Xpadder, but that didn’t solve anything. I then went into Retroarch and deleted the retroarch.cfg file, but that didn’t help. I finally deleted my Retroarch installation and started from scratch. My controllers on all of my Nvidia Shield TV boxes started to work again, but I couldn’t bind the QUIT hotkey through the Retroarch GUI how I had done before.

For now, I only have Retroarch set up for a total of 1 player(s). That’s all I really need. The input binds for user 1 are set to Retropad and the device is set to Xinput device. My input driver is set to dinput and my controller driver is set to xinput.

Here is a scenario to explain it better. Let’s say I’m on one of my Nvidia Shield TV boxes playing a streamed game from my gaming rig. I then use my Nvidia controller to exit Big Box by using the hotkey I set in Big Box. This remotely brings me to my Windows desktop on my gaming rig. I then use the right stick as a mouse to open my Retroarch program on my gaming computer. From there, I navigate to the Input Hotkeys section in Retroarch using my Nvidia controller. I go down to the Quit Retroarch HOTKEY. I hit the A button on my controller. It starts counting down waiting for an input from me. I hit my right analog stick button, but nothing happens. Just seems odd because I did this exact same thing a week ago with no problems.

I’m not sure if I created this problem, but there is a bit of information I must state. I have 2 installations of Retroarch on one PC. Basically, one installation is for streaming games to my Nvidia Shield TV boxes and the other installation is for the arcade cabinet that the PC resides in which uses a Tankstick Arcade controller. Is it possible that these 2 installations are interfering with each other? Last night, I had everything set up how I wanted it (other than the QUIT hotkey issue) on my streaming installation of Retroarch. I then opened the other installation for the local arcade cabinet and played a few games using the Tankstick controller. After doing that, I went back to one of my Shield boxes and tried to play a game from my streaming installation folder, but none of my controls worked. In the input settings, I noticed that the input device index was set to disabled. I changed it back to the xinput device. The controller would work in the Retroarch GUI after that, but it seemed that the changes would not stick after exiting Retroarch even if I saved the autoconfig for USER1. After messing around even more, the controllers stopped working altogether even if I had the input device index set to the xinput controller.

Not sure if this will cause an issue, but here is my folder structure for my Retroarch installations:


  • \Folder Containing LaunchBox Installation For Local Arcade Cabinet
  • \Folder Containing LaunchBox Installation For Streaming To Nvidia Shield TV Boxes
  • \Folder Containing Emulators For Local Arcade Cabinet
  • \Folder Containing Emulators For Streaming To Nvidia Shield TV Boxes
  • \Folder Containing Rom Files

My reason for doing this is because the Tankstick controller in my arcade cabinet uses keyboard commands. I honestly didn’t see any other way of getting everything to work throughout my house properly without using multiple PC’s or setting up multiple installations on my gaming PC.

So as it appears right now, it seems like whenever I open up the Retroarch installation I setup for the Tankstick controller, it screws up the input settings in the installation I set up for streaming games to my Shield TV boxes.

Any help would be greatly appreciated on this.


if the two installations are completely separate (i.e., they have their own cfg etc.), it should be fine.

I do know that people have reported difficulty changing the mapping for ‘quit retroarch’ away from ‘esc’ but I’m not sure what causes it, as most of the time it works just fine.


I’m really stumped on this. When using Nvidia Gamestream, my Nvidia Shield controllers show up as virtual Xbox 360 game controller on my windows PC. As for right now, the controllers seem to work on everything except for Retroarch. I can’t get the controllers to do anything in Retroarch right now. I’m sure if I install another fresh installation they’ll start working again.

I did have another issue, but I’m not sure if it’s related or not. Remember, I also use Virtualhere for serving out my Dolphinbars for Wii games using Dolphin. I have these set up on 2 Nvidia Shield TV boxes that serve out to my gaming rig. I had everything working in Retroarch at one point, but when I lost control using my Nvidia Shield controllers, I noticed that in Retroarch, the user1 input binds were set to my Mayflash Wii Remote #1. I changed it back to my xinput device and the controller would work in Retroarch, but after exiting Retroarch, it’s like the changes weren’t sticking. I did save the autoconfig for user1. Am I also supposed to save the retroarch.cfg file before exiting retroarch?

Not home now, but I’ll be playing around with it when I get there.


Think I figured it out. It had something to do with me choosing to hit autoconfig in the user 1 bindings. I had made a change to those bindings and hit save autoconfig. I then tried to play a game, but the only buttons that worked were the ones I made changes to (start and select buttons). Something told me to go the config folder and then xinput folder. I went down to the xinput user1 cfg file and noticed that 2 of them were there. I deleted the file that had parenthesis around user 1. My controller started working again after that.

I got my hotkey working too. There must have been a conflict with the Virtualhere client and severs I had setup. After uninstalling and reinstalling those programs, my hotkeys started working.


w00t, glad you got it going :slight_smile: