# README
joystick
Go Joystick API
Package joystick implements a Polled API to read the state of an attached joystick. Windows, Linux & OSX are supported. Package requires no external dependencies to be installed.
Mac OSX code developed by: https://github.com/ledyba
Installation:
$ go get github.com/simulatedsimian/joystick/...
Sample Program
$ go install github.com/simulatedsimian/joystick/joysticktest
$ joysticktest 0
Displays the state of the specified joystick
Example:
import "github.com/simulatedsimian/joystick"
js, err := joystick.Open(jsid)
if err != nil {
panic(err)
}
fmt.Printf("Joystick Name: %s", js.Name())
fmt.Printf(" Axis Count: %d", js.AxisCount())
fmt.Printf(" Button Count: %d", js.ButtonCount())
state, err := joystick.Read()
if err != nil {
panic(err)
}
fmt.Printf("Axis Data: %v", state.AxisData)
js.Close()
# Packages
Simple program that displays the state of the specified joystick
go run joysticktest.go 2 displays state of joystick id 2.
# Functions
Open opens the Joystick for reading, with the supplied id
Under linux the id is used to construct the joystick device name: for example: id 0 will open device: "/dev/input/js0" Under Windows the id is the actual numeric id of the joystick
If successful, a Joystick interface is returned which can be used to read the state of the joystick, else an error is returned.
# Interfaces
Interface Joystick provides access to the Joystick opened with the Open() function.