Пишу программу для консоли.
Ищу разные способы получения нажатия всех клавиш, движений мыши,
нажатий кнопок мыши, колеса мыши.
Пока что нашёл такие способы.
---------------------------
Клавиатура :
Коды терминала (обычный режим) - Отсутствут полный доступ к всем сочетаниям клавиш и некоторым отдельным клавишам.
RAW режим - Хороший способ. Дает доступ ко всем клавишам, их нажатиям и отжатиям.
Но опасен, т. к. получается эксклюзивный доступ и нужно позаботится о возвращении нормального режима клавиатуры. Например создав спец-сервис который будет «если че» при зависании, вылете основной программы возвращать нормальный режим клавиатуры.
Скан коды - это как-бы не нужный режим, т. к. уже есть RAW режим.
Библиотеки SLANG, NCURSES - предоставляют режимы кодов терминала.
/dev/input/ - это крутой способ.
Дает доступ ко всем клавишам, их нажатиям и отжатиям.
Интересен тем что не блокирует клавиатуру !
Из /dev/input/ могут читать множество программ одновременно.
Им пользуется например X Window System.
Но по дефолту дается доступ только для root. Придется перенастроить права доступа к файлу.
---------------------------
Мышь :
gpm - нельзя получить события о прокрутки колесика мыши.
/dev/input/ - Дает данные о колесе мыши.
Но по дефолту дается доступ только для root. Придется перенастроить права доступа к файлу.
---------------------------
Каким ещё способом можно получить события о клавишах, о мыши ?