>Enabling raw input either as a system-wide input sink (dwFlags = RIDEV_INPUTSINK 0x100) or only on foreground focus (default, dwFlags = 0x0) causes devices to flood the HWND's message queue with WM_INPUTs, and prevents the system from becoming idle
> [...]
>Changing the 0x04 to a 0x06 means that instead of trying to get raw input from joysticks, they get it from the keyboard instead
Why does changing the usage id fix the issue? The prior paragraph suggests the issue is with the api itself, not with a particular usage id.