diff options
Diffstat (limited to 'vnc.c')
-rw-r--r-- | vnc.c | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -392,10 +392,18 @@ static gboolean button_cb(GtkWidget *widget, GdkEventButton *event, gpointer data) { struct vnc_window *vnc = data; - - if (vnc->debug) - fprintf(stderr,"%s: called\n", __FUNCTION__); - SendPointerEvent(vnc->client, event->x, event->y, event->state); + int rfbstate = 0; + + if (event->state & Button1Mask) + rfbstate |= rfbButton1Mask; + if (event->state & Button2Mask) + rfbstate |= rfbButton2Mask; + if (event->state & Button3Mask) + rfbstate |= rfbButton4Mask; + if (1 || vnc->debug) + fprintf(stderr,"%s: +%lf+%lf x11state 0x%x rfbstate 0x%x\n", __FUNCTION__, + event->x, event->y, event->state, rfbstate); + SendPointerEvent(vnc->client, event->x, event->y, rfbstate); return TRUE; } |