Controllers & split-screen

SDL3 gamepad compatibility, gyro steering, 4-player local multiplayer and the complete default keyboard map.

  • Backend: SDL3
  • Local coop: 1–4 players
  • Gyro: motion_fusion.c
  • Menu key: F1
A wireless Pro Controller showing twin thumbsticks, D-pad and ABXY buttons
Standard gamepad layout supported via SDL3

SDL3 gamepad support, glyphs & gyro

MKW Recomp handles all controllers, keyboards, mice and motion sensors through SDL3 (runtime/input/input_sdl.* and motion_fusion.c). Connected DualSense, Xbox Series, Switch Pro, 8BitDo and GameSir pads are detected without external XInput wrappers:

  • Automatic button icons: runtime/ui/glyphs/ swaps in-game and launcher prompts dynamically based on the last device you touched (controller vs keyboard).
  • 6-axis gyro & accelerometer: motion_fusion.c feeds IMU data from supported controllers (DualSense, Switch Pro, SDL3 gyro pads) into motion steering.
  • Per-player rumble: vibration events route independently to each player’s physical gamepad.

2–4 player local split-screen multiplayer

Implemented in v0.1.5 (#23): each connected SDL3 controller registers as its own player slot, while Player 1 shares the first controller and keyboard. Note a minor known UI quirk in v0.1.8 (#77): if you switch aspect ratio to 21:9 or 32:9 ultrawide during two-player split-screen, coin and lap counters sit slightly beside their frames—keep 16:9 active for split-screen sessions.

MKW Recomp uses SDL3 for native gamepad input, gyro steering (motion_fusion.c), per-player rumble and up to 4-player local split-screen. These controllers pair cleanly on Windows 10/11 and Linux:

ControllerBest For in MKW RecompHardware AdvantageLink
GameSir Cyclone 2Drift timing & gyro steeringTMR sticks, Hall linear/microswitch triggers, gyro + 1000 Hz dongleView on Amazon
8BitDo Ultimate 2 WirelessDesktop Windows & SteamOS dockTMR sticks, 2.4 GHz wireless dock, Switch/XInput mode switchView on Amazon
Sony DualSenseBuilt-in gyro & low-latency USB6-axis IMU supported by SDL3 motion fusion + crisp D-padView on Amazon
Xbox Wireless ControllerPlug-and-play local multiplayerNative Windows XInput & Linux xpadneo multi-controller pairingView on Amazon

As an Amazon Associate, this site earns from qualifying purchases.

Default keyboard & mouse controls

From runtime/input/README.md (input_map.c), every binding below works out of the box and can be customized in the F1 Controls tab or mkw.ini:

Key / Mouse InputSwitch 2 ControlAction in Mario Kart World
W A S DLeft stickSteering & menu navigation
Mouse / Arrow keysRight stickFree camera & world map zoom
Space / Enter / EA buttonAccelerate & confirm
Left Shift / BackspaceB buttonBrake, reverse & back
F / X or RZR / RDrift & hop
Q or Z / Right clickL / ZLUse held item
Left click / VY / XSecondary actions
1 – 4D-padDirectional pad
Tab / M+ / −Pause & map toggle
F1 / F10Overlay shortcutsDear ImGui settings menu (F1) & FPS overlay (F10)
Go-karts banking through a hairpin bend past starting grid markings at Mika Salo Circuit
Mika Salo Circuit karting hairpin and grid
A racing kart streaking past red and white circuit kerbs at speed
Sprint kart passing painted apex kerbs
Two go-karts rounding an outdoor asphalt corner at Snetterton Circuit
Outdoor karting corner at Snetterton Circuit

Common questions

How do I remap buttons in MKW Recomp?

Press F1 in-game (or use the start screen before launching), open Controls, and rebind keys or gamepad buttons; changes persist in mkw.ini.

Can Player 1 use keyboard while Player 2 uses a controller?

Right now the first connected controller and the keyboard both map to Player 1 (#23). For 2-player split-screen, connect two gamepads (developers also test with MKW_VIRTUAL_PADS=N).

Do DualSense and Switch Pro gyro work over Bluetooth?

SDL3 supports gyro on both USB and Bluetooth where the OS exposes HID sensor reports, though wired USB gives the lowest input latency and cleanest rumble.