X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fmain.c;h=fd2517ca86b5e712d976a968cddced3e28a3b19c;hb=HEAD;hp=3c41acf43119b09ee6bc60527e9461c87fe66ec2;hpb=9c67b30c9aacfdd2bf783ed25848a152d73ea8b3;p=sball diff --git a/src/main.c b/src/main.c index 3c41acf..fd2517c 100644 --- a/src/main.c +++ b/src/main.c @@ -1,11 +1,20 @@ #include #include +#include #include #include #include #include #include "sball.h" +#ifdef __FreeBSD__ +#define DEFDEV "/dev/ttyu0" +#elif defined(__sgi__) +#define DEFDEV "/dev/ttyd1" +#else +#define DEFDEV "/dev/ttyS0" +#endif + static void sighandler(int s); static struct sball *sb; @@ -15,11 +24,20 @@ int main(int argc, char **argv) { int fd; fd_set rdset; + const char *dev = DEFDEV; signal(SIGINT, sighandler); - if(!(sb = sball_open(argv[1] ? argv[1] : "/dev/ttyS0"))) { - fprintf(stderr, "Failed to open spaceball at %s\n", argv[1] ? argv[1] : "/dev/ttyS0"); + if(argv[1]) { + if(strcmp(argv[1], "btest") == 0) { + sball_button_test(); + return 0; + } + dev = argv[1]; + } + + if(!(sb = sball_open(dev))) { + fprintf(stderr, "Failed to open spaceball at %s\n", dev); return 1; } fd = sball_fd(sb);