trying to fix input

This commit is contained in:
2025-01-30 03:31:12 +00:00
parent 81d664f45e
commit 23be603dfc
5 changed files with 82 additions and 2 deletions

View File

@@ -1,7 +1,7 @@
project(TartLib VERSION 0.1)
set( CMAKE_STATIC_LIBRARY_PREFIX "")
set( CMAKE_CXX_STANDARD 11)
set( CMAKE_CXX_STANDARD_REQUIRED ON)
set( CMAKE_C_STANDARD 11)
set( CMAKE_C_STANDARD_REQUIRED ON)
set(LIB_SOURCES
term.c

View File

@@ -23,6 +23,8 @@ struct tart_vec2 term_current_size() {
#include <sys/ioctl.h>
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <termios.h>
struct tart_vec2 term_current_size() {
struct tart_vec2 ret;
@@ -42,4 +44,43 @@ struct tart_vec2 term_current_size() {
return ret;
}
struct termios old, current;
void init_termios(int args) {
tcgetattr(0, &old);
current = old;
current.c_lflag &= ~ICANON;
if(args == 0x01) {
current.c_lflag |= ECHO;
} else {
current.c_lflag &= ~ECHO;
}
tcsetattr(0,TCSANOW, &current);
}
void reset_termios(void) {
tcsetattr(0, TCSANOW, &old);
}
char term_getch() {
char tmp;
init_termios(0x00);
tmp = getchar();
reset_termios();
return tmp;
}
char term_getche() {
char tmp;
init_termios(0x01);
tmp = getchar();
reset_termios();
return tmp;
}
#endif

View File

@@ -13,4 +13,7 @@
struct tart_vec2 term_current_size();
char term_getch();
char term_getche();
#endif