62 lines
1.8 KiB
C
62 lines
1.8 KiB
C
/* @(#)msreg.h 1.1 92/07/30 SMI */
|
|
|
|
/*
|
|
* Copyright (c) 1987 by Sun Microsystems, Inc.
|
|
*/
|
|
|
|
/*
|
|
* Software mouse registers
|
|
*/
|
|
|
|
#ifndef _sundev_msreg_h
|
|
#define _sundev_msreg_h
|
|
|
|
/*
|
|
* Mouse sample.
|
|
*/
|
|
struct mouseinfo {
|
|
char mi_x; /* current X coordinate */
|
|
char mi_y; /* current Y coordinate */
|
|
char mi_buttons; /* set of buttons that are currently down */
|
|
#define MS_HW_BUT1 0x4 /* left button position */
|
|
#define MS_HW_BUT2 0x2 /* middle button position */
|
|
#define MS_HW_BUT3 0x1 /* right button position */
|
|
struct timeval mi_time; /* timestamp */
|
|
};
|
|
|
|
/*
|
|
* Circular buffer storing mouse events.
|
|
*/
|
|
struct mousebuf {
|
|
short mb_size; /* size (in mouseinfo units) of buf */
|
|
short mb_off; /* current offset in buffer */
|
|
struct mouseinfo mb_info[1]; /* however many samples */
|
|
};
|
|
|
|
struct ms_softc {
|
|
struct mousebuf *ms_buf; /* pointer to mouse buffer */
|
|
short ms_bufbytes; /* buffer size (in bytes) */
|
|
short ms_flags; /* currently unused */
|
|
short ms_oldoff; /* index into mousebuf */
|
|
short ms_eventstate; /* current event being generated */
|
|
short ms_readformat; /* format of read stream */
|
|
#define MS_3BYTE_FORMAT VUID_NATIVE /* 3 byte format (buts/x/y) */
|
|
#define MS_VUID_FORMAT VUID_FIRM_EVENT /* vuid Firm_event format */
|
|
short ms_vuidaddr; /* vuid addr for MS_VUID_FORMAT */
|
|
char ms_prevbuttons; /* button state as of last message sent upstream */
|
|
};
|
|
|
|
#define EVENT_X 0 /* generating delta-X event */
|
|
#define EVENT_Y 1 /* generating delta-Y event */
|
|
#define EVENT_BUT1 2 /* generating button 1 event */
|
|
#define EVENT_BUT2 3 /* generating button 2 event */
|
|
#define EVENT_BUT3 4 /* generating button 3 event */
|
|
|
|
#ifdef KERNEL
|
|
#define MSIOGETBUF _IOWR(m, 1, int)/* MSIOGETBUF is OBSOLETE */
|
|
/* Get mouse buffer ptr so (window system in particular) can chase
|
|
around buffer to get events. */
|
|
#endif
|
|
|
|
#endif /*!_sundev_msreg_h*/
|