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  }