At a glance
| Platform | Windows 10 (version 1607 or newer) and Windows 11, 64-bit |
|---|---|
| Controllers | DualSense, DualSense Edge, DualShock 4, Xbox and other XInput controllers, many generic gamepads; USB or Bluetooth |
| What games see | A virtual Xbox 360 or DualShock 4 controller |
| Sticks | Seven response curves including a custom one with up to 10 points, a separate curve while aiming, deadzone, anti-deadzone, max zone |
| Buttons | Remapping to controller buttons or keyboard keys, two shift layers, button combinations, touchpad zones |
| Macros | Up to 8 per profile; Play Once or Repeat While Held |
| Price | $39.99 once, or $10.99 a month (plus sales tax where applicable) |
How it works
A game cannot be told to read a controller differently, so every tool that changes controller input works the same way: it reads the real controller, processes the input, and presents the result as a second, virtual controller that the game uses instead. Coda creates that virtual controller through the ViGEmBus driver, and hides the physical one from games with HidHide so they do not see both. It does not touch the game itself — no memory access, no injection, no hooks — and it never moves your aim on its own: every stick output comes from your own stick input.
Requirements
- Windows 10, version 1607 or newer, or Windows 11; 64-bit only.
- ViGEmBus 1.22.0, the virtual-controller driver; the installer offers it when it is missing. What ViGEmBus is.
- HidHide 1.5.230, recommended, so games do not see your controller twice; the installer offers it as well.
- Administrator rights to install. The app itself is in English.
- One controller at a time. No macOS, Linux or console version.
Controllers
- Sony: DualSense, DualSense Edge, DualShock 4 (both versions) and Sony's DualShock 4 USB wireless adapter, plus licensed pads such as the Razer Raiju V3 Pro, Scuf Omega and Victrix Pro BFG.
- Xbox: any controller Windows treats as an Xbox controller — Xbox One, Series and Elite, and third-party pads in their XInput mode.
- Generic gamepads with a standard layout, without rumble, lightbar or adaptive triggers.
- Not supported: DualShock 3.
Input works over USB and Bluetooth. Rumble, adaptive triggers and the lightbar on Sony controllers need USB. The supported controllers page has the details, and the free gamepad tester shows whether Windows sees yours.
What games see
Coda presents a virtual Xbox 360 or DualShock 4 controller. The default, Automatic, picks Xbox 360 for a PlayStation controller and DualShock 4 for an Xbox controller, so a game never sees two Xbox pads; either can be set by hand. The Xbox 360 output carries the sticks at full 16-bit resolution; the DualShock 4 output is 8-bit and has no gyro. Games that accept either controller need no per-game setup.
Stick tuning
- Response curves: Linear, Quadratic, Enhanced, Enhanced +, Enhanced Pro, Coda, and Custom.
- Custom curve editor: up to 10 points, smooth or linear between them, starting from any built-in curve. Changes apply on the controller while the editor is open, and a curve can be copied and pasted as a code. Try the editor in your browser on the home page.
- Aiming curve: a second curve that takes over while any of up to six aim buttons or triggers is held, and a separate anti-deadzone while aiming.
- Zones: deadzone, anti-deadzone and max zone, round or per axis. How they work.
- Response: gain, vertical ratio and optional circular output, which makes diagonals as fast as straight directions.
- Settle damps the overshoot at the end of a flick; Smoothing steadies small, slow movements. Both shape only your own movement.
Triggers
- Deadzone and max zone per trigger, or digital: off or fully pressed.
- Trigger zones: split a trigger at a boundary into a light and a deep zone, each acting as the normal trigger, a full press, a button or a key. A trigger-stop preset, and on a DualSense over USB a felt wall at the boundary.
Button remapping
- Map any button to another controller button or to a keyboard key, on press or on release.
- Two shift layers: hold a modifier button and a second set of mappings replaces the first, so one controller carries three.
- Button combinations: hold two to four inputs together to fire a button, a key or a macro; up to eight.
- Touchpad zones: two or four zones on the DualSense or DualShock 4 touchpad, each bindable like a button; swipes send media keys.
- DualSense Edge back paddles and Fn buttons are bindable.
- Sticks cannot be remapped, swapped or inverted.
How to remap controller buttons on PC
Macros
- Up to 8 per profile, each bound to one or more buttons.
- Steps: controller button tap, press and release; keyboard key tap, press and release; mouse click, button down and up; mouse wheel up and down; and waits — timed in milliseconds. Record them from the controller or build them step by step.
- Play Once, or Repeat While Held with a 50 ms gap between repeats.
- The bound button can keep its normal function or give it up to the macro.
- A macro can be shared as a code or a file.
- Macros do not move the sticks or the mouse pointer. Whether a game allows macros is up to that game's rules.
DualSense and DualShock 4 extras
- Adaptive trigger effects on the DualSense and DualSense Edge over USB: resistance, trigger point, section, texture and recoil.
- Rumble passthrough: Sony controllers over USB, Xbox controllers wired or wireless.
- The lightbar in your theme's colour, with its brightness, over USB.
Timing and telemetry
- PlayStation controllers are read report by report, with no clock of Coda's in between.
- Xbox controllers are polled at 250, 500, 1000, 2000, 4000 or 8000 Hz; 2000 is the default.
- A new state goes to the game only when it differs from the last one.
- Live telemetry while connected: polling rate, submit rate, frame intervals at p50, p99 and p99.9, and stalls over 5 ms. It measures Coda's own processing, not end-to-end input latency.
Controller polling rates explained
Profiles and sharing
Settings live in profiles you switch between, starting blank or from the Aim preset. A profile travels as a share code or a .coda file; a single curve or macro has a code of its own. The community shares per-game profiles in Coda's Discord.
For streamers
The free controller overlay puts your controller on stream in OBS. For a separate streaming PC, Coda can send the controller to that overlay itself, after remapping and macros, while the game is in front; that link is currently by invitation.
What Coda does not do
- No gyro or motion input, and no gyro on the virtual DualShock 4.
- No stick remapping, swapping or inverting.
- One controller at a time; no local multiplayer.
- No mouse movement from the sticks, and no keyboard-and-mouse-to-controller mapping.
- No anti-recoil, aim scripts or automated stick movement.
- No macOS, Linux or console version, and no in-game overlay.
If you need one of these, the overview of controller emulators says which tool has it.
Price and licence
- Lifetime: $39.99, once. Monthly: $10.99 a month, cancel any time. Both are the full product with the same updates. Plus sales tax where applicable.
- One computer at a time; moving to another is a sign-out and a sign-in, at no cost.
- Updates within version 1.x are included.
- Payment through Paddle, the merchant of record. Refund policy.
Anti-cheat
Coda sends ordinary controller input and does not touch the game, but ViGEmBus is a driver, so any anti-cheat that lists installed drivers can see that it is there. How a publisher treats third-party input tools is that publisher's decision; nobody outside it can promise an outcome. The FAQ says what Coda does and does not do.