Get the best controls for this emulator and learn how to configure buttons on DeSmuME!
Despite being over 20 years old, the Nintendo DS still holds a special place in the hearts of many gamers.
Thanks to a reliable emulator like DeSmuME, we can go back in time to enjoy the nostalgic games this handheld device offers.
Also see: How to Use Cheats in Pokemon Games on DeSmuME Emulator
To ensure a smooth and enjoyable gaming experience, your emulator’s controls should be configured and optimized properly.
In this guide, I’ll teach you how to configure buttons on DeSmuME and the keymaps I use so you can get better responsiveness and comfort for seamless DS gaming sessions.

Table of Contents
DeSMuME Default Controls: Pros and Cons

The default controls for DeSmuME emulate the original DS controls and allow you to play DS games using your mouse and keyboard.
- Arrow Keys: D-Pad (up, down, left, right)
- X Key: A button
- Z Key: B button
- S Key: X button
- A Key: Y button
- Q Key: L button (shoulder button)
- W Key: R button (shoulder button)
- Enter Key: Start button
- Spacebar: Select button
The default controls are pretty basic and straightforward. The emulator controller setup is like a plug-and-play device, which means you can get straight into your game without having to set anything up.
However, imagine dodging enemy attacks or navigate timed puzzles in Zelda with this configuration. The default controls will only hold you back, so you better set up your DeSmuME controls properly.
How to Configure Buttons on DeSmuME
Changing your keymapping or buttons in DeSmuME is easy. Here’s a step-by-step guide to configuring your emulator’s controls:
- Once you have DeSmuME open, go to the menu bar and click on Config, then Control Config.
- Each DS button has a corresponding field next to it. Click on one of the button fields to change its keybind.
- Press a key on your keyboard or controller to assign it to that button.
- Once you have set everything to your preference, click on OK to save your configuration.
Best Controls for DeSmuME
You can try various keybinds and experiment with them until you find what suits your personal preference.
But if you want a quick and easy solution to copy, here are two of the most popular keyboard controls for DeSmuME that I also use to play any Nintendo DS game.
DeSmuME Keyboard Controls #1 (With NumPad)

This control is very widely used and offers a balanced and more efficient control setup for DS gaming with a keyboard as a controller.
- WSAD: Arrow keys (up, down, left, right)
- 6 Key (Num Pad): A button
- 5 Key: B button
- 8 Key: X button
- 4 Key: Y button
- 7 Key: L button (shoulder button)
- 9 Key: R button (shoulder button)
- Enter Key: Start button
- Spacebar: Select button
DeSmuME Keyboard Controls #2 (No NumPad)

While this has the movement keys on the right, unlike traditional DS controls, I find it more ergonomic and easy to . It also doesn’t require a full-sized keyboard with a numpad.
- Arrow Keys (Keyboard): Arrow keys (up, down, left, right)
- D Key : A button
- S Key: B button
- W Key: X button
- A Key: Y button
- Q Key: L button (shoulder button)
- E Key: R button (shoulder button)
- Enter Key: Start button
- Spacebar: Select button
How to Map a Controller on DeSmuME

Let’s it it. No matter how you set up your controls, a keyboard just can’t come close to a real DS in of control. That’s why controllers are a must if you are into the hobby of emulating handhelds and consoles.
If you have a controller such as an Xbox, Playstation, or even a generic gamepad that is compatible with your PC, you can use it to play DS games and have a more optimized experience.
Setting it up requires the same step as your keyboard:
- Open DeSmuME, go to the menu bar, and click on Config, then Control Config.
- Click on one of the button fields to change its keybind.
- Press a key on your controller or gamepad to assign it to that button.
- Click on OK to save the changes you made.
Here are the best keybinds for different controllers:
1. PlayStation Controller Keybinds
- D-Pad: Use the controller’s D-Pad for movement (Up, Down, Left, Right).
- A Button (DS): Map to X on the PlayStation controller.
- B Button (DS): Map to Square.
- X Button (DS): Map to Triangle.
- Y Button (DS): Map to Circle.
- L Button (DS): Map to L1.
- R Button (DS): Map to R1.
- Start Button (DS): Map to Options.
- Select Button (DS): Map to Share.
2. Xbox Controller Keybinds
- D-Pad: Use the D-Pad for movement.
- A Button (DS): Map to A on the Xbox controller.
- B Button (DS): Map to X.
- X Button (DS): Map to Y.
- Y Button (DS): Map to B.
- L Button (DS): Map to LB.
- R Button (DS): Map to RB.
- Start Button (DS): Map to Menu.
- Select Button (DS): Map to View.
3. Generic PC Gamepad Keybinds
- D-Pad: Use the D-Pad for movement.
- A Button (DS): Map to Button 1 (usually the bottom button)
- B Button (DS): Map to Button 2 (right button)
- X Button (DS): Map to Button 4 (top button)
- Y Button (DS): Map to Button 3 (left button)
- L Button (DS): Map to Button 5 (shoulder button)
- R Button (DS): Map to Button 6 (shoulder button)
- Start Button (DS): Map to Button 9 (Start)
- Select Button (DS): Map to Button 10 (Select)
Important DeSmuME Hotkeys and Shortcuts
Here are very convenient hotkeys and shortcuts to assign that will make your DS emulation more seamless:
- F1 – F10: Load a slot from slots 1 through 10
- Shift + F1 – F10: Save to a slot from slot 1 to 10
- Ctrl + O: Open a ROM
- Ctrl + R: Reset emulation
- F: Fast Forward Toggle (you can assign it to the bumper buttons if you have a controller for easy access to fast forward)
- F12: Quick Screenshot
- L: Cheats List
How to Fix Common Control Issues in DeSmuME
1. Controller Not Detected by Desmume
I’ve encountered an issue before when I was reconfiguring my emulator’s controls.
When I click on the controls config tab and click on a button field to assign it to a button on my controller, it doesn’t do anything. It’s like my controller is not working.
This is a pretty common issue, especially for wireless controllers. This happens when the emulator is launched before the controller is properly connected to your PC.
Here’s an easy fix that saved me multiple times: make sure your controller is plugged in, detected by your PC, and working before opening DeSmuME and configuring it. Otherwise, it won’t detect your controller.
If this issue happens to you, close DeSmuME, reconnect your controller, and open the emulator again.
2. Some Buttons Aren’t Working
This emulator lets you use cheats easily, but I’ve encountered an error multiple times where some Pokemon cheats don’t work. These cheats need me to input a code and press a certain button combination for it to work.
For example, the unlimited money cheat for Pokemon Diamond requires you to press L and R at the same time to work. But no matter how much I tried, it just won’t work.
Here’s the simple fix I did:
It turns out that sometimes the L and R or shoulder buttons don’t work properly in DeSmuME. It turns out the L and R buttons were assigned to different keys. To fix this, simply remap your controls by following the steps above, and it should work again.
This also works for other buttons when they malfunction. Just like that, I can use all of Pokemoncoder’s Pokemon cheats again.
Conclusion
Now you know how to configure buttons on DeSmuME and assign your keybinds.
With this knowledge, whether you are using a keyboard, PlayStation controller, Xbox controller, or gamepad, you can get the best DS gaming sessions with the best DeSmuME controls.
Now it’s time to put your new controls to the test. If you want to look for the best games and Pokemon ROM hacks to load up in that emulator, make sure you check out our listicles at Pokemoncoders.
When it comes to Pokemon cheats and emulation, we are your number one resource. So stay tuned for more helpful guides like this.