Resolve KASM-2346 "Feature/ extend mouse buttons"

This commit is contained in:
Matthew McClaskey 2022-10-14 17:28:02 +00:00
parent 0ef8a51945
commit 99c1e10789
4 changed files with 13 additions and 11 deletions

View File

@ -225,7 +225,7 @@ void SMsgReader::readKeyEvent()
void SMsgReader::readPointerEvent()
{
int mask = is->readU8();
int mask = is->readU16();
int x = is->readU16();
int y = is->readU16();
int scrollX = is->readS16();

View File

@ -1634,13 +1634,15 @@ On a conventional mouse, buttons 1, 2 and 3 correspond to the left,
middle and right buttons on the mouse. On a wheel mouse, each step of
the wheel is represented by a press and release of a certain button.
Button 4 means up, button 5 means down, button 6 means left and
button 7 means right.
button 7 means right. Some pointer devices support additional buttons.
Button 8 is typically the back button and button 9 is typically the
forward button.
=============== ==================== ========== =======================
No. of bytes Type [Value] Description
=============== ==================== ========== =======================
1 ``U8`` 5 *message-type*
1 ``U8`` *button-mask*
1 ``U16`` *button-mask*
2 ``U16`` *x-position*
2 ``U16`` *y-position*
=============== ==================== ========== =======================

@ -1 +1 @@
Subproject commit cac1f25ce4a5b866ac57ed62b682e89f1ce0dc92
Subproject commit 26c97c1dd3b52f80af198fd05062ccd04d716f7d

View File

@ -6,12 +6,12 @@
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this software; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
@ -50,7 +50,7 @@ extern const unsigned int code_map_qnum_to_xorgevdev_len;
extern const unsigned short code_map_qnum_to_xorgkbd[];
extern const unsigned int code_map_qnum_to_xorgkbd_len;
#define BUTTONS 7
#define BUTTONS 10
/* Event queue is shared between all devices. */
#if XORG < 111
@ -337,8 +337,8 @@ static int vncPointerProc(DeviceIntPtr pDevice, int onoff)
InitValuatorAxisStruct(pDevice, 2, axes_labels[2], NO_AXIS_LIMITS, NO_AXIS_LIMITS, 0, 0, 0, Relative);
InitValuatorAxisStruct(pDevice, 3, axes_labels[3], NO_AXIS_LIMITS, NO_AXIS_LIMITS, 0, 0, 0, Relative);
char* envScrollFactorH = getenv("SCROLL_FACTOR_H");
char* envScrollFactorV = getenv("SCROLL_FACTOR_V");
char* envScrollFactorH = getenv("SCROLL_FACTOR_H");
char* envScrollFactorV = getenv("SCROLL_FACTOR_V");
float scrollFactorH = envScrollFactorH ? atof(envScrollFactorH) : 50.0;
float scrollFactorV = envScrollFactorV ? atof(envScrollFactorV) : 50.0;
@ -552,12 +552,12 @@ static void vncKeysymKeyboardEvent(KeySym keysym, int down)
return;
}
/*
/*
* Since we are checking the current state to determine if we need
* to fake modifiers, we must make sure that everything put on the
* input queue is processed before we start. Otherwise, shift may be
* stuck down.
*/
*/
mieqProcessInputEvents();
state = vncGetKeyboardState();