mirror of
https://github.com/hybridgroup/gobot.git
synced 2025-04-27 13:48:56 +08:00
Adds support for Dualshock4 wireless gamepad
This commit is contained in:
parent
ae4c760951
commit
b4427ced97
69
examples/joystick_ps4.go
Normal file
69
examples/joystick_ps4.go
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/hybridgroup/gobot"
|
||||||
|
"github.com/hybridgroup/gobot/platforms/joystick"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
gbot := gobot.NewGobot()
|
||||||
|
|
||||||
|
joystickAdaptor := joystick.NewJoystickAdaptor("ps4")
|
||||||
|
joystick := joystick.NewJoystickDriver(joystickAdaptor,
|
||||||
|
"ps4",
|
||||||
|
"./platforms/joystick/configs/dualshock4.json",
|
||||||
|
)
|
||||||
|
|
||||||
|
work := func() {
|
||||||
|
gobot.On(joystick.Event("square_press"), func(data interface{}) {
|
||||||
|
fmt.Println("square_press")
|
||||||
|
})
|
||||||
|
gobot.On(joystick.Event("square_release"), func(data interface{}) {
|
||||||
|
fmt.Println("square_release")
|
||||||
|
})
|
||||||
|
gobot.On(joystick.Event("triangle_press"), func(data interface{}) {
|
||||||
|
fmt.Println("triangle_press")
|
||||||
|
})
|
||||||
|
gobot.On(joystick.Event("triangle_release"), func(data interface{}) {
|
||||||
|
fmt.Println("triangle_release")
|
||||||
|
})
|
||||||
|
gobot.On(joystick.Event("circle_press"), func(data interface{}) {
|
||||||
|
fmt.Println("circle_press")
|
||||||
|
})
|
||||||
|
gobot.On(joystick.Event("circle_release"), func(data interface{}) {
|
||||||
|
fmt.Println("circle_release")
|
||||||
|
})
|
||||||
|
gobot.On(joystick.Event("x_press"), func(data interface{}) {
|
||||||
|
fmt.Println("x_press")
|
||||||
|
})
|
||||||
|
gobot.On(joystick.Event("x_release"), func(data interface{}) {
|
||||||
|
fmt.Println("x_release")
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
gobot.On(joystick.Event("left_x"), func(data interface{}) {
|
||||||
|
fmt.Println("left_x", data)
|
||||||
|
})
|
||||||
|
gobot.On(joystick.Event("left_y"), func(data interface{}) {
|
||||||
|
fmt.Println("left_y", data)
|
||||||
|
})
|
||||||
|
gobot.On(joystick.Event("right_x"), func(data interface{}) {
|
||||||
|
fmt.Println("right_x", data)
|
||||||
|
})
|
||||||
|
gobot.On(joystick.Event("right_y"), func(data interface{}) {
|
||||||
|
fmt.Println("right_y", data)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
robot := gobot.NewRobot("joystickBot",
|
||||||
|
[]gobot.Connection{joystickAdaptor},
|
||||||
|
[]gobot.Device{joystick},
|
||||||
|
work,
|
||||||
|
)
|
||||||
|
|
||||||
|
gbot.AddRobot(robot)
|
||||||
|
|
||||||
|
gbot.Start()
|
||||||
|
}
|
92
platforms/joystick/configs/dualshock4.json
Normal file
92
platforms/joystick/configs/dualshock4.json
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
{
|
||||||
|
"name": "Sony PLAYSTATION(R)4 Controller",
|
||||||
|
"guid": "1234",
|
||||||
|
"axis": [
|
||||||
|
{
|
||||||
|
"name": "left_x",
|
||||||
|
"id": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "left_y",
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "right_x",
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "right_y",
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "l2",
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "r2",
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "up",
|
||||||
|
"id": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "down",
|
||||||
|
"id": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "left",
|
||||||
|
"id": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "right",
|
||||||
|
"id": 8
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"buttons": [
|
||||||
|
{
|
||||||
|
"name": "square",
|
||||||
|
"id": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "triangle",
|
||||||
|
"id": 3
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "circle",
|
||||||
|
"id": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "x",
|
||||||
|
"id": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "l1",
|
||||||
|
"id": 4
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "l2",
|
||||||
|
"id": 6
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "r2",
|
||||||
|
"id": 7
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "r1",
|
||||||
|
"id": 5
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "share",
|
||||||
|
"id": 8
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "options",
|
||||||
|
"id": 9
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "home",
|
||||||
|
"id": 12
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user