С ANSI C это невозможно, поскольку ANSI C не определяет какой-либо метод для доступа к клавиатуре таким образом. Функция самого низкого уровня, которая принимает ввод от пользователя, является getc
, которая возвращает символ после того, как он был введен в stdin
и нажата ENTER.
Что касается Win32 API, это действительно можно сделать. В функции обработки сообщений (WndProc
) вы должны следить за WM_CHAR
сообщениями. Модификаторы помогут вам увидеть, нажаты ли клавиши CTRL и SHIFT.
P.S. просто мысль, может быть, то, что вы ищете, это инструмент, подобный Autohotkey ?