From a1c962faa304eee9d6fc30c8c4a4382fbdabcc05 Mon Sep 17 00:00:00 2001 From: Christine Dodrill Date: Thu, 12 Oct 2017 23:54:19 -0700 Subject: sdl: add joydumpr --- sdl/joydumpr/main.go | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 sdl/joydumpr/main.go diff --git a/sdl/joydumpr/main.go b/sdl/joydumpr/main.go new file mode 100644 index 0000000..ad7c657 --- /dev/null +++ b/sdl/joydumpr/main.go @@ -0,0 +1,36 @@ +package main + +import ( + "log" + + "github.com/veandco/go-sdl2/sdl" +) + +func main() { + if err := sdl.Init(sdl.INIT_EVERYTHING); err != nil { + panic(err) + } + defer sdl.Quit() + + nj := sdl.NumJoysticks() + log.Printf("%d joysticks detected", nj) + + for i := 0; i < nj; i++ { + j := sdl.JoystickOpen(sdl.JoystickID(i)) + defer j.Close() + + log.Printf("%d joystick name: %s, %d buttons, %d axes, %d hats", i, j.Name(), j.NumButtons(), j.NumAxes(), j.NumHats()) + + for ii := 0; ii < j.NumButtons(); ii++ { + log.Printf("%d joystick button %d: %v", i, ii, j.GetButton(ii)) + } + + for ii := 0; ii < j.NumAxes(); ii++ { + log.Printf("%d joystick axis %d: %v", i, ii, j.GetAxis(ii)) + } + + for ii := 0; ii < j.NumHats(); ii++ { + log.Printf("%d joystick hat %d: %v", i, ii, j.GetHat(ii)) + } + } +} -- cgit v1.2.3