From 7015245de4af673af3e6fa62d5d0f9c2e0c2a8a1 Mon Sep 17 00:00:00 2001 From: jonas Date: Thu, 27 Dec 2018 00:26:34 +0100 Subject: cleaned working tree --- AmpelJonas/cInput.cpp | 74 --------------------------------------------------- 1 file changed, 74 deletions(-) delete mode 100644 AmpelJonas/cInput.cpp (limited to 'AmpelJonas/cInput.cpp') diff --git a/AmpelJonas/cInput.cpp b/AmpelJonas/cInput.cpp deleted file mode 100644 index e0aa233..0000000 --- a/AmpelJonas/cInput.cpp +++ /dev/null @@ -1,74 +0,0 @@ -#include "cInput.h" - -cInput::cInput() -{ - // Save original serial communication configuration for stdin - tcgetattr( STDIN_FILENO, &original); - - // Put stdin in raw mode so keys get through directly without - // requiring pressing enter. - cfmakeraw (&raw); - tcsetattr (STDIN_FILENO, TCSANOW, &raw); - - // Switch to the alternate buffer screen - write (STDOUT_FILENO, "\e[?47h", 6); - - // Enable mouse tracking - write (STDOUT_FILENO, "\e[?9h", 5); -} - -cInput::~cInput() -{ - //revert changes to console - write (STDOUT_FILENO, "\e[?9l", 5); - write (STDOUT_FILENO, "\e[?47l", 6); - tcsetattr (STDIN_FILENO, TCSANOW, &original); -} - -sInputEvent cInput::poll() -{ - sInputEvent ret; - unsigned char buff [6]; - - //setup for select - fd_set rfds; - struct timeval tv; - FD_ZERO(&rfds); - FD_SET(STDIN_FILENO, &rfds); - tv.tv_sec = 0; - tv.tv_usec = 0; - - ret.type = _EVENT_NULL; - - //Check for Input. return of none - if(!select(1, &rfds, NULL, NULL, &tv)) - return ret; - - read (STDIN_FILENO, &buff, 1); - - if (buff[0] == '\x1B') //Escape sequence - { - read (STDIN_FILENO, &buff, 5); - if(buff[0] == '[') - { - if(buff[1] == 'M') //Mouse Event - { - ret.b = buff[2] - 32; - ret.x = buff[3] - 32; - ret.y = buff[4] - 32; - ret.type = _EVENT_MOUSE; - } - else //e.g. Arrow Keys - { - ret.c = buff[1]; - ret.type = _EVENT_KEY; - } - } - } - else - { - ret.type = _EVENT_CHAR; - ret.c = buff[0]; - } - return ret; -} -- cgit v1.2.3