#c #macos #keyboard #shortcut
#c #macos #клавиатура #сочетание клавиш
Вопрос:
Как я могу выполнить команду, когда пользователь нажимает клавишу в приложении командной строки C? Возможно ли это, когда окно не сфокусировано
Ответ №1:
Зависит от самой программы, вы могли бы выполнить любое из этих действий:
-
блок на небуферизованном getc вы получаете нажатия клавиш по мере их поступления, а не при возврате пользовательских нажатий.
-
создайте своего рода цикл событий, используя select / epoll или event framework, например (libevent/libev), и получайте обратный вызов всякий раз, когда пользователь нажимает клавишу.
-
используйте инструментарий, подобный ncurses, который предоставляет псевдографический интерфейс командной строки и цикл событий.
-
если вам интересны такие клавиши, как CTRL C, вам нужны обработчики сигналов.