Which device to attach filter driver to for Xbox 360 controller? -
as learning exercise, i'm trying write filter driver wired xbox 360 controller on windows 7 64-bit. controller shows hid joystick, seems should straightforward.
i've made example filter driver mouse swaps left , right mouse buttons. based on moufiltr , firefly samples come wdk. however, i'm having trouble converting example work xbox 360 controller.
when plug controller in, 3 different devices appear in device manager:
- human interface devices/hid-compliant game controller
- human interface devices/usb human interface device
- common controller windows class/xbox 360 controller windows
which 1 of these should attach driver to?
with mouse filter driver, able follow installation directions firefly sample: right-click on mouse in device manager, choose "update driver." xbox 360 controller, i'm not sure device should install driver for. or talking hardware independently, , need install filter each 1 of them?
i should note i've tried attaching filter driver each of 3 devices in order print out ioctls available filter driver. "usb human interface device" filter received no ioctls.
for hid-compliant game controller, received:
- ioctl_hid_get_collection_information (multiple times)
- ioctl_hid_get_collection_descriptor (multiple times)
- ioctl_get_sys_button_caps
for xbox 360 controller windows, receive bunch of ioctls can't track down symbolic name for:
- 0x80006000 (multiple times)
- 0x8000e00c (multiple times)
- 0x8000e008
- 0x8000a010
- 0x8000e018
- 0x8000e014
unfortunately still don't know device should attempting filter. (i hoping 1 of them receiving joystick-equivalent of ioctl_internal_mouse_connect, not appear case.)
i think want filter internal ioctls (specifically ioctl_hid_get_input_report/ioctl_hid_read_report)
you have been filtering evtiodevicecontrol try evtiointernaldevicecontrol , read/get-input report ioctl, originate whatever system service wants read joystick events.
once manage filter right ioctl need @ report descriptor joystick figure out how interpret (and modify) data.
Comments
Post a Comment