|
|
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.