summaryrefslogtreecommitdiff
path: root/hw/kdrive/vxworks/vxmouse.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/kdrive/vxworks/vxmouse.c')
-rw-r--r--hw/kdrive/vxworks/vxmouse.c124
1 files changed, 0 insertions, 124 deletions
diff --git a/hw/kdrive/vxworks/vxmouse.c b/hw/kdrive/vxworks/vxmouse.c
deleted file mode 100644
index 75ed39bd0..000000000
--- a/hw/kdrive/vxworks/vxmouse.c
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Id: vxmouse.c,v 1.1 1999/11/24 08:35:24 keithp Exp $
- *
- * Copyright © 1999 Network Computing Devices, Inc. All rights reserved.
- *
- * Author: Keith Packard
- */
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#define NEED_EVENTS
-#include <X11/X.h>
-#include <X11/Xproto.h>
-#include "inputstr.h"
-#include "scrnintstr.h"
-#include "kdrive.h"
-#include "Xpoll.h"
-#include <event.h>
-#include <smem.h>
-
-static unsigned long mouseState;
-
-#define BUTTON1 0x01
-#define BUTTON2 0x02
-#define BUTTON3 0x04
-
-#include <errno.h>
-
-static int mouseFd = -1;
-
-static eventqueue *eventQueue;
-
-void
-VxMouseRead (int mousePort)
-{
- Event ev;
- int dx, dy;
- unsigned long flags;
- unsigned long mask;
- int n;
-
- while (eventQueue->head != eventQueue->tail)
- {
- ev = *eventQueue->head;
- if (eventQueue->head >= &eventQueue->events[eventQueue->size-1])
- eventQueue->head = &eventQueue->events[0];
- else
- eventQueue->head++;
- switch (ev.e_type) {
- case E_BUTTON:
- switch (ev.e_device) {
- case E_MOUSE:
- switch (ev.e_key) {
- case BUTTON1:
- mask = KD_BUTTON_1;
- break;
- case BUTTON2:
- mask = KD_BUTTON_2;
- break;
- case BUTTON3:
- mask = KD_BUTTON_3;
- break;
- default:
- mask = 0;
- break;
- }
- if (ev.e_direction == E_KBUP)
- mouseState &= ~mask;
- else
- mouseState |= mask;
- KdEnqueueMouseEvent (mouseState | KD_MOUSE_DELTA, 0, 0);
- break;
- case E_DKB:
- KdEnqueueKeyboardEvent (ev.e_key, ev.e_direction == E_KBUP);
- break;
- }
- break;
- case E_MMOTION:
- KdEnqueueMouseEvent (mouseState | KD_MOUSE_DELTA,
- ev.e_x, ev.e_y);
- break;
- }
- }
-}
-
-int
-VxMouseInit (void)
-{
- int mousePort;
- unsigned long ev_size;
-
- mouseState = 0;
- mousePort = open ("/dev/xdev", O_RDONLY, 0);
- if (mousePort < 0)
- ErrorF ("event port open failure %d\n", errno);
- mouseFd = open ("/dev/mouse", O_RDONLY, 0);
- if (mouseFd < 0)
- ErrorF ("mouse open failure %d\n", errno);
- if (eventQueue == 0)
- {
- ioctl (mousePort, EVENT_QUEUE_SMSIZE, &ev_size);
- eventQueue = (eventqueue *) smem_get ("event", ev_size, (SM_READ|SM_WRITE));
- }
- return mousePort;
-}
-
-void
-VxMouseFini (int mousePort)
-{
- if (mousePort >= 0)
- close (mousePort);
- if (mouseFd >= 0)
- {
- close (mouseFd);
- mouseFd = -1;
- }
-}
-
-KdMouseFuncs VxWorksMouseFuncs = {
- VxMouseInit,
- VxMouseRead,
- VxMouseFini
-};