How can I get the Windows RAWINPUT mouse sensitivity?

  c++, mouse, winapi, windows

Taking advantage of high-resolution mouse input means getting mouse input in the native resolution of the mouse. This is good, and means that I can respond with as much resolution as the user’s mouse provides.

GetRawInputDeviceInfo looks promising, but the RID_DEVICE_INFO_MOUSE that it returns contains dwSampleRate, "the number of data points per second," which while related, is not the DPI/sensitivity of the mouse sensor.

I don’t need a precise answer, that would mean 1 inch of movement on every mouse (reporting accurate metadata) would track to the same scaled movement in my program, but I do want some decent approximation of hardware sensitivity, so that the default experience is roughly the same with either a high-resolution mouse or a standard DPI mouse.

Is this something I can get from winapi, or am I limited to just giving the user a sensitivity setting when using raw input? I’m using the C++ win32 headers, but will accept any way to get this information that’s usable in an officially supported winapi language.

Source: Windows Questions

LEAVE A COMMENT