У меня есть система, в которой у меня несколько клавиатур, и мне действительно нужно знать, с какой клавиатуры происходит нажатие клавиши. Чтобы объяснить настройку:
- У меня обычный компьютер и клавиатура USB
- У меня есть внешний экран VGA с некоторыми жесткими клавишами
- Жесткие клавиши отображаются как стандартная клавиатура USB, отправляя ограниченное количество кодов клавиш (F1, F2, Return, + и -)
У меня есть низкоуровневая ловушка (в C #, но на самом деле вызывающая функциональность Win32), которая может обрабатывать ввод, даже когда мое приложение не сфокусировано.
Проблема в том, что при использовании обычной клавиатуры некоторые из отображенных кодов клавиш воспринимаются приложением на внешнем экране. Одно из нажатий клавиш, отправляемых внешним экраном и используемых для подтверждения, - VK_RETURN. Если я не могу определить «устройство» и отфильтровать его, пользователь может выполнять действия и подтверждать их на экране, на которые они даже не смотрят.
Как узнать, какая клавиатура была ответственна за нажатие клавиши?