Motion controls in Citra work through your computer's input devices, not the 3DS hardware itself

Citra is a Nintendo 3DS emulator that runs 3DS games on Windows, macOS, and Linux. Many 3DS games use motion controls — tilting and rotating the handheld to aim, steer, or interact with the game world. Citra can't read physical motion from a 3DS, but it can translate motion input from a gamepad, mouse, or keyboard into the motion data the game expects.

The method you use depends on what hardware you have connected to your computer. A controller with gyroscope sensors (like a PlayStation 5 DualSense or Nintendo Switch Joy-Con) will give you the most natural experience because it has real motion hardware. If you only have a standard gamepad without gyro, you can still emulate motion by mapping buttons to tilt the virtual device in different directions.

Citra's motion setup lives in the controller configuration menu, not in individual game settings. Once you configure it, the same motion setup applies to all games unless you create a game-specific override.

Key Takeaways

  • Citra reads motion input from gamepads with gyroscope sensors, or you can map buttons to simulate tilting in four directions.
  • Motion configuration happens in Citra's controller settings, accessed through Emulation > Configure > Controls.
  • A PlayStation 5 DualSense or Nintendo Switch Joy-Con connected via USB or Bluetooth will provide gyroscope data without extra setup.
  • Games that require motion controls (like Pokémon Mystery Dungeon: Red Rescue Team DX or Kirby's Return to Dream Land Deluxe) will not work without motion input configured.
  • You can test your motion setup in Citra's motion test window before launching a game.

Using a controller with a built-in gyroscope

If your gamepad has gyroscope sensors — the PlayStation 5 DualSense, Nintendo Switch Joy-Con, or some third-party controllers — Citra can read that motion data directly. Connect the controller to your computer via USB cable or Bluetooth. Windows, macOS, and Linux all recognize these controllers as standard input devices.

Open Citra and go to Emulation > Configure > Controls. In the Player 1 section, set the controller type to your gamepad (usually listed as "SDL Controller" or by the controller's brand name). Below the button mapping area, you should see a Motion section with options for gyroscope and accelerometer. Check the box next to "Enable Motion Controls" or "Use Gyroscope". Citra will now read tilt and rotation data from your controller's built-in sensors.

Some controllers need a driver to send gyroscope data to Citra. On Windows, the DualSense works natively in recent Citra builds. Joy-Con controllers may require the BetterJoy driver or Ryochan7's DS4Windows fork to expose gyroscope input. On macOS and Linux, gyroscope support varies by controller and driver availability — check the Citra documentation for your specific controller model.

Mapping buttons to simulate motion without a gyroscope

If your gamepad has no gyroscope, or you prefer keyboard controls, you can map buttons to tilt the virtual 3DS in different directions. This works for games that use motion, though it feels less natural than real gyroscope input because you're pressing discrete buttons rather than tilting smoothly.

In Citra's Controls menu, find the Motion section below the button mapping. You'll see four fields: Tilt Left, Tilt Right, Tilt Forward, and Tilt Backward. Click each field and press the button or key you want to assign. For example, you might map the D-pad left to "Tilt Left" and D-pad right to "Tilt Right". Keyboard players often use arrow keys or WASD for motion.

When you play a game that needs motion, holding the mapped button will tilt the virtual 3DS in that direction. The longer you hold it, the further it tilts. This method works for games like Kirby's Return to Dream Land Deluxe (which uses motion to aim) or Pokémon Mystery Dungeon: Red Rescue Team DX (which uses motion to interact with objects), but it requires more button presses than gyroscope input.

Testing motion input before you play

Citra includes a motion test window so you can verify your setup works before launching a game. In the Controls menu, click the button labeled "Motion Test" or "Test Motion Input" (the exact label varies by Citra version). A small window will open showing a 3D cube or sphere.

If you're using a gyroscope, tilt and rotate your controller. The cube should rotate to match your movements in real time. If you're using button-mapped motion, press your tilt buttons and watch the cube respond. If the cube doesn't move, or moves in the wrong direction, go back to the Controls menu and check that motion is enabled and your buttons are mapped correctly.

Some controllers need a moment to calibrate. If motion feels inverted or off-axis, look for a "Calibrate" button in the motion settings and press it while holding your controller level and still.

Game-specific motion overrides

Most games use the same motion setup you configure globally. However, if a particular game needs different motion settings — or if you want to use a different controller just for that game — you can create a game-specific configuration.

Right-click the game in Citra's game list and select "Properties" or "Edit Config". Look for a "Controls" or "Input" section. Check the box to override the global controller settings, then configure motion the same way you did in the main Controls menu. This override applies only to that game and doesn't affect your other games.

Game-specific overrides are useful if one game's motion feels wrong with your current setup, or if you want to use a keyboard for most games but switch to a gyroscope controller for motion-heavy titles.

Troubleshooting motion that doesn't work or feels wrong

If motion input isn't responding in a game, first check the motion test window. If the test cube doesn't move, motion isn't reaching Citra at all. Verify that "Enable Motion Controls" is checked in the Controls menu, and that your controller is connected and recognized by your operating system.

On Windows, open Device Manager and look for your controller under "Human Interface Devices". On macOS, open System Information and check Bluetooth or USB. On Linux, run lsusb or bluetoothctl in a terminal. If your controller isn't listed, reconnect it or install the required driver.

If the motion test works but the game doesn't respond, the game may not support motion in Citra, or it may need a specific controller type. Check the Citra compatibility database or the game's page on the Citra forums to see if other players have reported motion working. Some games have motion support that's incomplete or buggy in Citra.

If motion feels inverted or rotates the wrong way, go back to the motion test window and look for an "Invert" checkbox next to each axis (X, Y, Z). Check or uncheck these boxes until the cube rotates the way you expect. Save your settings and test again in the game.

Which games actually use motion controls

Not every 3DS game uses motion. Games that do include Kirby's Return to Dream Land Deluxe (motion to aim and interact), Pokémon Mystery Dungeon: Red Rescue Team DX (motion to interact), The Legend of Zelda: Ocarina of Time 3D (motion to aim the bow and slingshot), and Splatoon (motion to aim). Many others have optional motion features for specific actions.

If you launch a game and motion doesn't seem to do anything, the game may not use motion at all, or it may be optional. Check the game's manual or a gameplay guide to confirm. Some games let you toggle motion on or off in their settings menu.

Frequently Asked Questions

Can I use a Nintendo Switch Joy-Con with Citra?

Yes. Connect the Joy-Con via Bluetooth or USB, then select it in Citra's Controls menu. On Windows, recent Citra builds recognize Joy-Con gyroscope data natively. On macOS and Linux, you may need a driver like BetterJoy to expose the gyroscope. Once connected, enable motion controls in the Controls menu and test with the motion test window.

What if my gamepad doesn't have a gyroscope?

You can map buttons to simulate motion by assigning keys to Tilt Left, Tilt Right, Tilt Forward, and Tilt Backward in the Controls menu. This works for any game but requires pressing buttons instead of tilting smoothly. It's less intuitive but functional for games that don't require precise, continuous motion.

Why is motion inverted or backwards in my game?

Open the motion test window and check if the cube rotates the opposite way you expect. If it does, go back to the Controls menu and look for "Invert" checkboxes next to the X, Y, or Z axes. Check the boxes that correspond to the directions that feel wrong, then test again.

Do I need to configure motion separately for each game?

No. Your motion setup in Emulation > Configure > Controls applies to all games by default. You only need to create a game-specific override if a particular game needs different motion settings or if you want to use a different controller just for that game.

Can I use a mouse to control motion?

Citra does not natively support mouse input for motion. You can map keyboard keys to motion directions, but not mouse movement. Some third-party tools can convert mouse movement to controller input, but that's outside Citra itself.