3

I would like to emulate OS X Lion's inverted vertical scrolling using a trackpad on Windows. I wonder if it would be possible to create a filter driver for a target HID device, intercept ... something ... and then reverse the values in the WM_VSCROLL message? e.g., send TB_PAGEDOWN instead of TB_PAGEUP, TB_LINEDOWN instead of TB_LINEUP, etc.

I have some familiarity with the Windows DDK and HID devices, but I've never attempted a filter driver before. Is something like this possible? If so, does anyone have some specific advice on how to proceed?

I believe I need to write an upper device filter driver.

I found the moufiltr driver sample in the DDK. The MouFilter_ServiceCallback looks like the right place to hook into. I'm hoping to be able to loop through the MOUSE_INPUT_DATA structs passed to this function and then tweak the ButtonData field when ButtonFlags has MOUSE_WHEEL set.

Andy S
  • 8,641
  • 6
  • 36
  • 40

0 Answers0