Analysis updated 2026-08-07 · repo last pushed 2026-06-18
Add game controller support to a Flutter game so players can use a physical gamepad instead of touch or keyboard.
Build a cross-platform interactive app that responds to button presses and analog stick movements on any OS.
Create a multiplayer Flutter game that handles multiple controllers connected at the same time.
Integrate gamepad input into a Flame game engine project using the bridge package.
| mondo-robotics/gamepads | 00kaku/gallery-slider-block | 04amanrajj/netwatch | |
|---|---|---|---|
| Stars | — | — | 0 |
| Language | — | JavaScript | Rust |
| Last pushed | 2026-06-18 | 2021-05-19 | — |
| Maintenance | Maintained | Dormant | — |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 3/5 | 2/5 | 3/5 |
| Audience | developer | general | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires platform-specific setup: Android needs boilerplate in the main activity to route input events, and Windows requires the Windows SDK installed during development.
Gamepads is a plugin for Flutter (Google's cross-platform app toolkit) that lets your app respond to physical game controller input. If you're building a game or any app where a user might plug in a gamepad, this handles the connection, button presses, and stick movements so you don't have to. The core challenge this project solves is that every platform handles gamepad input differently. The A button might be called "a" on Windows, "KEYCODE_BUTTON_A" on Android, and "button 0" on the web. This plugin provides a "normalized" event stream that translates all those quirks into consistent names and value ranges, following an Xbox-style layout. Your code can just ask "was the A button pressed?" and get a 0.0 (released) or 1.0 (pressed) answer, regardless of platform. The same goes for analog sticks, which always report a value from -1.0 to 1.0. This is built for Flutter developers creating games or interactive apps who want to support controllers on Android, iOS, macOS, Linux, Windows, and the web. It supports multiple controllers connected at once and auto-detects new ones. If you're using the Flame game engine, there's a bridge package that ties gamepad input directly into Flame's component system. What's notable is how it handles the notoriously messy world of controller hardware. On Linux, for example, it ships with a community-maintained database of over 1,500 controllers to figure out the correct button mappings. Unknown controllers fall back to a sensible default layout. There's also an escape hatch: if you need the raw, un-translated events for a specific reason, the plugin exposes those too. Setting it up requires some platform-specific work. On Android, you'll need to add some boilerplate code to your app's main activity to route input events to the plugin. On Windows, you need the Windows SDK installed as part of your development setup, though end users of your app don't need anything extra.
A Flutter plugin that lets your app read physical game controller input, button presses and stick movements, across Android, iOS, macOS, Linux, Windows, and the web with consistent names and values.
Maintained — commit in last 6 months (last push 2026-06-18).
No license information is provided in the explanation, so the default terms of the repository apply.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.