Pure Go gamepad and joystick input library. Zero CGO.
Part of the GoGPU ecosystem.
🚧 Early development — not yet functional. Tracking issue: gogpu#476.
- Standard gamepad layout — positional buttons (South/East/West/North), 6 axes, D-pad
- Controller mapping database — SDL community
gamecontrollerdb.txt(800+ controllers) - Hot-plug detection — connect/disconnect events
- Rumble/haptics — basic force feedback
- Zero CGO — pure Go on all platforms
| Platform | API | Status |
|---|---|---|
| Windows | XInput | Planned |
| Linux | evdev + inotify | Planned |
| macOS | IOKit HID | Planned |
| Browser | W3C Gamepad API | Planned |
| Android | InputDevice | Future |
Two-layer design following SDL3:
- Raw joystick layer — OS-specific device enumeration, raw axes/buttons/hats
- Gamepad mapping layer — standard layout normalization via controller database
Enterprise references: SDL3 (architecture), Ebiten (zero-CGO Go proof).
go get github.com/gogpu/gamepadNote: The package is not yet functional. This import path is reserved.
MIT — see LICENSE.