|
|
1.1 root 1: /* (-lgl
2: * COHERENT 386 Device Driver Kit release 2.0
3: * Copyright (c) 1982, 1992 by Mark Williams Company.
4: * All rights reserved. May not be copied without permission.
5: -lgl) */
6: /*
7: * Header for Microsoft mouse driver
8: */
9:
10: /*
11: * ioctl function definitions
12: */
13: #ifndef __SYS_MS_H__
14: #define __SYS_MS_H__
15:
16: #define MS_SETUP 0
17: #define MS_SETCRS 1
18: #define MS_READCRS 2
19: #define MS_SETMICK 3
20: #define MS_READMICK 4
21: #define MS_READBTNS 5
22: #define MS_READSTAT 6
23: #define MS_WAIT 7
24:
25: /* the third argument to ioctl is a pointer defined by */
26: /* one of the following structures: */
27:
28: /* setup (function 0) uses a (struct msparms *) */
29: struct msparms {
30: int accel_t; /* fast motion threshold */
31: int h_cmin; /* min cursor value, horiz. */
32: int h_cmax; /* max cursor value, horiz. */
33: int v_cmin; /* min cursor value, vert. */
34: int v_cmax; /* max cursor value, vert. */
35: int h_mpr; /* horiz mickey/8-pixel ratio */
36: int v_mpr; /* vert mickey/8-pixel ratio */
37: };
38:
39: /* setcrs(function 1) & readcrs(function 2) use a (struct mspos *) */
40: /* setmick(function 3) & readmick(function 4) use a (struct mspos *) */
41: struct mspos {
42: int h_crsr; /* horiz cursor position */
43: int v_crsr; /* vert cursor position */
44: };
45:
46: /* offset names used for mickey structure - same as cursor structure */
47: #define msmick mspos
48: #define h_mick h_crsr
49: #define v_mick v_crsr
50:
51: /* readbtns(function 5) uses a (struct msbuts *) */
52: struct msbuts {
53: int bbstat; /* button status left=bit0 right=bit1 */
54: struct {
55: int cnt; /* button press/release count */
56: struct mspos bpos; /* button cursor */
57: } buts[4]; /* left pressed, released */
58: /* right pressed, released */
59: };
60:
61: /* "bbstat" inside the above structure indicates whether or not the buttons */
62: /* are depressed. The bits are as follows: */
63:
64: #define MS_L_DOWN 0x01
65: #define MS_R_DOWN 0x02
66:
67: /* the offsets into the "buts" array within the above structure are: */
68: #define MS_B_L_PRESS 0
69: #define MS_B_L_RELEASE 1
70: #define MS_B_R_PRESS 2
71: #define MS_B_R_RELEASE 3
72:
73: /* readstat(function 6) & wait(function 7) use an (int *) */
74: /* the Status bits are defined as follows: */
75:
76: #define MS_S_MOVE 0x01
77: #define MS_S_L_PRESS 0x02
78: #define MS_S_L_RELEASE 0x04
79: #define MS_S_R_PRESS 0x08
80: #define MS_S_R_RELEASE 0x10
81: #define MS_S_BUTTONS 0x1e
82:
83: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.