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