Как без фокуса записывать ввод G-Key с помощью Logitech G-Key Macro SDK?

Я реализовал проверку нажатия G-клавиш в приложении Windows Forms (C #) с помощью Logitech G-Key Macro SDK. В частности, с использованием класса-оболочки и прилагаемого LogitechGkeyEnginesWrapper.dll в точности так, как это предлагается в документации (включенной в SDK).

Это отлично работает, когда мое приложение находится в фокусе, и когда в фокусе находятся любые дочерние окна. Я могу проверить с помощью обратного вызова или вызова обновления (как предлагается в документации), но ни одна из них не работает, когда мое приложение не имеет фокуса.

Я надеюсь захватить этот ввод (только G-клавиш) вне фокуса приложения (глобального). Я не верю, что эти клавиши отправляют скан-код, и для получения состояния этой клавиши клавиатуры / мыши требуется G-Key Macro SDK.

Любая помощь будет принята с благодарностью. Я отправил электронное письмо в службу поддержки разработчиков Logitech по этому поводу, но в настоящее время не получил ничего обратно.

Ссылка на страницу разработчиков Logitech: http://gaming.logitech.com/en-au/developers < / а>


person aaronedmistone    schedule 03.07.2017    source источник
comment
См.: stackoverflow.com/questions/3312752/   -  person Bender Bending    schedule 03.07.2017
comment
Спасибо, но это не обычная клавиша клавиатуры. Он не отправляет скан-код и не может быть захвачен таким способом (IIRC).   -  person aaronedmistone    schedule 12.03.2018


Ответы (1)


После обращения в службу поддержки Logitech G Developer они ответили следующим образом:

Вы правы в том, что G-клавиши не работают, когда приложение теряет фокус. В настоящее время нет никакого способа обойти это, поскольку наше обоснование дизайна состоит в том, что стороннее приложение не должно быть в состоянии читать нажатия клавиш текущего рассматриваемого приложения.

Таким образом, объем данных G-ключей по замыслу привязан к рассматриваемому приложению.

person aaronedmistone    schedule 11.03.2018