Есть ли способ узнать, какая клавиша Enter была нажата? Требуется ли драйвер низкого уровня или что-то подобное? ОС знает, какая Enter была нажата?
Я на Windows, и я попробовал Carnac, но он только говорит мне, была ли нажата Enter или нет.
Если вы имеете в виду цифровую клавиатуру, сценарии в AutoHotkey будут запускаться / обнаруживаться отдельно для Enter и для NumPadEnter
В зависимости от того, что вы хотите сделать, вы можете запускать их по отдельности, но позволить нажатию клавиши перейти к исходному приложению, используя тильду перед определением горячей клавиши, а затем выполнить последующее действие сбоку (параллельно ) с отправкой нажатия клавиши в приложение (отправка сообщения, запись в журнал и т. д.)
Насколько я знаю, оба ключа ввода имеют одинаковый код сканирования (VK_RETURN
). Я думаю, что ключ numpad можно определить, проверив lParam
например, из сообщения WM_KEYDOWN
.
Ключи Numpad, вероятно, собираются установить для "расширенного" бита (бит 24) значение 1. Таким образом, операция AND (lParam & x1000000)
будет проверять этот бит.
https://msdn.microsoft.com/en-us/library/windows/desktop/ms646280(v=vs.85).aspx
Вот как это видит Windows, но она может не отображаться во многих программах в стиле горячих клавиш.