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