C командной строки и сочетание клавиш (в Mac OS)

#c #macos #keyboard #shortcut

#c #macos #клавиатура #сочетание клавиш

Вопрос:

Как я могу выполнить команду, когда пользователь нажимает клавишу в приложении командной строки C? Возможно ли это, когда окно не сфокусировано

Ответ №1:

Зависит от самой программы, вы могли бы выполнить любое из этих действий:

  1. блок на небуферизованном getc вы получаете нажатия клавиш по мере их поступления, а не при возврате пользовательских нажатий.

  2. создайте своего рода цикл событий, используя select / epoll или event framework, например (libevent/libev), и получайте обратный вызов всякий раз, когда пользователь нажимает клавишу.

  3. используйте инструментарий, подобный ncurses, который предоставляет псевдографический интерфейс командной строки и цикл событий.

  4. если вам интересны такие клавиши, как CTRL C, вам нужны обработчики сигналов.