Как я могу захватить ввод G-Key, используя Logitech G-Key Macro SDK без фокуса?
Я реализовал проверку на нажатие клавиш G в приложении Windows Forms (C#) с помощью SDK Logitech G-Key Macro. В частности, использование класса-оболочки и поставляемого LogitechGkeyEnginesWrapper.dll в точности так, как это предлагается в документации (входит в SDK).
Это прекрасно работает, когда мое приложение имеет фокус, и когда любое дочернее окно имеет фокус. Я могу проверить с помощью обратного вызова или обновления вызова (как предложено в документации), но ни одна из них не работает, когда мое приложение не имеет фокуса.
Я надеюсь захватить этот ввод (только для G-ключей) за пределами фокуса приложения (глобального). Я не верю, что эти клавиши отправляют код сканирования, и G-Key Macro SDK необходим для получения состояния этой клавиши клавиатуры / мыши.
Любая помощь будет принята с благодарностью. Я отправил письмо в службу поддержки Logitech Dev по этому поводу, но в настоящее время ничего не получил.
Ссылка на страницу разработчиков Logitech: http://gaming.logitech.com/en-au/developers
1 ответ
Обратившись в службу поддержки Logitech G Developer, они ответили:
Вы правы в том, что G-клавиши не работают, когда приложение теряет фокус. В настоящее время нет никакого способа обойти это, поскольку наше обоснование дизайна заключается в том, что стороннее приложение не должно иметь возможность считывать нажатия клавиш текущего рассматриваемого приложения.
Таким образом, объем данных G-клавиш по своей конструкции привязан к конкретному приложению.