GameFlow is free, cross-platform gamepad tooling that maps input from gamepads, keyboards, mice, or phone browsers into virtual-controller output using saved profiles. Mapping options include autofire, remapping, shift layers, SOCD cleaning, stick trim, multi-source rows, gyro aiming, touchpad mapping, button combos, and freeze macros. Custom control logic can be written in sandboxed Lua through MoonSharp. Profiles are editable JSON documents that can be created, duplicated, renamed, imported, and exported. A phone browser on the same local network can serve as a controller without an installed app, with support for up to 16 phones. The motion server exposes DSU/Cemuhook over UDP for Cemu, Dolphin, Yuzu, and Ryujinx, and the protocol supports four pads. GameFlow can also generate a transparent controller-overlay URL for an OBS Browser source. It requires .NET SDK 10.0 or later and uses SDL3 for gamepad and joystick input. Windows virtual output uses HIDMaestro in user mode; Linux and macOS virtual gamepad output are not built yet.
Who it is for
GameFlow suits people who want to remap gamepad, keyboard, mouse, or phone input into virtual-controller output. It may also suit users who want editable profiles, motion-server integration, or an OBS controller overlay.
What is good
- Supports multiple input types and saved profiles.
- Phone browsers can act as controllers without installing an app.
- Profiles can be imported, exported, and edited as JSON.
- MIT licensed and available for Windows, Linux, and macOS.
What to know first
- Requires .NET SDK 10.0 or later.
- Linux and macOS virtual gamepad output is not built yet.
- Does not hide physical controllers from games.
- Has no HidHide-equivalent integration.
Verdict
GameFlow offers extensive input mapping and profile controls, including phone-browser input and motion-server support. Users should note that virtual gamepad output is currently built for Windows, not Linux or macOS.
GameFlow plans and pricing
All plansCompared on game controller mapper software
- Free plan
- Yes
- Keyboard/mouse output
- Yes
- Virtual-controller output
- Yes
- Profile switching
- Yes
- Platform support
- multiplatform
- Controller input types
- gamepad, joystick, keyboard, mouse, phone browser

