Merge pull request #523 from morfeo8marc/dev
joystick: add xbox360 rock band drums controller
This commit is contained in:
commit
c91f4d5932
|
@ -0,0 +1,70 @@
|
||||||
|
// +build example
|
||||||
|
//
|
||||||
|
// Do not build by default.
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"gobot.io/x/gobot"
|
||||||
|
"gobot.io/x/gobot/platforms/joystick"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
joystickAdaptor := joystick.NewAdaptor()
|
||||||
|
stick := joystick.NewDriver(joystickAdaptor, "xbox360RockBandDrums")
|
||||||
|
|
||||||
|
work := func() {
|
||||||
|
stick.On(joystick.RedPress, func(data interface{}) {
|
||||||
|
fmt.Println("red_press")
|
||||||
|
})
|
||||||
|
stick.On(joystick.RedRelease, func(data interface{}) {
|
||||||
|
fmt.Println("red_release")
|
||||||
|
})
|
||||||
|
stick.On(joystick.YellowPress, func(data interface{}) {
|
||||||
|
fmt.Println("yellow_press")
|
||||||
|
})
|
||||||
|
stick.On(joystick.YellowRelease, func(data interface{}) {
|
||||||
|
fmt.Println("yellow_release")
|
||||||
|
})
|
||||||
|
stick.On(joystick.BluePress, func(data interface{}) {
|
||||||
|
fmt.Println("blue_press")
|
||||||
|
})
|
||||||
|
stick.On(joystick.BlueRelease, func(data interface{}) {
|
||||||
|
fmt.Println("blue_release")
|
||||||
|
})
|
||||||
|
stick.On(joystick.GreenPress, func(data interface{}) {
|
||||||
|
fmt.Println("green_press")
|
||||||
|
})
|
||||||
|
stick.On(joystick.GreenRelease, func(data interface{}) {
|
||||||
|
fmt.Println("blue_release")
|
||||||
|
})
|
||||||
|
stick.On(joystick.PedalPress, func(data interface{}) {
|
||||||
|
fmt.Println("pedal_press")
|
||||||
|
})
|
||||||
|
stick.On(joystick.PedalRelease, func(data interface{}) {
|
||||||
|
fmt.Println("pedal_release")
|
||||||
|
})
|
||||||
|
stick.On(joystick.UpPress, func(data interface{}) {
|
||||||
|
fmt.Println("up", data)
|
||||||
|
})
|
||||||
|
stick.On(joystick.DownPress, func(data interface{}) {
|
||||||
|
fmt.Println("down", data)
|
||||||
|
})
|
||||||
|
stick.On(joystick.LeftPress, func(data interface{}) {
|
||||||
|
fmt.Println("left", data)
|
||||||
|
})
|
||||||
|
stick.On(joystick.RightPress, func(data interface{}) {
|
||||||
|
fmt.Println("right", data)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
robot := gobot.NewRobot("joystickBot",
|
||||||
|
[]gobot.Connection{joystickAdaptor},
|
||||||
|
[]gobot.Device{stick},
|
||||||
|
work,
|
||||||
|
)
|
||||||
|
|
||||||
|
robot.Start()
|
||||||
|
}
|
|
@ -117,4 +117,24 @@ const (
|
||||||
BackPress = "back_press"
|
BackPress = "back_press"
|
||||||
// back button release event
|
// back button release event
|
||||||
BackRelease = "back_release"
|
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"
|
||||||
)
|
)
|
||||||
|
|
|
@ -102,6 +102,8 @@ func (j *Driver) Start() (err error) {
|
||||||
j.config = dualshock4Config
|
j.config = dualshock4Config
|
||||||
case "xbox360":
|
case "xbox360":
|
||||||
j.config = xbox360Config
|
j.config = xbox360Config
|
||||||
|
case "xbox360RockBandDrums":
|
||||||
|
j.config = xbox360RockBandDrumsConfig
|
||||||
default:
|
default:
|
||||||
j.loadFile()
|
j.loadFile()
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,58 @@
|
||||||
|
package joystick
|
||||||
|
|
||||||
|
var xbox360RockBandDrumsConfig = joystickConfig{
|
||||||
|
Name: "XBox 360 Rock Band Drums Controller",
|
||||||
|
GUID: "4444",
|
||||||
|
Axis: []pair{},
|
||||||
|
Buttons: []pair{
|
||||||
|
pair{
|
||||||
|
Name: "green",
|
||||||
|
ID: 0,
|
||||||
|
},
|
||||||
|
pair{
|
||||||
|
Name: "red",
|
||||||
|
ID: 1,
|
||||||
|
},
|
||||||
|
pair{
|
||||||
|
Name: "blue",
|
||||||
|
ID: 2,
|
||||||
|
},
|
||||||
|
pair{
|
||||||
|
Name: "yellow",
|
||||||
|
ID: 3,
|
||||||
|
},
|
||||||
|
pair{
|
||||||
|
Name: "pedal",
|
||||||
|
ID: 4,
|
||||||
|
},
|
||||||
|
pair{
|
||||||
|
Name: "back",
|
||||||
|
ID: 6,
|
||||||
|
},
|
||||||
|
pair{
|
||||||
|
Name: "start",
|
||||||
|
ID: 7,
|
||||||
|
},
|
||||||
|
pair{
|
||||||
|
Name: "home",
|
||||||
|
ID: 8,
|
||||||
|
},
|
||||||
|
pair{
|
||||||
|
Name: "left",
|
||||||
|
ID: 11,
|
||||||
|
},
|
||||||
|
pair{
|
||||||
|
Name: "right",
|
||||||
|
ID: 12,
|
||||||
|
},
|
||||||
|
pair{
|
||||||
|
Name: "up",
|
||||||
|
ID: 13,
|
||||||
|
},
|
||||||
|
pair{
|
||||||
|
Name: "down",
|
||||||
|
ID: 14,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
Hats: []hat{},
|
||||||
|
}
|
Loading…
Reference in New Issue