Mouse. XButton1 Свойство
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает состояние первой расширенной кнопки.
Значение свойства
Состояние первой расширенной кнопки мыши.
Примеры
В следующем примере показано, как определить, нажата ли первая расширенная кнопка мыши, проверив, равно ли состояние XButton1 значения MouseButtonState Pressedперечисления. Если нажата кнопка, вызывается метод, который обновляет отображаемые элементы в образце.
Как узнать нажата XBUTTON1 или XBUTTON2?
Есть хук, который отслеживает нажатие WM_XBUTTONDOWN и WM_XBUTTONUP. Мне необходимо понять какая именно боковая кнопка мыши нажата (1-я или 2-я). Использую следующий код.
Но и GET_XBUTTON_WPARAM(wParam), и структура mouseStruct->mouseData возвращают 0.
Что я делаю не так и почему они возвращают всегда 0? Как исправить данную проблему?
![]()
Почему вы используете MOUSEHOOKSTRUCTEX ? В обработчик WH_MOUSE_LL вам передается указатель на MSLLHOOKSTRUCT . Поэтому
и вот там уже смотрим в mouseData .
Для WM_XBUTTONDOWN значения XBUTTON1 или XBUTTON2 должны передаваться в HIWORD(mouseStruct->mouseData) .
Расположение кнопок на джойстике

Игровые джойстики между собой очень похожи, они имеют стандартный набор кнопок с похожими функциями, однако, новичок может в них запутаться. Поэтому разберём стандартное расположение функциональных клавиш на джойстике.
Во всех ли джойстиках одинаковое расположение кнопок
Самые популярные игровые консоли можно разделить на две большие группы: Sony PS и Xbox. Геймпады для них несколько разнятся, но не сильно. У всех джойстиков есть стандартный набор клавиш и распледеление их по группам:

- два стика – левый и правый (или грибок);
- D-pad стрелки;
- функциональные клавиши;
- «меню» (в разных консолях называется по-разному);
- старт;
- триггеры и бамперы (находятся на торце).
Эти клавиши на геймпаде должны быть обязательно, но их название и расположение может немного меняться. Мы рассмотрим расположение кнопок на джойстике PS3.
Передняя панель геймпада
Во всей серии приставок Сони геймпады особо не менялись, поэтому разобрав на примере расположения кнопок приставки PS3, можно разобраться и в остальных моделях.
Базовые клавиши находятся на передней панели геймпада.
- D-pad. Эта группа расположена в левой части джойстика и представляет собой стрелки управления героем и курсором.
- Функциональные кнопки. Находятся в правой части: крестик, квадратик, круг и треугольник. В разных играх они представляют разные функции, поэтому перед началом игры нужно зайти в настройки и посмотреть их функциональность.
- Select ставит игру на паузу, делая переход в меню.
- Start – запускает игру, ставит её на паузу, открывает дополнительное меню.
- PS позволяет выйти во внутрисистемное меню.

Стикам стоит уделить отдельное внимание. Каждый из них имеет двойную функцию: вращение и нажатие. Вообще, стики обозначаются буквами L и R. Соответственно левый стик (left) и правый (right). Если игра требует L3 или R3 нужно нажать на соответствующий стик.
Кнопки на торце джойстика
На торце геймпада находится 4 клавиши.
- L1 и L2;
- R1 и R

Их функции разнятся в зависимости от вида игры. Главное, знать их обозначения, и тогда разобраться в их назначении будет несложно с помощью инструкции.