Как настроить чтение определенной мыши при подключении двух мышей? Я пытаюсь использовать один из них в качестве датчика, а другой в качестве обычной мыши. Прямо сейчас это читает обе мыши (хотя не одновременно). Я использую модель WM_Input для регистрации и чтения.
Я нашел ответы здесь, один из постов использовал метод DirectInput для той же проблемы. Буду признателен, если вы сможете опубликовать ссылку, если на нее уже ответили. Благодарю.
void OnRawInput(bool inForeground, HRAWINPUT hRawInput){
UINT dataSize;
GetRawInputData(hRawInput, RID_INPUT, NULL, &dataSize, sizeof(RAWINPUTHEADER));
if (dataSize == 0)
return;
if (dataSize > m_RawInputMessageData.size())
m_RawInputMessageData.resize(dataSize);
void* dataBuf = &m_RawInputMessageData[0];
GetRawInputData(hRawInput, RID_INPUT, dataBuf, &dataSize, sizeof(RAWINPUTHEADER));
const RAWINPUT *raw = (const RAWINPUT*)dataBuf;
if (raw->header.dwType == RIM_TYPEMOUSE){
HANDLE deviceHandle = raw->header.hDevice;
const RAWMOUSE& mouseData = raw->data.mouse;
USHORT flags = mouseData.usButtonFlags;
short wheelDelta = (short)mouseData.usButtonData;
LONG x = mouseData.lLastX, y = mouseData.lLastY;
wprintf(L"Mouse: Device=0x%08X, Flags=%04x, WheelDelta=%d, X=%d, Y=%d\n",
deviceHandle, flags, wheelDelta, x, y);
}
Задача ещё не решена.