Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

gamepad

Go Reference License: MIT

Pure Go gamepad and joystick input library. Zero CGO.

Part of the GoGPU ecosystem.

Status

🚧 Early development — not yet functional. Tracking issue: gogpu#476.

Planned Features

  • 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 Support

Platform API Status
Windows XInput Planned
Linux evdev + inotify Planned
macOS IOKit HID Planned
Browser W3C Gamepad API Planned
Android InputDevice Future

Architecture

Two-layer design following SDL3:

  1. Raw joystick layer — OS-specific device enumeration, raw axes/buttons/hats
  2. Gamepad mapping layer — standard layout normalization via controller database

Enterprise references: SDL3 (architecture), Ebiten (zero-CGO Go proof).

Installation

go get github.com/gogpu/gamepad

Note: The package is not yet functional. This import path is reserved.

License

MIT — see LICENSE.

About

Pure Go gamepad and joystick input — XInput, evdev, IOKit, W3C Gamepad API. Zero CGO.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors