diff options
-rw-r--r-- | utils/adlmidi-2/CMakeLists.txt | 4 | ||||
-rw-r--r-- | utils/adlmidi-2/input.cc | 5 | ||||
-rw-r--r-- | utils/adlmidi-2/input.hpp | 7 |
3 files changed, 9 insertions, 7 deletions
diff --git a/utils/adlmidi-2/CMakeLists.txt b/utils/adlmidi-2/CMakeLists.txt index 71dfbb7..fb09795 100644 --- a/utils/adlmidi-2/CMakeLists.txt +++ b/utils/adlmidi-2/CMakeLists.txt @@ -44,10 +44,6 @@ if(HAS_TERMIOS) target_compile_definitions(adlmidi2 PRIVATE -DHAS_TERMIOS) endif() -if(NOT HAS_TERMIO AND NOT HAS_TERMIOS) - message(FATAL_ERROR "Failed to recognize the termio or termios terminal I/O type") -endif() - if(ADLMIDI2_HAS_PUZZLE_GAME) target_compile_definitions(adlmidi2 PUBLIC SUPPORT_PUZZLE_GAME) endif() diff --git a/utils/adlmidi-2/input.cc b/utils/adlmidi-2/input.cc index 80aba57..c94fc47 100644 --- a/utils/adlmidi-2/input.cc +++ b/utils/adlmidi-2/input.cc @@ -5,7 +5,8 @@ xInput::xInput() #ifdef _WIN32 inhandle = GetStdHandle(STD_INPUT_HANDLE); #endif -#if (!defined(_WIN32) || defined(__CYGWIN__)) && !defined(__DJGPP__) && !defined(__APPLE__) + +#ifdef USE_TERMIO ioctl(0, TCGETA, &back); InputTermio_t term = back; term.c_lflag &= ~(ICANON | ECHO); @@ -17,7 +18,7 @@ xInput::xInput() xInput::~xInput() { -#if (!defined(_WIN32) || defined(__CYGWIN__)) && !defined(__DJGPP__) && !defined(__APPLE__) +#ifdef USE_TERMIO if(ioctl(0, TCSETA, &back) < 0) fcntl(0, F_SETFL, fcntl(0, F_GETFL) & ~ O_NONBLOCK); #endif diff --git a/utils/adlmidi-2/input.hpp b/utils/adlmidi-2/input.hpp index 6d0a796..a1e5854 100644 --- a/utils/adlmidi-2/input.hpp +++ b/utils/adlmidi-2/input.hpp @@ -29,6 +29,9 @@ static const unsigned NewTimerFreq = 209; # include <csignal> #endif +#if (!defined(_WIN32) || defined(__CYGWIN__)) && !defined(__DJGPP__) && !defined(__APPLE__) +#define USE_TERMIO + #if defined(HAS_TERMIO) typedef struct termio InputTermio_t; #elif defined(HAS_TERMIOS) @@ -37,12 +40,14 @@ typedef struct termios InputTermio_t; # error Undefined type for termio; #endif +#endif // USE_TERMIO + class xInput { #ifdef _WIN32 void *inhandle; #endif -#if (!defined(_WIN32) || defined(__CYGWIN__)) && !defined(__DJGPP__) && !defined(__APPLE__) +#ifdef USE_TERMIO InputTermio_t back; #endif |