Emulator Issues #2986

Allow hotkeys to be mapped to gamepads

Added by wespipes69 almost 10 years ago.

% Done:


Operating system:
Issue type:
Feature request
Relates to usability:
Relates to performance:
Relates to maintainability:
Regression start:
Fixed in:


It would be great if we could map things to gamepads like Pause emulation, wiimote connecting and whatever else gets added. It can only be mapped to keyboard buttons atm.

Related issues

Has duplicate Emulator - Emulator Issues #5426: [FEATURE] JoyPads / Input Devices other than Keyboards should be able to be used as HotKeysDuplicate


#1 Updated by Billiard26 almost 10 years ago

  • Status changed from New to Questionable
  • Priority set to Low
  • Issue type set to Feature request

#2 Updated by nakeee almost 10 years ago

Why questionable? it sounds like a cool feature:)

#3 Updated by luisr142004 almost 10 years ago

i think this is a weird issues, cuz you would be using your gamepad buttons for the game mapping normally o.o

#4 Updated by wespipes69 almost 10 years ago

Well, one example would be I would rather have "Pause emulation" mapped to my gamepad while "Home" is simply mapped to the keyboard (if even).

Also,I don't really map the stick buttons (360 pad) to any controller actions - so I could use that for adding or removing wiimotes.

I'm just big on gamepads and would perfer to only use that device when I'm interacting with games - and not continuously switch between the 2 devices for actions.

#5 Updated by lpfaint99 almost 10 years ago

this would be nice for my uses would include save/load state, enable/disable cheats and
frameskipping/framelimiter (quick and easy fastforwarding through the boring parts)

#6 Updated by RobertSMartinJr over 8 years ago

This would be great. I use this is ZSNES all the time. I was really surprised that hotkeys couldnt be mapped to my controller. It seems only natural that the user should have that as an option.

#7 Updated by wespipes69 over 8 years ago

I have almost all my other emus set up to do save states on my x360 pad. Hoping we can get that ability here soon! I use them alot...I don't like having to repeat things. :)

#8 Updated by ReidJordan123 over 8 years ago

I also vote for this issue of mapping a key to my gamepad. Right now the left bumper on my xbox360 controller is empty, I would love to map that button to be either a save state or a frameskipper (turbo).

#10 Updated by ludovic.migneault about 8 years ago

I agree too,
I'm usually playing on my tv, far away on my bed lol,
and I've lost hours of time because I couldn't save states and game crashed :S

so it looks like very usefull to me.

I'm actually gonna try to add it my self.
I'm a developper but more in java, haven't touched c++ yet :S
anyway, I'm gonna try it, and I'll tell if I get any results ,

#11 Updated by wespipes69 about 8 years ago

Good luck sir! I've been dying this!

#12 Updated by skidau about 8 years ago

issue 5426 has been merged into this issue.

#13 Updated by the.md5encryption about 8 years ago

Sorry about that, being a developer for a very large project I know how annoying duplicates are, but unfortunately in this case a search for hotkey didn't seem to return this issue (or I missed it)

So +1 to this feature. Doesn't sound difficult to implement, I could probably make a Pull Request if need be (first need to brush up on my c++) :P


#14 Updated by wespipes69 about 7 years ago

Any chance we can have this looked into soon? This feature is on most emus and it's inconvenient having to get up (from a comfortable reclined position) to press a key on the keyboard constantly (tough game or something) instead of pressing a button my finger is already on top of. Surely, this shouldn't be too massive of a implementation?

#15 Updated by skidau about 7 years ago

  • Status changed from Questionable to Accepted

Dolphin assumes that all controller input belongs to the game (GC hardware). The GUI currently accepts only keyboard input. The enhancement sounds easy, but it is definitely no five minute job.

#16 Updated by michael.jenney about 6 years ago

any progress?

I actually had dove into the code, and found that it was pretty tricky (as skidau mentioned) to do this. I ended up hacking a build for my purposes, later accidentally blowing away my dev area, and now am looking to re implement (at least the hack).

My use case was wanting to exit/stop emulation on a combo gamepad keypress. My goal was to integrate dolphin in "-b batch" mode into steam Big Picture and control everything with the gamepad with no keyboard usage at all.

#17 Updated by skidau over 5 years ago

  • Status changed from Accepted to Work started
  • Category set to controls

I have created a pull request which implements this feature. I am looking for feedback on whether it works or not.

Windows build:

OSX build:

#18 Updated by rukariosake over 5 years ago

That will not work on real peripherals but I guess you could say it is intended. (I wish Gamecube controller over adapter for Wii U will work!)

Works for my DS3 controller on Xinput wrapper BTW.

#19 Updated by skidau over 5 years ago

  • Status changed from Work started to Fixed

#20 Updated by matrimcauthon0 over 5 years ago

Unless I am doing something wrong, I can't have any keyboard hotkeys if I want any gamepad hotkeys and vice versa. This makes the feature much less useful in my opinion.

Is it possible to fix this in the code?

#21 Updated by skidau over 5 years ago

To set up a mix of keyboard and gamepad shortcuts, follow these steps:

  1. In the main hotkey config, change the Device to Keyboard
  2. Right click the hotkey button that you wish to map to your gamepad
  3. In the window that pops up, change the Device to your gamepad
  4. Press the Clear button
  5. Press Detect and press the button on your gamepad that you want to map
  6. Press Select
  7. Press OK

To map a combo hotkey, e.g. Shift F5, follow these steps
1. Follow steps 1-4 above
2. Press Detect and the modifier button (e.g. Shift)
3. Press Select
4. Press Detect and the button which isn't the modifier (e.g. F5)
5. Press the "& AND" button
6. Press OK

#22 Updated by matrimcauthon0 over 5 years ago

I followed your steps and I got it to work. Thanks!

Also available in: Atom PDF