Как и ожидалось, две дополнительные кнопки на всех мышах отправляют сообщения XBUTTON1 и XBUTTON2. Однако с эргономичной мышью Sculpt кнопка Windows не отправляет это. Видимо, он отправляет правильный ключ Windows. Мне нужно исправить это так, чтобы он отправлял XBUTTON2.
Мне удалось отключить кнопку Windows от выполнения каких- либо действий, выполнив следующие действия: Перепривязать Microsoft Sculpt Mobile Mouse (ключ Windows) - но это полностью отключает кнопку Windows на мыши и не обеспечивает ее нормальную работу, как на всех остальных пяти кнопках. мышей. Стоит отправить XBUTTON2
.
Однако мне нужно, чтобы он функционировал как XBUTTON2.
Вот подробное объяснение:
Я разработчик программного обеспечения. Я купил эргономичную мышь Sculpt, потому что она имеет пять кнопок (и горизонтальную прокрутку), поэтому она позволяет мне проверять все сообщения кнопок. Это особенно помогает мне чувствовать себя комфортно, пока я пишу мышью.
Сообщения кнопок отображаются здесь для подключения мыши: https://msdn.microsoft.com/en-us/library/windows/desktop/ms644986.aspx
Поле mouseData устанавливается в соответствии с кнопкой мыши:
- Нажатие левой кнопки мыши отправляет сообщение:
WM_LBUTTONDOWN
- Правая кнопка мыши:
WM_RBUTTONDOWN
- Средняя кнопка мыши:
WM_MBUTTONDOWN
- Боковая кнопка мыши:
WM_XBUTTONDOWN
и мы видим в структуре MSLLHOOKSTRUCT: https://msdn.microsoft.com/en-us/library/windows/desktop/ms644970.aspx?f=255&MSPPError=-2147217396 - это поле mouseData -XBUTTON1
- Теперь проблема - кнопка мыши Windows ничего не отправляет - я ожидаю, что она отправит сообщение
WM_XBUTTONDOWN
с даннымиXBUTTON2
(обратите внимание на 2)
Вот график, чтобы объяснить пункты маркированного списка:
Зеленая стрелка и облако текста показывают, что это так, и это то, что я ожидаю. Красная стрелка и облако текста - это то, что я ожидаю от кнопки мыши Windows, но это не так. Кто-нибудь может помочь мне заставить эту кнопку мыши работать, как и ожидалось, с точки зрения winapi?