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