1 /* $NetBSD: qevent.h,v 1.1.48.3 2004/09/21 13:23:43 skrll Exp $ */
3 * Copyright (c) 1982, 1986 The Regents of the University of California.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
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
30 * @(#)qevent.h 7.1 (Berkeley) 5/9/91
33 /************************************************************************
35 * Copyright (c) 1985 by *
36 * Digital Equipment Corporation, Maynard, MA *
37 * All rights reserved. *
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. *
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. *
50 * Digital assumes no responsibility for the use or reliability *
51 * of its software on equipment which is not supplied by Digital. *
53 ************************************************************************/
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) */
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 */
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 */
99 /* mouse cursor position */
101 typedef struct _vs_cursor
{
106 /* mouse motion rectangle */
108 typedef struct _vs_box
{