gobot.io/x/gobot/v2@v2.1.0/examples/joystick_ps5.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.Dualsense) 19 20 work := func() { 21 stick.On(joystick.SquarePress, func(data interface{}) { 22 fmt.Println("square_press") 23 }) 24 stick.On(joystick.SquareRelease, func(data interface{}) { 25 fmt.Println("square_release") 26 }) 27 stick.On(joystick.TrianglePress, func(data interface{}) { 28 fmt.Println("triangle_press") 29 }) 30 stick.On(joystick.TriangleRelease, func(data interface{}) { 31 fmt.Println("triangle_release") 32 }) 33 stick.On(joystick.CirclePress, func(data interface{}) { 34 fmt.Println("circle_press") 35 }) 36 stick.On(joystick.CircleRelease, func(data interface{}) { 37 fmt.Println("circle_release") 38 }) 39 stick.On(joystick.XPress, func(data interface{}) { 40 fmt.Println("x_press") 41 }) 42 stick.On(joystick.XRelease, func(data interface{}) { 43 fmt.Println("x_release") 44 }) 45 stick.On(joystick.HomePress, func(data interface{}) { 46 fmt.Println("home_press") 47 }) 48 stick.On(joystick.HomeRelease, func(data interface{}) { 49 fmt.Println("home_release") 50 }) 51 stick.On(joystick.CreatePress, func(data interface{}) { 52 fmt.Println("create_press") 53 }) 54 stick.On(joystick.CreateRelease, func(data interface{}) { 55 fmt.Println("create_release") 56 }) 57 stick.On(joystick.OptionsPress, func(data interface{}) { 58 fmt.Println("options_press") 59 }) 60 stick.On(joystick.OptionsRelease, func(data interface{}) { 61 fmt.Println("options_release") 62 }) 63 stick.On(joystick.L1Press, func(data interface{}) { 64 fmt.Println("l1_press") 65 }) 66 stick.On(joystick.L1Release, func(data interface{}) { 67 fmt.Println("l1_release") 68 }) 69 stick.On(joystick.R1Press, func(data interface{}) { 70 fmt.Println("r1_press") 71 }) 72 stick.On(joystick.R1Release, func(data interface{}) { 73 fmt.Println("r1_release") 74 }) 75 stick.On(joystick.PSPress, func(data interface{}) { 76 fmt.Println("ps_press") 77 }) 78 stick.On(joystick.PSRelease, func(data interface{}) { 79 fmt.Println("ps_release") 80 }) 81 stick.On(joystick.TrackpadPress, func(data interface{}) { 82 fmt.Println("trackpad_press") 83 }) 84 stick.On(joystick.TrackpadRelease, func(data interface{}) { 85 fmt.Println("trackpad_release") 86 }) 87 88 stick.On(joystick.UpPress, func(data interface{}) { 89 fmt.Println("up_press") 90 }) 91 stick.On(joystick.UpRelease, func(data interface{}) { 92 fmt.Println("up_release") 93 }) 94 stick.On(joystick.DownPress, func(data interface{}) { 95 fmt.Println("down_press") 96 }) 97 stick.On(joystick.DownRelease, func(data interface{}) { 98 fmt.Println("down_release") 99 }) 100 stick.On(joystick.RightPress, func(data interface{}) { 101 fmt.Println("right_press") 102 }) 103 stick.On(joystick.RightRelease, func(data interface{}) { 104 fmt.Println("right_release") 105 }) 106 stick.On(joystick.LeftPress, func(data interface{}) { 107 fmt.Println("left_press") 108 }) 109 stick.On(joystick.LeftRelease, func(data interface{}) { 110 fmt.Println("left_release") 111 }) 112 113 // stick.On(joystick.LeftX, func(data interface{}) { 114 // fmt.Println("left_x", data) 115 // }) 116 // stick.On(joystick.LeftY, func(data interface{}) { 117 // fmt.Println("left_y", data) 118 // }) 119 // stick.On(joystick.RightX, func(data interface{}) { 120 // fmt.Println("right_x", data) 121 // }) 122 // stick.On(joystick.RightY, func(data interface{}) { 123 // fmt.Println("right_y", data) 124 // }) 125 // stick.On(joystick.L2, func(data interface{}) { 126 // fmt.Println("L2", data) 127 // }) 128 // stick.On(joystick.R2, func(data interface{}) { 129 // fmt.Println("R2", data) 130 // }) 131 } 132 133 robot := gobot.NewRobot("joystickBot", 134 []gobot.Connection{joystickAdaptor}, 135 []gobot.Device{stick}, 136 work, 137 ) 138 139 robot.Start() 140 }