Я пытаюсь запрограммировать конкретное поведение, когда пользователь (нажимает и) отпускает левую и правую мышь одновременно. Есть ли известный способ отловить такое событие / жест. Я знаю, как перехватывать leftButtonUp и rightButtonUp, но не уверен, как я могу перехватить это событие.
Если левая кнопка нажата, а затем правая кнопка нажата с дельта-задержкой, это нормально. Когда пользователь отпускает правую кнопку / левую кнопку, и если после этого происходит отпускание другой кнопки в течение определенного времени, то такое событие должно вызываться.
В WinAPI такого события нет, но вы можете отследить его самостоятельно. WPARAM всех сообщений кнопки вниз / вверх содержит информацию о состоянии всех кнопок на момент события:
MK_LBUTTON 0x0001 The left mouse button is down.
MK_MBUTTON 0x0010 The middle mouse button is down.
MK_RBUTTON 0x0002 The right mouse button is down.
Таким образом, вам нужно отслеживать изменения и определять порог, который отфильтровывает все события, которые вы хотели бы рассматривать как «одновременный клик / отпуск»
Вам нужно будет написать свой собственный метод обработки этого. Запишите, когда была нажата первая кнопка, когда нажата другая кнопка, проверьте, не нажата ли первая кнопка и не меньше ли задержка, чем та, которую вы указали.
If GetAsyncKey(0x01) && GetAsyncKey(0x02){
DoEvent();
}