Documentation ¶
Overview ¶
Package joystick provides the Gobot adaptor and drivers for game controllers and joysticks.
Installing:
Please refer to the main [README.md](https://github.com/hybridgroup/gobot/blob/release/README.md)
Example:
package main import ( "fmt" "gobot.io/x/gobot/v2" "gobot.io/x/gobot/v2/platforms/joystick" ) func main() { joystickAdaptor := joystick.NewAdaptor("0") joystick := joystick.NewDriver(joystickAdaptor, "dualshock3") work := func() { _ = joystick.On(joystick.Event("square_press"), func(data interface{}) { fmt.Println("square_press") }) _ = joystick.On(joystick.Event("square_release"), func(data interface{}) { fmt.Println("square_release") }) _ = joystick.On(joystick.Event("triangle_press"), func(data interface{}) { fmt.Println("triangle_press") }) _ = joystick.On(joystick.Event("triangle_release"), func(data interface{}) { fmt.Println("triangle_release") }) _ = joystick.On(joystick.Event("left_x"), func(data interface{}) { fmt.Println("left_x", data) }) _ = joystick.On(joystick.Event("left_y"), func(data interface{}) { fmt.Println("left_y", data) }) _ = joystick.On(joystick.Event("right_x"), func(data interface{}) { fmt.Println("right_x", data) }) _ = joystick.On(joystick.Event("right_y"), func(data interface{}) { fmt.Println("right_y", data) }) } robot := gobot.NewRobot("joystickBot", []gobot.Connection{joystickAdaptor}, []gobot.Device{joystick}, work, ) if err := robot.Start(); err != nil { panic(err) } }
For further information refer to joystick README: https://github.com/hybridgroup/gobot/blob/release/platforms/joystick/README.md
Index ¶
Constants ¶
View Source
const ( // left X joystick event LeftX = "left_x" // left Y joystick event LeftY = "left_y" // right X joystick event RightX = "right_x" // right Y joystick event RightY = "right_y" // L1 button joystick event L1 = "l1" // L1 button press event L1Press = "l1_press" // L1 button release event L1Release = "l1_release" // L2 joystick event L2 = "l2" // L2 button press event L2Press = "l2_press" // L2 button release event L2Release = "l2_release" // L3 button press event L3Press = "l3_press" // L3 button release event L3Release = "l3_release" // R1 button joystick event R1 = "r1" // R1 button press event R1Press = "r1_press" // R1 button release event R1Release = "r1_release" // R2 joystick event R2 = "r2" // R2 button press event R2Press = "r2_press" // R1 button release event R2Release = "r2_release" // R3 button press event R3Press = "r3_press" // R1 button release event R3Release = "r3_release" // up gamepad press event UpPress = "up_press" // up gamepad release event UpRelease = "up_release" // down gamepad press event DownPress = "down_press" // down gamepad release event DownRelease = "down_release" // left gamepad press event LeftPress = "left_press" // left gamepad release event LeftRelease = "left_release" // right gamepad press event RightPress = "right_press" // right gamepad release event RightRelease = "right_release" // square button press event SquarePress = "square_press" // square button release event SquareRelease = "square_release" // circle button press event CirclePress = "circle_press" // circle button release event CircleRelease = "circle_release" // triangle button press event TrianglePress = "triangle_press" // triangle button release event TriangleRelease = "triangle_release" // X button press event XPress = "x_press" // X button release event XRelease = "x_release" SharePress = "share_press" ShareRelease = "share_release" // create button press event CreatePress = "create_press" // create button release event CreateRelease = "create_release" // ps button press event PSPress = "ps_press" // ps button release event PSRelease = "ps_release" // trackpad button press event TrackpadPress = "trackpad_press" // trackpad button release event TrackpadRelease = "trackpad_release" // options button press event OptionsPress = "options_press" // options button release event OptionsRelease = "options_release" // home button press event HomePress = "home_press" // home button release event HomeRelease = "home_release" // start button press event StartPress = "start_press" // start button release event StartRelease = "start_release" // select button press event SelectPress = "select_press" // select button release event SelectRelease = "select_release" // rt button press event RTPress = "rt_press" // rt button release event RTRelease = "rt_release" // lt button press event LTPress = "lt_press" // lt button release event LTRelease = "lt_release" // Y button press event YPress = "y_press" // Y button release event YRelease = "y_release" // A button press event APress = "a_press" // A button release event ARelease = "a_release" // B button press event BPress = "b_press" // B button release event BRelease = "b_release" // rb button press event RBPress = "rb_press" // rb button release event RBRelease = "rb_release" // lb button press event LBPress = "lb_press" // lb button release event LBRelease = "lb_release" // back button press event BackPress = "back_press" // back button release event BackRelease = "back_release" // red pad press event RedPress = "red_press" // red pad release event RedRelease = "red_release" // yellow pad press event YellowPress = "yellow_press" // yellow pad release event YellowRelease = "yellow_release" // blue pad press event BluePress = "blue_press" // blue pad release event BlueRelease = "blue_release" // green pad press event GreenPress = "green_press" // green pad release event GreenRelease = "green_release" // pedal press event PedalPress = "pedal_press" // pedal release event PedalRelease = "pedal_release" )
View Source
const ( // Dualshock3 joystick configuration. Dualshock3 = "dualshock3" // Dualshock4 joystick configuration. Dualshock4 = "dualshock4" // Dualsense joystick configuration. Dualsense = "dualsense" // TFlightHotasX flight stick configuration. TFlightHotasX = "tflightHotasX" // Configuration for Xbox 360 controller. Xbox360 = "xbox360" // Xbox360RockBandDrums controller configuration. Xbox360RockBandDrums = "xbox360RockBandDrums" // Configuration for the Xbox One controller. XboxOne = "xboxOne" // Nvidia Shield TV Controller Shield = "shield" // Nintendo Switch Joycon Controller Pair NintendoSwitchPair = "joyconPair" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Adaptor ¶
type Adaptor struct {
// contains filtered or unexported fields
}
Adaptor represents a connection to a joystick
func NewAdaptor ¶
NewAdaptor returns a new Joystick Adaptor. Pass in the ID of the joystick you wish to connect to.
type Driver ¶
type Driver struct { gobot.Eventer // contains filtered or unexported fields }
Driver represents a joystick
func NewDriver ¶
NewDriver returns a new Driver with a polling interval of 10 Milliseconds given a Joystick Adaptor and json button configuration file location.
Optionally accepts:
time.Duration: Interval at which the Driver is polled for new information
func (*Driver) Connection ¶
func (j *Driver) Connection() gobot.Connection
Connection returns the Drivers connection
Source Files ¶
- doc.go
- events.go
- joystick_adaptor.go
- joystick_driver.go
- joystick_dualsense.go
- joystick_dualshock3_linux.go
- joystick_dualshock4_linux.go
- joystick_nintendo_joycon.go
- joystick_shield.go
- joystick_tflight_hotas_x.go
- joystick_xbox360.go
- joystick_xbox360_rock_band_drums.go
- joystick_xboxone.go
- test_helper.go
Click to show internal directories.
Click to hide internal directories.