Documentation
¶
Overview ¶
Package joystick provides the Gobot adaptor and drivers for game controllers that are compatible with SDL.
Installing:
This package requires `sdl2` to be installed on your system Then install package with:
go get github.com/hybridgroup/gobot/platforms/joystick
Example:
package main
import (
"fmt"
"github.com/hybridgroup/gobot"
"github.com/hybridgroup/gobot/platforms/joystick"
)
func main() {
gbot := gobot.NewGobot()
joystickAdaptor := joystick.NewJoystickAdaptor("ps3")
joystick := joystick.NewJoystickDriver(joystickAdaptor,
"ps3",
"./platforms/joystick/configs/dualshock3.json",
)
work := func() {
gobot.On(joystick.Event("square_press"), func(data interface{}) {
fmt.Println("square_press")
})
gobot.On(joystick.Event("square_release"), func(data interface{}) {
fmt.Println("square_release")
})
gobot.On(joystick.Event("triangle_press"), func(data interface{}) {
fmt.Println("triangle_press")
})
gobot.On(joystick.Event("triangle_release"), func(data interface{}) {
fmt.Println("triangle_release")
})
gobot.On(joystick.Event("left_x"), func(data interface{}) {
fmt.Println("left_x", data)
})
gobot.On(joystick.Event("left_y"), func(data interface{}) {
fmt.Println("left_y", data)
})
gobot.On(joystick.Event("right_x"), func(data interface{}) {
fmt.Println("right_x", data)
})
gobot.On(joystick.Event("right_y"), func(data interface{}) {
fmt.Println("right_y", data)
})
}
robot := gobot.NewRobot("joystickBot",
[]gobot.Connection{joystickAdaptor},
[]gobot.Device{joystick},
work,
)
gbot.AddRobot(robot)
gbot.Start()
}
For further information refer to joystick README: https://github.com/hybridgroup/gobot/blob/master/platforms/joystick/README.md
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type JoystickAdaptor ¶
type JoystickAdaptor struct {
// contains filtered or unexported fields
}
JoystickAdaptor represents a connection to a joystick
func NewJoystickAdaptor ¶
func NewJoystickAdaptor(name string) *JoystickAdaptor
NewJoystickAdaptor returns a new JoystickAdaptor with specified name.
func (*JoystickAdaptor) Connect ¶
func (j *JoystickAdaptor) Connect() (errs []error)
Connect connects to the joystick
func (*JoystickAdaptor) Finalize ¶
func (j *JoystickAdaptor) Finalize() (errs []error)
Finalize closes connection to joystick
func (*JoystickAdaptor) Name ¶
func (j *JoystickAdaptor) Name() string
Name returns the JoystickAdaptors name
type JoystickDriver ¶
JoystickDriver represents a joystick
func NewJoystickDriver ¶
func NewJoystickDriver(a *JoystickAdaptor, name string, config string, v ...time.Duration) *JoystickDriver
NewJoystickDriver returns a new JoystickDriver with a polling interval of 10 Milliseconds given a JoystickAdaptor, name and json button configuration file location.
Optinally accepts:
time.Duration: Interval at which the JoystickDriver is polled for new information
func (*JoystickDriver) Connection ¶
func (j *JoystickDriver) Connection() gobot.Connection
Connection returns the JoystickDrivers connection
func (*JoystickDriver) Halt ¶
func (j *JoystickDriver) Halt() (errs []error)
Halt stops joystick driver
func (*JoystickDriver) Name ¶
func (j *JoystickDriver) Name() string
Name returns the JoystickDrivers name
func (*JoystickDriver) Start ¶
func (j *JoystickDriver) Start() (errs []error)
Start and polls the state of the joystick at the given interval.
Emits the Events:
Error error - On button error Events defined in the json button configuration file. They will have the format: [button]_press [button]_release [axis]