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