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