![nvidia shield controller xinput nvidia shield controller xinput](https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/clans/36264782/5cf9e7c9cc7355d2f38bdee6752a7b234c5e0e29.png)
So theoretically it should be supported by generic Windows drivers, but it wasn't being detected by DirectInput.īy playing with the vhidmini driver from the DDK which provides a virtual HID device, I managed to find what prevented the detection inside the HID Report Descriptor:Ġx09, 0x34, /* Usage (Ry), */ 0x81, 0x02, /* Input (Variable), */ 0xC0, /* End Collection, */ //0xA1, 0x01, /* Collection (Application), */ // <= The root cause was this "output collection" part of the same report //0x19, 0x01, /* Usage Minimum (01h), */ //0x29, 0x03, /* Usage Maximum (03h), */ //0x26, 0xFF, 0xFF, /* Logical Maximum (-1), */ //0x95, 0x03, /* Report Count (3), */ //0x75, 0x10, /* Report Size (16), */ //0x91, 0x02, /* Output (Variable), */ //0xC0, /* End Collection, */ 0xC0, /* End Collection, */ 0x05, 0x01, /* Usage Page (Desktop), */ 0x09, 0x02, /* Usage (Mouse), */Ĭommenting those lines made the virtual device show up in the game controller applet of the configuration panel. The controller is a HID-compliant game controller, it's supported out-of-the-box on Linux and applications accessing it through raw HID. I've bought Tegra hardware (nVidia Shield tablet and Jetson) and used to applaud their open source efforts, but screwing their game controller buyers like this makes me regret my decision. Excluding AMD and Intel graphics card owners has made a lot of people extremely displeased. NVIDIA previously released a driver that was bundled with GeForce Experience and only usable by NVIDIA graphics card users, and also suffered from a variety of issues according to forum discussions. It also emulates a force feedback device for rumble support in both DirectInput and Xinput games, tweaks the input data of the trackpad to make it usable, and adds support for the volume increment/decrement buttons. This small USB filter driver intercepts and tweaks the HID Report Descriptor to make DirectInput detect it as a gamepad. Support is planned but until then, the new model is already partially supported out-of-the-box by the generic Windows driver. IMPORTANT: this driver doesn't support the 2017 Shield Controller yet.