|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1985, 1986 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: * ! 6: * @(#)tablet.h 7.3 (Berkeley) 12/18/87 ! 7: */ ! 8: ! 9: #ifndef _TABLET_ ! 10: /* ! 11: * Tablet line discipline. ! 12: */ ! 13: #ifdef KERNEL ! 14: #include "../h/ioctl.h" ! 15: #else ! 16: #include <sys/ioctl.h> ! 17: #endif ! 18: ! 19: /* ! 20: * Reads on the tablet return one of the following ! 21: * structures, depending on the underlying tablet type. ! 22: * The first two are defined such that a read of ! 23: * sizeof (gtcopos) on a non-gtco tablet will return ! 24: * meaningful info. The in-proximity bit is simulated ! 25: * where the tablet does not directly provide the information. ! 26: */ ! 27: struct tbpos { ! 28: int xpos, ypos; /* raw x-y coordinates */ ! 29: short status; /* buttons/pen down */ ! 30: #define TBINPROX 0100000 /* pen in proximity of tablet */ ! 31: short scount; /* sample count */ ! 32: }; ! 33: ! 34: struct gtcopos { ! 35: int xpos, ypos; /* raw x-y coordinates */ ! 36: short status; /* as above */ ! 37: short scount; /* sample count */ ! 38: short xtilt, ytilt; /* raw tilt */ ! 39: short pressure; ! 40: short pad; /* pad to longword boundary */ ! 41: }; ! 42: ! 43: struct polpos { ! 44: short p_x, p_y, p_z; /* raw 3-space coordinates */ ! 45: short p_azi, p_pit, p_rol; /* azimuth, pitch, and roll */ ! 46: short p_stat; /* status, as above */ ! 47: char p_key; /* calculator input keyboard */ ! 48: }; ! 49: ! 50: #define BIOSMODE _IOW('b', 1, int) /* set mode bit(s) */ ! 51: #define BIOGMODE _IOR('b', 2, int) /* get mode bit(s) */ ! 52: #define TBMODE 0xfff0 /* mode bits: */ ! 53: #define TBPOINT 0x0010 /* single point */ ! 54: #define TBRUN 0x0000 /* runs contin. */ ! 55: #define TBSTOP 0x0020 /* shut-up */ ! 56: #define TBGO 0x0000 /* ~TBSTOP */ ! 57: #define TBTYPE 0x000f /* tablet type: */ ! 58: #define TBUNUSED 0x0 ! 59: #define TBHITACHI 0x1 /* hitachi tablet */ ! 60: #define TBTIGER 0x2 /* hitachi tiger */ ! 61: #define TBGTCO 0x3 /* gtco */ ! 62: #define TBPOL 0x4 /* polhemus 3space */ ! 63: #define TBHDG 0x5 /* hdg-1111b, low res */ ! 64: #define TBHDGHIRES 0x6 /* hdg-1111b, high res */ ! 65: #define TBDIGI 0x7 /* gtco digi-pad, low res */ ! 66: #define TBDIGIHIRES 0x8 /* gtco digi-pad, high res */ ! 67: #define BIOSTYPE _IOW('b', 3, int) /* set tablet type */ ! 68: #define BIOGTYPE _IOR('b', 4, int) /* get tablet type*/ ! 69: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.