Я работаю над эмулятором CHIP-8, который будет использоваться в системе Linux. Насколько я понимаю, мне нужно получить ввод с клавиатуры (любой) 16 клавиш и сопоставить их с шестнадцатеричной клавиатурой. Как только я получу входы, у меня не будет проблем с отображением их на 16 клавиш CHIP-8.
Однако я не могу понять, как на самом деле сказать, нажата ли клавиша. Я верю в Java, я бы использовал keylistener, но я не могу найти ничего аналогичного для Linux в C ++. Есть ли способ, которым я могу сказать, какие (если таковые имеются) конкретные клавиши нажимаются в любой момент времени? Что-то вроде функции getKeyState, которую я мог бы вызвать?
Заранее спасибо.
Есть этот учебник на ncurses
, NCURSES Программирование HOWTO. Я подтвердил, что на моем MacBook Pro, Mavericks 10.9.1, с установкой инструментов командной строки Xcode, что ncurses.h
является символической ссылкой на curses.h
оба расположены в /usr/include
, Это NCURSES Введение страница.
Я не создал определенный класс сам. Тем не менее, некоторые ищут на /dev/input/eventX
где X, кажется, либо ноль, либо один находит эти два отдельных сообщения:Читать из / dev / input а также события нажатия клавиш в Linux.
Ваша программа может читать символы из стандартного ввода.
Ты можешь использовать fgets()
Функция библиотеки для выполнения чтения.
Смотрите, например: