I have found the controller’s path using SetupDiGetClassDevs(.), SetupDiEnumDeviceInfo(.), SetupDiEnumDeviceInterfaces(.) and SetupDiGetDeviceInterfaceDetail(.).I have connected the gamepad via USB with my computer (So that I can read all the USB Packages sent and received from the device).The main goal is to overcome the XINPUT overhead and writing a flexible framework so that I can integrate other gamepads as well. I have already reverse engineered the USB URB protocol with the help of the following article. But I'm stuck reading the button values using HidD_GetInputReport(HANDLE, VOID*, ULONG) or ReadFile() / ReadFileEx() with and without the HANDLE being created with FILE_FLAG_OVERLAPPED and using OVERLAPPED and Windows Events. I'm currently able to control all the rumble motors (including the force feedback triggers) by sending the packet using HidD_SetOutputReport(HANDLE, VOID*, ULONG). I am trying to talk to the XBOX ONE Controller via the Microsoft HID API without using XINPUT.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |