|
|
1.1 ! root 1: /*- ! 2: * Copyright (c) 1992, 1993 Erik Forsberg. ! 3: * All rights reserved. ! 4: * ! 5: * Redistribution and use in source and binary forms, with or without ! 6: * modification, are permitted provided that the following conditions ! 7: * are met: ! 8: * 1. Redistributions of source code must retain the above copyright ! 9: * notice, this list of conditions and the following disclaimer. ! 10: * ! 11: * THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY EXPRESS OR IMPLIED ! 12: * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ! 13: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN ! 14: * NO EVENT SHALL I BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, ! 15: * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, ! 16: * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR ! 17: * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF ! 18: * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING ! 19: * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS ! 20: * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ! 21: */ ! 22: ! 23: struct mouseinfo { ! 24: unsigned char status; ! 25: char xmotion, ymotion; ! 26: }; ! 27: ! 28: #define BUTSTATMASK 0x07 /* Any mouse button down if any bit set */ ! 29: #define BUTCHNGMASK 0x38 /* Any mouse button changed if any bit set */ ! 30: ! 31: #define BUT3STAT 0x01 /* Button 3 down if set */ ! 32: #define BUT2STAT 0x02 /* Button 2 down if set */ ! 33: #define BUT1STAT 0x04 /* Button 1 down if set */ ! 34: #define BUT3CHNG 0x08 /* Button 3 changed if set */ ! 35: #define BUT2CHNG 0x10 /* Button 2 changed if set */ ! 36: #define BUT1CHNG 0x20 /* Button 1 changed if set */ ! 37: #define MOVEMENT 0x40 /* Mouse movement detected */ ! 38: ! 39: /* Ioctl definitions */ ! 40: ! 41: #define MOUSEIOC ('M'<<8) ! 42: #define MOUSEIOCREAD (MOUSEIOC|60)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.