No empty .Rs/.Re
[netbsd-mini2440.git] / sys / arch / vax / include / qevent.h
blobf98ab9b2db61702b3422899e1c7aea0da05c85bd
1 /* $NetBSD: qevent.h,v 1.1.48.3 2004/09/21 13:23:43 skrll Exp $ */
2 /*-
3 * Copyright (c) 1982, 1986 The Regents of the University of California.
4 * All rights reserved.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. Neither the name of the University nor the names of its contributors
15 * may be used to endorse or promote products derived from this software
16 * without specific prior written permission.
18 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 * SUCH DAMAGE.
30 * @(#)qevent.h 7.1 (Berkeley) 5/9/91
33 /************************************************************************
34 * *
35 * Copyright (c) 1985 by *
36 * Digital Equipment Corporation, Maynard, MA *
37 * All rights reserved. *
38 * *
39 * This software is furnished under a license and may be used and *
40 * copied only in accordance with the terms of such license and *
41 * with the inclusion of the above copyright notice. This *
42 * software or any other copies thereof may not be provided or *
43 * otherwise made available to any other person. No title to and *
44 * ownership of the software is hereby transferred. *
45 * *
46 * The information in this software is subject to change without *
47 * notice and should not be construed as a commitment by Digital *
48 * Equipment Corporation. *
49 * *
50 * Digital assumes no responsibility for the use or reliability *
51 * of its software on equipment which is not supplied by Digital. *
52 * *
53 ************************************************************************/
56 * Event queue entries
59 #ifndef _QEVENT_
60 #define _QEVENT_
62 typedef struct _vs_event {
63 unsigned short vse_x; /* x position */
64 unsigned short vse_y; /* y position */
65 unsigned short vse_time;/* 10 millisecond units (button only) */
66 char vse_type; /* button or motion? */
67 unsigned char vse_key; /* the key (button only) */
68 char vse_direction; /* which direction (button only) */
69 char vse_device; /* which device (button only) */
70 } vsEvent;
72 /* vse_type field */
73 #define VSE_BUTTON 0 /* button moved */
74 #define VSE_MMOTION 1 /* mouse moved */
75 #define VSE_TMOTION 2 /* tablet moved */
77 /* vse_direction field */
78 #define VSE_KBTUP 0 /* up */
79 #define VSE_KBTDOWN 1 /* down */
80 #define VSE_KBTRAW 2 /* undetermined */
82 /* vse_device field */
83 #define VSE_NULL 0 /* NULL event (for QD_GETEVENT ret) */
84 #define VSE_MOUSE 1 /* mouse */
85 #define VSE_DKB 2 /* main keyboard */
86 #define VSE_TABLET 3 /* graphics tablet */
87 #define VSE_AUX 4 /* auxiliary */
88 #define VSE_CONSOLE 5 /* console */
90 /* The event queue */
92 typedef struct _vs_eventqueue {
93 vsEvent *events; /* input event buffer */
94 int size; /* size of event buffer */
95 int head; /* index into events */
96 int tail; /* index into events */
97 } vsEventQueue;
99 /* mouse cursor position */
101 typedef struct _vs_cursor {
102 short x;
103 short y;
104 } vsCursor;
106 /* mouse motion rectangle */
108 typedef struct _vs_box {
109 short bottom;
110 short right;
111 short left;
112 short top;
113 } vsBox;
115 #endif /*_QEVENT_*/