package main import ( "flag" "log" "net/http" "douglasthrift.net/dtrobots/gamepad" ) func main() { var ( device string listen string mode driveMode ) flag.StringVar(&device, "gamepad", "/dev/input/event0", "the gamepad device path") flag.StringVar(&listen, "listen", "localhost:8080", "the HTTP listen address and port") flag.Var(&mode, "mode", "the drive mode (default \"tank\")") flag.Parse() g, err := gamepad.NewGamepad(device, gamepad.All) if err != nil { log.Fatalf("error creating gamepad: %v", err) } go control(mode, g) go log.Fatalf("error reading from gamepad: %v", g.Read()) log.Print("HTTP server started") log.Fatalf("error listening and serving: %v", http.ListenAndServe(listen, nil)) }