gobot.io/x/gobot/v2@v2.1.0/examples/joystick_xbox360_rock_band_drums.go (about) 1 //go:build example 2 // +build example 3 4 // 5 // Do not build by default. 6 7 package main 8 9 import ( 10 "fmt" 11 12 "gobot.io/x/gobot/v2" 13 "gobot.io/x/gobot/v2/platforms/joystick" 14 ) 15 16 func main() { 17 joystickAdaptor := joystick.NewAdaptor() 18 stick := joystick.NewDriver(joystickAdaptor, joystick.Xbox360RockBandDrums) 19 20 work := func() { 21 stick.On(joystick.RedPress, func(data interface{}) { 22 fmt.Println("red_press") 23 }) 24 stick.On(joystick.RedRelease, func(data interface{}) { 25 fmt.Println("red_release") 26 }) 27 stick.On(joystick.YellowPress, func(data interface{}) { 28 fmt.Println("yellow_press") 29 }) 30 stick.On(joystick.YellowRelease, func(data interface{}) { 31 fmt.Println("yellow_release") 32 }) 33 stick.On(joystick.BluePress, func(data interface{}) { 34 fmt.Println("blue_press") 35 }) 36 stick.On(joystick.BlueRelease, func(data interface{}) { 37 fmt.Println("blue_release") 38 }) 39 stick.On(joystick.GreenPress, func(data interface{}) { 40 fmt.Println("green_press") 41 }) 42 stick.On(joystick.GreenRelease, func(data interface{}) { 43 fmt.Println("blue_release") 44 }) 45 stick.On(joystick.PedalPress, func(data interface{}) { 46 fmt.Println("pedal_press") 47 }) 48 stick.On(joystick.PedalRelease, func(data interface{}) { 49 fmt.Println("pedal_release") 50 }) 51 stick.On(joystick.UpPress, func(data interface{}) { 52 fmt.Println("up", data) 53 }) 54 stick.On(joystick.DownPress, func(data interface{}) { 55 fmt.Println("down", data) 56 }) 57 stick.On(joystick.LeftPress, func(data interface{}) { 58 fmt.Println("left", data) 59 }) 60 stick.On(joystick.RightPress, func(data interface{}) { 61 fmt.Println("right", data) 62 }) 63 } 64 65 robot := gobot.NewRobot("joystickBot", 66 []gobot.Connection{joystickAdaptor}, 67 []gobot.Device{stick}, 68 work, 69 ) 70 71 robot.Start() 72 }