Цитата Сообщение от Patron Посмотреть сообщение
Если DirectInput при получении окном фокуса устанавливает свой кривой глобальный хук ( не вызывающий после завершения обработки нажатия следующий глобальный хук в цепочке глобальных хуков ) - то, возможно, если каждый раз устанавливать свой глобальный хук после того, как это сделал DirectInput - то всё заработает.

Проще говоря - при получении фокуса окном нужно проверить следующие варианты:

1. Установить свой хук сразу ( и проверить успешность его установки ).

2. Установить сначала вместо хука таймер на 50 мс и после получения сигнала таймера - установить хук. Пользователь вряд ли успеет нажать на клавишу быстрее чем через 50 мс после активации окна.
Я пробовал устанавливать хук при получении фокуса окном - не помогает. Наличие активного окна с подключенным директинпутом этот хук игнорирует.

С задержкой не пробовал, но это какие-то дикие костыли.

Не должен директинпут быть кривым.

Попробую инициализировать более новую версию. Ведь у меня используется интерфейс DirectInput, а не, скажем, DirectInput8, для совместимости даже с древними версиями виндовсов и дирекиксов. В принципе, функционал особо в них не менялся, но может древняя версия интерфейса как раз глючная.