Могу ли я написать драйвер фильтра Windows для устройства HID для инвертирования вертикальной прокрутки?

#windows #device-driver #wdk

#Windows #драйвер устройства #wdk

Вопрос:

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

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

Я считаю, что мне нужно написать драйвер фильтра верхнего устройства.

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