Files
seta75D 2e8a93c394 Init
2021-10-11 18:20:23 -03:00

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*/