Skip to content

Commit

Permalink
vnc: add mouse button 6, 7, 8 support
Browse files Browse the repository at this point in the history
  • Loading branch information
metalefty committed Nov 14, 2022
1 parent 70bc5ea commit 2b0c903
Showing 1 changed file with 24 additions and 1 deletion.
25 changes: 24 additions & 1 deletion vnc/vnc.c
Original file line number Diff line number Diff line change
Expand Up @@ -547,7 +547,12 @@ lib_mod_event(struct vnc *v, int msg, long param1, long param2,
}
}
}
else if (msg >= 100 && msg <= 110) /* mouse events */
/* mouse events
*
* VNC supports up to 8 mouse buttons because mouse buttons are
* represented by 7 bits bitmask
*/
else if (msg >= WM_MOUSEMOVE && msg <= WM_BUTTON8DOWN) /* 100 to 116 */
{
switch (msg)
{
Expand Down Expand Up @@ -583,6 +588,24 @@ lib_mod_event(struct vnc *v, int msg, long param1, long param2,
case WM_BUTTON5DOWN:
v->mod_mouse_state |= 16;
break;
case WM_BUTTON6UP:
v->mod_mouse_state &= ~32;
break;
case WM_BUTTON6DOWN:
v->mod_mouse_state |= 32;
break;
case WM_BUTTON7UP:
v->mod_mouse_state &= ~64;
break;
case WM_BUTTON7DOWN:
v->mod_mouse_state |= 64;
break;
case WM_BUTTON8UP:
v->mod_mouse_state &= ~128;
break;
case WM_BUTTON8DOWN:
v->mod_mouse_state |= 128;
break;
}

init_stream(s, 8192);
Expand Down

0 comments on commit 2b0c903

Please sign in to comment.