2
* Id: vxmouse.c,v 1.1 1999/11/24 08:35:24 keithp Exp $
4
* Copyright � 1999 Network Computing Devices, Inc. All rights reserved.
6
* Author: Keith Packard
10
#include <kdrive-config.h>
14
#include <X11/Xproto.h>
16
#include "scrnintstr.h"
22
static unsigned long mouseState;
30
static int mouseFd = -1;
32
static eventqueue *eventQueue;
35
VxMouseRead (int mousePort)
43
while (eventQueue->head != eventQueue->tail)
45
ev = *eventQueue->head;
46
if (eventQueue->head >= &eventQueue->events[eventQueue->size-1])
47
eventQueue->head = &eventQueue->events[0];
52
switch (ev.e_device) {
68
if (ev.e_direction == E_KBUP)
72
KdEnqueueMouseEvent (mouseState | KD_MOUSE_DELTA, 0, 0);
75
KdEnqueueKeyboardEvent (ev.e_key, ev.e_direction == E_KBUP);
80
KdEnqueueMouseEvent (mouseState | KD_MOUSE_DELTA,
91
unsigned long ev_size;
94
mousePort = open ("/dev/xdev", O_RDONLY, 0);
96
ErrorF ("event port open failure %d\n", errno);
97
mouseFd = open ("/dev/mouse", O_RDONLY, 0);
99
ErrorF ("mouse open failure %d\n", errno);
102
ioctl (mousePort, EVENT_QUEUE_SMSIZE, &ev_size);
103
eventQueue = (eventqueue *) smem_get ("event", ev_size, (SM_READ|SM_WRITE));
109
VxMouseFini (int mousePort)
120
KdMouseFuncs VxWorksMouseFuncs = {