X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_input_devices.c;h=04f5fd5d5c11fa79e43a3b6a46094c70be3e7c5f;hb=32cd611201e666894e4bbbde6ba046a9667a9782;hp=19dc9c6bbedc175ea5e68e81dd67cc7f04dd280c;hpb=fb385acb170491c30edba52b8fe9571ad785bb92;p=freeglut diff --git a/src/freeglut_input_devices.c b/src/freeglut_input_devices.c index 19dc9c6..04f5fd5 100755 --- a/src/freeglut_input_devices.c +++ b/src/freeglut_input_devices.c @@ -35,25 +35,23 @@ #include #include "freeglut_internal.h" -#if TARGET_HOST_UNIX_X11 +#if TARGET_HOST_POSIX_X11 +#ifdef HAVE_ERRNO_H #include +#endif #include -#include -#include #include #include -#include #include #include #include -#include typedef struct { int fd; struct termios termio, termio_save; } SERIALPORT; -#elif TARGET_HOST_WIN32 +#elif TARGET_HOST_MS_WINDOWS #include #include typedef struct { @@ -68,32 +66,32 @@ typedef struct { #define DIAL_NUM_VALUATORS 8 - /* dial parser state machine states */ -#define DIAL_NEW -1 +/* dial parser state machine states */ +#define DIAL_NEW (-1) #define DIAL_WHICH_DEVICE 0 #define DIAL_VALUE_HIGH 1 #define DIAL_VALUE_LOW 2 - /* dial/button box commands */ +/* dial/button box commands */ #define DIAL_INITIALIZE 0x20 #define DIAL_SET_LEDS 0x75 #define DIAL_SET_TEXT 0x61 #define DIAL_SET_AUTO_DIALS 0x50 #define DIAL_SET_AUTO_DELTA_DIALS 0x51 -#define DIAL_SET_FILTER 0x53 +#define DIAL_SET_FILTER 0x53 #define DIAL_SET_BUTTONS_MOM_TYPE 0x71 #define DIAL_SET_AUTO_MOM_BUTTONS 0x73 -#define DIAL_SET_ALL_LEDS 0x4b -#define DIAL_CLEAR_ALL_LEDS 0x4c +#define DIAL_SET_ALL_LEDS 0x4b +#define DIAL_CLEAR_ALL_LEDS 0x4c - /* dial/button box replies and events */ +/* dial/button box replies and events */ #define DIAL_INITIALIZED 0x20 #define DIAL_BASE 0x30 #define DIAL_DELTA_BASE 0x40 #define DIAL_PRESS_BASE 0xc0 #define DIAL_RELEASE_BASE 0xe0 - /* macros to determine reply type */ +/* macros to determine reply type */ #define IS_DIAL_EVENT(ch) (((ch)>=DIAL_BASE)&&((ch)=DIAL_PRESS_BASE)&&((ch)=DIAL_RELEASE_BASE)&&((ch) Linux/BSD/UNIX POSIX serial I/O */ +#if TARGET_HOST_POSIX_X11 /* ==> Linux/BSD/UNIX POSIX serial I/O */ static SERIALPORT *serial_open ( const char *device ) { int fd; @@ -271,14 +269,6 @@ static SERIALPORT *serial_open ( const char *device ) tcgetattr(fd,&port->termio_save); memset(&termio, 0, sizeof(termio)); - - /* Same as "cfmakeraw(&termio)", but Solaris doesn't have this call */ - termio.c_iflag &= ~( IGNBRK | BRKINT | PARMRK | ISTRIP | INLCR | IGNCR | ICRNL | IXON ); - termio.c_oflag &= ~OPOST; - termio.c_lflag &= ~( ECHO | ECHONL | ICANON | ISIG | IEXTEN ); - termio.c_cflag &= ~( CSIZE | PARENB ); - termio.c_cflag |= CS8; - termio.c_cflag = CS8 | CREAD | HUPCL ; termio.c_iflag = IGNPAR | IGNBRK ; termio.c_cc[VTIME] = 0; /* inter-character timer */ @@ -321,7 +311,7 @@ static void serial_flush ( SERIALPORT *port ) tcflush ( port->fd, TCIOFLUSH ); } -#elif TARGET_HOST_WIN32 +#elif TARGET_HOST_MS_WINDOWS static SERIALPORT *serial_open(const char *device){ HANDLE fh;