Я пишу небольшую программу для эмуляции мыши с моим контроллером Xbox 360. Я успешно реализовал движение курсора, но столкнулся с трудностями при нажатии.
Вот фрагмент моего кода:
while (msg.message != WM_QUIT) {
if (PeekMessage(&msg, nullptr, 0, 0, PM_REMOVE)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
} else {
...
if (state.Gamepad.wButtons & XINPUT_GAMEPAD_A) {
PostMessage(HWND_BROADCAST, WM_LBUTTONDOWN, 0, MAKEWORD(new_x, new_y));
}
...
}
}
Я не уверен на 100%, что это правильный подход, но я пытаюсь отправить сообщение WM_LBUTTONDOWN
всем окнам верхнего уровня, когда нажата кнопка A . Но когда я помещаю курсор мыши, скажем, на кнопку и нажимаю A , кнопка мигает, как если бы она была нажата, но тогда ничего не происходит.
Если кто-нибудь может указать мне правильное направление или предложить альтернативный способ сделать это, я был бы очень признателен!