Могу ли я написать драйвер фильтра Windows для устройства HID, чтобы инвертировать вертикальную прокрутку? - PullRequest
3 голосов
/ 15 октября 2011

Я бы хотел эмулировать инвертированную вертикальную прокрутку OS X Lion с помощью трекпада в Windows. Интересно, можно ли было бы создать драйвер фильтра для целевого устройства HID, перехватить ... что-то ... и затем изменить значения в сообщении WM_VSCROLL? например, отправить TB_PAGEDOWN вместо TB_PAGEUP, TB_LINEDOWN вместо TB_LINEUP и т. д.

Я немного знаком с устройствами Windows DDK и HID, но я никогда раньше не пытался использовать драйвер фильтра. Возможно ли что-то подобное? Если да, есть ли у кого-нибудь конкретные советы о том, как действовать?

Мне кажется, мне нужно написать драйвер фильтра верхнего устройства.

Я нашел образец драйвера moufiltr в DDK. MouFilter_ServiceCallback выглядит как правильное место для подключения. Я надеюсь, что смогу перебрать структуры MOUSE_INPUT_DATA, переданные этой функции, а затем настроить поле ButtonData, когда для ButtonFlags установлено значение MOUSE_WHEEL.

...