Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/arch/usermode report rfb pointer events



details:   https://anonhg.NetBSD.org/src/rev/386ac9e36d4f
branches:  trunk
changeset: 772356:386ac9e36d4f
user:      jmcneill <jmcneill%NetBSD.org@localhost>
date:      Fri Dec 30 20:08:00 2011 +0000

description:
report rfb pointer events

diffstat:

 sys/arch/usermode/include/thunk.h  |   7 ++++++-
 sys/arch/usermode/usermode/thunk.c |  19 ++++++++++++++++---
 2 files changed, 22 insertions(+), 4 deletions(-)

diffs (61 lines):

diff -r 7153f89abd44 -r 386ac9e36d4f sys/arch/usermode/include/thunk.h
--- a/sys/arch/usermode/include/thunk.h Fri Dec 30 19:32:32 2011 +0000
+++ b/sys/arch/usermode/include/thunk.h Fri Dec 30 20:08:00 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: thunk.h,v 1.52 2011/12/30 14:20:34 jmcneill Exp $ */
+/* $NetBSD: thunk.h,v 1.53 2011/12/30 20:08:00 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2011 Jared D. McNeill <jmcneill%invisible.ca@localhost>
@@ -187,6 +187,11 @@
                        uint8_t         down_flag;
                        uint32_t        keysym;
                } key_event;
+               struct {
+                       uint8_t         button_mask;
+                       uint16_t        absx;
+                       uint16_t        absy;
+               } pointer_event;
        } data;
 } thunk_rfb_event_t;
 
diff -r 7153f89abd44 -r 386ac9e36d4f sys/arch/usermode/usermode/thunk.c
--- a/sys/arch/usermode/usermode/thunk.c        Fri Dec 30 19:32:32 2011 +0000
+++ b/sys/arch/usermode/usermode/thunk.c        Fri Dec 30 20:08:00 2011 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: thunk.c,v 1.66 2011/12/30 14:20:34 jmcneill Exp $ */
+/* $NetBSD: thunk.c,v 1.67 2011/12/30 20:08:00 jmcneill Exp $ */
 
 /*-
  * Copyright (c) 2011 Jared D. McNeill <jmcneill%invisible.ca@localhost>
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 #ifdef __NetBSD__
-__RCSID("$NetBSD: thunk.c,v 1.66 2011/12/30 14:20:34 jmcneill Exp $");
+__RCSID("$NetBSD: thunk.c,v 1.67 2011/12/30 20:08:00 jmcneill Exp $");
 #endif
 
 #include <sys/types.h>
@@ -1216,7 +1216,20 @@
                msg_len = 0;
                break;
        case THUNK_RFB_POINTER_EVENT:
-               msg_len = sizeof(pointer_event);
+               recv(rfb->clientfd, pointer_event, sizeof(pointer_event),
+                   MSG_NOSIGNAL);
+               event->data.pointer_event.button_mask = pointer_event[0];
+               event->data.pointer_event.absx =
+                   ntohs(*(uint16_t *)&pointer_event[1]);
+               event->data.pointer_event.absy =
+                   ntohs(*(uint16_t *)&pointer_event[3]);
+#ifdef RFB_DEBUG
+               fprintf(stdout, "rfb: pointer mask %02x abs %dx%d\n",
+                   event->data.pointer_event.button_mask,
+                   event->data.pointer_event.absx,
+                   event->data.pointer_event.absy);
+#endif
+               msg_len = 0;
                break;
        case THUNK_RFB_CLIENT_CUT_TEXT:
                recv(rfb->clientfd, client_cut_text, sizeof(client_cut_text),



Home | Main Index | Thread Index | Old Index