From 7c9146efca9b565777e1093e65272f710ae5d0d9 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Sun, 9 Oct 2016 12:56:59 +0300 Subject: Add editor content outputting --- utils.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 utils.cpp (limited to 'utils.cpp') diff --git a/utils.cpp b/utils.cpp new file mode 100644 index 0000000..f118fc5 --- /dev/null +++ b/utils.cpp @@ -0,0 +1,27 @@ +#include "utils.h" +#include //_getch +#include //_getch +#include + +/* Thanks to StackOverflow user mf_ */ +char Utils::getch(){ + char buf=0; + struct termios old={0}; + fflush(stdout); + if(tcgetattr(0, &old)<0) + perror("tcsetattr()"); + old.c_lflag&=~ICANON; + old.c_lflag&=~ECHO; + old.c_cc[VMIN]=1; + old.c_cc[VTIME]=0; + if(tcsetattr(0, TCSANOW, &old)<0) + perror("tcsetattr ICANON"); + if(read(0,&buf,1)<0) + perror("read()"); + old.c_lflag|=ICANON; + old.c_lflag|=ECHO; + if(tcsetattr(0, TCSADRAIN, &old)<0) + perror ("tcsetattr ~ICANON"); + //printf("%c\n",buf); + return buf; + } -- cgit v1.3