Я пытаюсь создать версию pong для терминала MacOS. Тем не менее, я не могу получить ввод с одной клавиши (моя версия определения того, какая клавиша нажата в определенное время). Я пробовал все (даже с использованием функции getch()
, используемой в устаревшей библиотеке conio.h
. Я хочу использовать ее в такой функции:
void detect_w()
{
int ascii_key_pressed_code = <some function to get pressed keys>;
if (ascii_key_pressed_code == 0xa9)
{
// the ascii code for "A" triggered.
// do something...
}
// ....
}
Для тех, кто думает «просто используйте cin
», я хочу небуферизованный ввод.
getch
? - person Alan Birtles   schedule 07.05.2020getch()
обесценивается. Компилятор gcc жалуется наconio.h
- библиотеку DOS, которой не существует. - person   schedule 07.05.2020getch
не устарел, вам просто нужно включить правильные заголовки для вашей платформы: developer.apple.com/library/archive/documentation/System/ - person Alan Birtles   schedule 07.05.2020conio.h
, что делает невозможным его использование. - person   schedule 07.05.2020man getch
в свой терминал - person Alan Birtles   schedule 07.05.2020getch()
- это не то, что я ищу - я не хочу, чтобы весь терминал останавливался. Я просто хочу иметь возможность видеть, какие клавиши нажимаются одновременно. - person   schedule 07.05.2020