4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
23 * Copyright 2004 Sun Microsystems, Inc. All rights reserved.
24 * Use is subject to license terms.
28 * Software mouse registers
34 #pragma ident "%Z%%M% %I% %E% SMI" /* SunOS4.0 4.24 */
37 #include <sys/types.h>
38 #include <sys/types32.h>
48 char mi_x
; /* current X coordinate */
49 char mi_y
; /* current Y coordinate */
50 char mi_z
; /* current wheel */
51 char mi_buttons
; /* set of buttons that are currently down */
52 #define MS_HW_BUT1 0x4 /* left button position */
53 #define MS_HW_BUT2 0x2 /* middle button position */
54 #define MS_HW_BUT3 0x1 /* right button position */
55 struct timeval32 mi_time
; /* timestamp */
59 * Circular buffer storing mouse events.
62 short mb_size
; /* size (in mouseinfo units) of buf */
63 short mb_off
; /* current offset in buffer */
64 struct mouseinfo mb_info
[1]; /* however many samples */
68 struct mousebuf
*ms_buf
; /* pointer to mouse buffer */
69 short ms_bufbytes
; /* buffer size (in bytes) */
70 short ms_flags
; /* currently unused */
71 short ms_oldoff
; /* index into mousebuf */
72 short ms_eventstate
; /* current event being generated */
73 short ms_readformat
; /* format of read stream */
74 #define MS_3BYTE_FORMAT VUID_NATIVE /* 3 byte format (buts/x/y) */
75 #define MS_VUID_FORMAT VUID_FIRM_EVENT /* vuid Firm_event format */
76 short ms_vuidaddr
; /* vuid addr for MS_VUID_FORMAT */
77 char ms_prevbuttons
; /* button state as of last message */
81 #define EVENT_X 0 /* generating delta-X event */
82 #define EVENT_Y 1 /* generating delta-Y event */
83 #define EVENT_BUT1 2 /* generating button 1 event */
84 #define EVENT_BUT2 3 /* generating button 2 event */
85 #define EVENT_BUT3 4 /* generating button 3 event */
86 #define EVENT_BUT4 5 /* generating button 4 event */
87 #define EVENT_BUT5 6 /* generating button 5 event */
88 #define EVENT_BUT6 7 /* generating button 6 event */
89 #define EVENT_BUT7 8 /* generating button 7 event */
90 #define EVENT_BUT8 9 /* generating button 8 event */
91 #define EVENT_BUT9 10 /* generating button 9 event */
92 #define EVENT_BUT10 11 /* generating button 10 event */
93 #define EVENT_WHEEL 12 /* generating wheel event */
95 #define EVENT_BUT(i) (i + 1)
98 #define MSIOGETBUF _IOWR('m', 1, int) /* MSIOGETBUF is OBSOLETE */
99 /* Get mouse buffer ptr so (window system in particular) can chase */
100 /* around buffer to get events. */
107 #endif /* _SYS_MSREG_H */