12606Sdfr/*- 22606Sdfr * Copyright (c) 1992, 1993 Erik Forsberg. 331603Syokota * Copyright (c) 1996, 1997 Kazutaka YOKOTA 42606Sdfr * All rights reserved. 52606Sdfr * 62606Sdfr * Redistribution and use in source and binary forms, with or without 72606Sdfr * modification, are permitted provided that the following conditions 82606Sdfr * are met: 92606Sdfr * 1. Redistributions of source code must retain the above copyright 102606Sdfr * notice, this list of conditions and the following disclaimer. 112606Sdfr * 122606Sdfr * THIS SOFTWARE IS PROVIDED BY ``AS IS'' AND ANY EXPRESS OR IMPLIED 132606Sdfr * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 142606Sdfr * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN 152606Sdfr * NO EVENT SHALL I BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 162606Sdfr * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 172606Sdfr * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 182606Sdfr * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 192606Sdfr * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 202606Sdfr * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 212606Sdfr * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 222606Sdfr * 2350477Speter * $FreeBSD$ 242606Sdfr */ 252606Sdfr 2666860Sphk#ifndef _SYS_MOUSE_H_ 2766860Sphk#define _SYS_MOUSE_H_ 2819753Ssos 2919753Ssos#include <sys/types.h> 3019753Ssos#include <sys/ioccom.h> 3119753Ssos 3231603Syokota/* ioctls */ 3331603Syokota#define MOUSE_GETSTATUS _IOR('M', 0, mousestatus_t) 3431603Syokota#define MOUSE_GETHWINFO _IOR('M', 1, mousehw_t) 3531603Syokota#define MOUSE_GETMODE _IOR('M', 2, mousemode_t) 3631603Syokota#define MOUSE_SETMODE _IOW('M', 3, mousemode_t) 3731603Syokota#define MOUSE_GETLEVEL _IOR('M', 4, int) 3831603Syokota#define MOUSE_SETLEVEL _IOW('M', 5, int) 3931603Syokota#define MOUSE_GETVARS _IOR('M', 6, mousevar_t) 4031603Syokota#define MOUSE_SETVARS _IOW('M', 7, mousevar_t) 4131603Syokota#define MOUSE_READSTATE _IOWR('M', 8, mousedata_t) 4231603Syokota#define MOUSE_READDATA _IOWR('M', 9, mousedata_t) 4319753Ssos 44153072Sru#ifdef notyet 4531603Syokota#define MOUSE_SETRESOLUTION _IOW('M', 10, int) 4631603Syokota#define MOUSE_SETSCALING _IOW('M', 11, int) 4731603Syokota#define MOUSE_SETRATE _IOW('M', 12, int) 4831603Syokota#define MOUSE_GETHWID _IOR('M', 13, int) 4931603Syokota#endif 5019753Ssos 51132865Snjl#define MOUSE_SYN_GETHWINFO _IOR('M', 100, synapticshw_t) 52132865Snjl 5320073Ssos/* mouse status block */ 5420073Ssostypedef struct mousestatus { 5531603Syokota int flags; /* state change flags */ 5620073Ssos int button; /* button status */ 5720073Ssos int obutton; /* previous button status */ 5820073Ssos int dx; /* x movement */ 5920073Ssos int dy; /* y movement */ 6031603Syokota int dz; /* z movement */ 6120073Ssos} mousestatus_t; 6221327Snate 6320073Ssos/* button */ 6420073Ssos#define MOUSE_BUTTON1DOWN 0x0001 /* left */ 6520073Ssos#define MOUSE_BUTTON2DOWN 0x0002 /* middle */ 6620073Ssos#define MOUSE_BUTTON3DOWN 0x0004 /* right */ 6720073Ssos#define MOUSE_BUTTON4DOWN 0x0008 6820073Ssos#define MOUSE_BUTTON5DOWN 0x0010 6920073Ssos#define MOUSE_BUTTON6DOWN 0x0020 7020073Ssos#define MOUSE_BUTTON7DOWN 0x0040 7120073Ssos#define MOUSE_BUTTON8DOWN 0x0080 7231603Syokota#define MOUSE_MAXBUTTON 31 7331603Syokota#define MOUSE_STDBUTTONS 0x0007 /* buttons 1-3 */ 7431603Syokota#define MOUSE_EXTBUTTONS 0x7ffffff8 /* the others (28 of them!) */ 7531603Syokota#define MOUSE_BUTTONS (MOUSE_STDBUTTONS | MOUSE_EXTBUTTONS) 7620073Ssos 7731603Syokota/* flags */ 7831603Syokota#define MOUSE_STDBUTTONSCHANGED MOUSE_STDBUTTONS 7931603Syokota#define MOUSE_EXTBUTTONSCHANGED MOUSE_EXTBUTTONS 8031603Syokota#define MOUSE_BUTTONSCHANGED MOUSE_BUTTONS 8131603Syokota#define MOUSE_POSCHANGED 0x80000000 8231603Syokota 8319753Ssostypedef struct mousehw { 8431603Syokota int buttons; /* -1 if unknown */ 8519753Ssos int iftype; /* MOUSE_IF_XXX */ 8619753Ssos int type; /* mouse/track ball/pad... */ 8731603Syokota int model; /* I/F dependent model ID: MOUSE_MODEL_XXX */ 8819753Ssos int hwid; /* I/F dependent hardware ID 8921327Snate * for the PS/2 mouse, it will be PSM_XXX_ID 9021327Snate */ 9119753Ssos} mousehw_t; 9221327Snate 93132865Snjltypedef struct synapticshw { 94132865Snjl int infoMajor; 95132865Snjl int infoMinor; 96132865Snjl int infoRot180; 97132865Snjl int infoPortrait; 98132865Snjl int infoSensor; 99132865Snjl int infoHardware; 100132865Snjl int infoNewAbs; 101132865Snjl int capPen; 102132865Snjl int infoSimplC; 103132865Snjl int infoGeometry; 104132865Snjl int capExtended; 105132865Snjl int capSleep; 106132865Snjl int capFourButtons; 107132865Snjl int capMultiFinger; 108132865Snjl int capPalmDetect; 109255154Sdumbbell int capPassthrough; 110255154Sdumbbell int capMiddle; 111255154Sdumbbell int nExtendedButtons; 112255154Sdumbbell int nExtendedQueries; 113132865Snjl} synapticshw_t; 114132865Snjl 11519753Ssos/* iftype */ 11631603Syokota#define MOUSE_IF_UNKNOWN (-1) 11719753Ssos#define MOUSE_IF_SERIAL 0 11819753Ssos#define MOUSE_IF_BUS 1 11919753Ssos#define MOUSE_IF_INPORT 2 12019753Ssos#define MOUSE_IF_PS2 3 12131603Syokota#define MOUSE_IF_SYSMOUSE 4 12244186Sn_hibma#define MOUSE_IF_USB 5 12321327Snate 12419753Ssos/* type */ 12519753Ssos#define MOUSE_UNKNOWN (-1) /* should be treated as a mouse */ 12619753Ssos#define MOUSE_MOUSE 0 12719753Ssos#define MOUSE_TRACKBALL 1 12819753Ssos#define MOUSE_STICK 2 12919753Ssos#define MOUSE_PAD 3 1302606Sdfr 13131603Syokota/* model */ 13231603Syokota#define MOUSE_MODEL_UNKNOWN (-1) 13331603Syokota#define MOUSE_MODEL_GENERIC 0 13431603Syokota#define MOUSE_MODEL_GLIDEPOINT 1 13531603Syokota#define MOUSE_MODEL_NETSCROLL 2 13631603Syokota#define MOUSE_MODEL_NET 3 13731603Syokota#define MOUSE_MODEL_INTELLI 4 13831603Syokota#define MOUSE_MODEL_THINK 5 13931603Syokota#define MOUSE_MODEL_EASYSCROLL 6 14031603Syokota#define MOUSE_MODEL_MOUSEMANPLUS 7 14141271Syokota#define MOUSE_MODEL_KIDSPAD 8 14249964Syokota#define MOUSE_MODEL_VERSAPAD 9 14358230Syokota#define MOUSE_MODEL_EXPLORER 10 14458230Syokota#define MOUSE_MODEL_4D 11 14558230Syokota#define MOUSE_MODEL_4DPLUS 12 146132865Snjl#define MOUSE_MODEL_SYNAPTICS 13 147248478Sjkim#define MOUSE_MODEL_TRACKPOINT 14 14831603Syokota 14919753Ssostypedef struct mousemode { 15019753Ssos int protocol; /* MOUSE_PROTO_XXX */ 15119753Ssos int rate; /* report rate (per sec), -1 if unknown */ 15231603Syokota int resolution; /* MOUSE_RES_XXX, -1 if unknown */ 15319753Ssos int accelfactor; /* accelation factor (must be 1 or greater) */ 15431603Syokota int level; /* driver operation level */ 15531603Syokota int packetsize; /* the length of the data packet */ 15631603Syokota unsigned char syncmask[2]; /* sync. data bits in the header byte */ 15719753Ssos} mousemode_t; 15821327Snate 15919753Ssos/* protocol */ 16058230Syokota/* 16158230Syokota * Serial protocols: 16258230Syokota * Microsoft, MouseSystems, Logitech, MM series, MouseMan, Hitachi Tablet, 16358230Syokota * GlidePoint, IntelliMouse, Thinking Mouse, MouseRemote, Kidspad, 16458230Syokota * VersaPad 16558230Syokota * Bus mouse protocols: 16658230Syokota * bus, InPort 16758230Syokota * PS/2 mouse protocol: 16858230Syokota * PS/2 16958230Syokota */ 17031603Syokota#define MOUSE_PROTO_UNKNOWN (-1) 17119753Ssos#define MOUSE_PROTO_MS 0 /* Microsoft Serial, 3 bytes */ 17219753Ssos#define MOUSE_PROTO_MSC 1 /* Mouse Systems, 5 bytes */ 17319753Ssos#define MOUSE_PROTO_LOGI 2 /* Logitech, 3 bytes */ 17419753Ssos#define MOUSE_PROTO_MM 3 /* MM series, 3 bytes */ 17519753Ssos#define MOUSE_PROTO_LOGIMOUSEMAN 4 /* Logitech MouseMan 3/4 bytes */ 17619753Ssos#define MOUSE_PROTO_BUS 5 /* MS/Logitech bus mouse */ 17731603Syokota#define MOUSE_PROTO_INPORT 6 /* MS/ATI InPort mouse */ 17819753Ssos#define MOUSE_PROTO_PS2 7 /* PS/2 mouse, 3 bytes */ 17931603Syokota#define MOUSE_PROTO_HITTAB 8 /* Hitachi Tablet 3 bytes */ 18031603Syokota#define MOUSE_PROTO_GLIDEPOINT 9 /* ALPS GlidePoint, 3/4 bytes */ 18131603Syokota#define MOUSE_PROTO_INTELLI 10 /* MS IntelliMouse, 4 bytes */ 182165335Skeramida#define MOUSE_PROTO_THINK 11 /* Kensington Thinking Mouse, 3/4 bytes */ 18331603Syokota#define MOUSE_PROTO_SYSMOUSE 12 /* /dev/sysmouse */ 18436991Sahasty#define MOUSE_PROTO_X10MOUSEREM 13 /* X10 MouseRemote, 3 bytes */ 18541271Syokota#define MOUSE_PROTO_KIDSPAD 14 /* Genius Kidspad */ 18649964Syokota#define MOUSE_PROTO_VERSAPAD 15 /* Interlink VersaPad, 6 bytes */ 18793071Swill#define MOUSE_PROTO_JOGDIAL 16 /* Vaio's JogDial */ 188145001Smdodd#define MOUSE_PROTO_GTCO_DIGIPAD 17 18919753Ssos 19031603Syokota#define MOUSE_RES_UNKNOWN (-1) 19131603Syokota#define MOUSE_RES_DEFAULT 0 19231603Syokota#define MOUSE_RES_LOW (-2) 19331603Syokota#define MOUSE_RES_MEDIUMLOW (-3) 19431603Syokota#define MOUSE_RES_MEDIUMHIGH (-4) 19531603Syokota#define MOUSE_RES_HIGH (-5) 19631603Syokota 19731603Syokotatypedef struct mousedata { 19831603Syokota int len; /* # of data in the buffer */ 19931603Syokota int buf[16]; /* data buffer */ 20031603Syokota} mousedata_t; 20131603Syokota 20231603Syokota#if (defined(MOUSE_GETVARS)) 20331603Syokota 20431603Syokotatypedef struct mousevar { 20531603Syokota int var[16]; 20631603Syokota} mousevar_t; 20731603Syokota 20831603Syokota/* magic numbers in var[0] */ 20931603Syokota#define MOUSE_VARS_PS2_SIG 0x00325350 /* 'PS2' */ 21031603Syokota#define MOUSE_VARS_BUS_SIG 0x00535542 /* 'BUS' */ 21131603Syokota#define MOUSE_VARS_INPORT_SIG 0x00504e49 /* 'INP' */ 21231603Syokota 21331603Syokota#endif /* MOUSE_GETVARS */ 21431603Syokota 215132865Snjl/* Synaptics Touchpad */ 216132865Snjl#define MOUSE_SYNAPTICS_PACKETSIZE 6 /* '3' works better */ 217132865Snjl 21819753Ssos/* Microsoft Serial mouse data packet */ 21919753Ssos#define MOUSE_MSS_PACKETSIZE 3 22019753Ssos#define MOUSE_MSS_SYNCMASK 0x40 22119753Ssos#define MOUSE_MSS_SYNC 0x40 22219753Ssos#define MOUSE_MSS_BUTTONS 0x30 22319753Ssos#define MOUSE_MSS_BUTTON1DOWN 0x20 /* left */ 22419753Ssos#define MOUSE_MSS_BUTTON2DOWN 0x00 /* no middle button */ 22519753Ssos#define MOUSE_MSS_BUTTON3DOWN 0x10 /* right */ 22619753Ssos 22720073Ssos/* Logitech MouseMan data packet (M+ protocol) */ 22831603Syokota#define MOUSE_LMAN_BUTTON2DOWN 0x20 /* middle button, the 4th byte */ 22920073Ssos 23079298Sdd/* ALPS GlidePoint extension (variant of M+ protocol) */ 23131603Syokota#define MOUSE_ALPS_BUTTON2DOWN 0x20 /* middle button, the 4th byte */ 23231603Syokota#define MOUSE_ALPS_TAP 0x10 /* `tapping' action, the 4th byte */ 23331603Syokota 23479298Sdd/* Kinsington Thinking Mouse extension (variant of M+ protocol) */ 23531603Syokota#define MOUSE_THINK_BUTTON2DOWN 0x20 /* lower-left button, the 4th byte */ 23631603Syokota#define MOUSE_THINK_BUTTON4DOWN 0x10 /* lower-right button, the 4th byte */ 23731603Syokota 23831603Syokota/* MS IntelliMouse (variant of MS Serial) */ 23931603Syokota#define MOUSE_INTELLI_PACKETSIZE 4 24058230Syokota#define MOUSE_INTELLI_BUTTON2DOWN 0x10 /* middle button in the 4th byte */ 24131603Syokota 24219753Ssos/* Mouse Systems Corp. mouse data packet */ 24319753Ssos#define MOUSE_MSC_PACKETSIZE 5 24419753Ssos#define MOUSE_MSC_SYNCMASK 0xf8 24519753Ssos#define MOUSE_MSC_SYNC 0x80 24619753Ssos#define MOUSE_MSC_BUTTONS 0x07 24719753Ssos#define MOUSE_MSC_BUTTON1UP 0x04 /* left */ 24819753Ssos#define MOUSE_MSC_BUTTON2UP 0x02 /* middle */ 24919753Ssos#define MOUSE_MSC_BUTTON3UP 0x01 /* right */ 25044186Sn_hibma#define MOUSE_MSC_MAXBUTTON 3 25119753Ssos 25220073Ssos/* MM series mouse data packet */ 25320073Ssos#define MOUSE_MM_PACKETSIZE 3 25420073Ssos#define MOUSE_MM_SYNCMASK 0xe0 25520073Ssos#define MOUSE_MM_SYNC 0x80 25620073Ssos#define MOUSE_MM_BUTTONS 0x07 25720073Ssos#define MOUSE_MM_BUTTON1DOWN 0x04 /* left */ 25820073Ssos#define MOUSE_MM_BUTTON2DOWN 0x02 /* middle */ 25920073Ssos#define MOUSE_MM_BUTTON3DOWN 0x01 /* right */ 26020073Ssos#define MOUSE_MM_XPOSITIVE 0x10 26120073Ssos#define MOUSE_MM_YPOSITIVE 0x08 26220073Ssos 26319753Ssos/* PS/2 mouse data packet */ 26419753Ssos#define MOUSE_PS2_PACKETSIZE 3 26531603Syokota#define MOUSE_PS2_SYNCMASK 0xc8 26631603Syokota#define MOUSE_PS2_SYNC 0x08 26719753Ssos#define MOUSE_PS2_BUTTONS 0x07 /* 0x03 for 2 button mouse */ 26819753Ssos#define MOUSE_PS2_BUTTON1DOWN 0x01 /* left */ 26919753Ssos#define MOUSE_PS2_BUTTON2DOWN 0x04 /* middle */ 27019753Ssos#define MOUSE_PS2_BUTTON3DOWN 0x02 /* right */ 27131603Syokota#define MOUSE_PS2_TAP MOUSE_PS2_SYNC /* GlidePoint (PS/2) `tapping' 27231603Syokota * Yes! this is the same bit 27331603Syokota * as SYNC! 27431603Syokota */ 27531603Syokota 27619753Ssos#define MOUSE_PS2_XNEG 0x10 27719753Ssos#define MOUSE_PS2_YNEG 0x20 27819753Ssos#define MOUSE_PS2_XOVERFLOW 0x40 27919753Ssos#define MOUSE_PS2_YOVERFLOW 0x80 28058230Syokota 28158230Syokota/* Logitech MouseMan+ (PS/2) data packet (PS/2++ protocol) */ 28248778Syokota#define MOUSE_PS2PLUS_SYNCMASK 0x48 28348778Syokota#define MOUSE_PS2PLUS_SYNC 0x48 28458230Syokota#define MOUSE_PS2PLUS_ZNEG 0x08 /* sign bit */ 28558230Syokota#define MOUSE_PS2PLUS_BUTTON4DOWN 0x10 /* 4th button on MouseMan+ */ 28658230Syokota#define MOUSE_PS2PLUS_BUTTON5DOWN 0x20 28719753Ssos 28858230Syokota/* IBM ScrollPoint (PS/2) also uses PS/2++ protocol */ 28958230Syokota#define MOUSE_SPOINT_ZNEG 0x80 /* sign bits */ 29058230Syokota#define MOUSE_SPOINT_WNEG 0x08 29158230Syokota 29258230Syokota/* MS IntelliMouse (PS/2) data packet */ 29358230Syokota#define MOUSE_PS2INTELLI_PACKETSIZE 4 29458230Syokota/* some compatible mice have additional buttons */ 29558230Syokota#define MOUSE_PS2INTELLI_BUTTON4DOWN 0x40 29658230Syokota#define MOUSE_PS2INTELLI_BUTTON5DOWN 0x80 29758230Syokota 29858230Syokota/* MS IntelliMouse Explorer (PS/2) data packet (variation of IntelliMouse) */ 29958230Syokota#define MOUSE_EXPLORER_ZNEG 0x08 /* sign bit */ 30058230Syokota/* IntelliMouse Explorer has additional button data in the fourth byte */ 30158230Syokota#define MOUSE_EXPLORER_BUTTON4DOWN 0x10 30258230Syokota#define MOUSE_EXPLORER_BUTTON5DOWN 0x20 30358230Syokota 30449964Syokota/* Interlink VersaPad (serial I/F) data packet */ 30549964Syokota#define MOUSE_VERSA_PACKETSIZE 6 30649964Syokota#define MOUSE_VERSA_IN_USE 0x04 30749964Syokota#define MOUSE_VERSA_SYNCMASK 0xc3 30849964Syokota#define MOUSE_VERSA_SYNC 0xc0 30949964Syokota#define MOUSE_VERSA_BUTTONS 0x30 31049964Syokota#define MOUSE_VERSA_BUTTON1DOWN 0x20 /* left */ 31149964Syokota#define MOUSE_VERSA_BUTTON2DOWN 0x00 /* middle */ 31249964Syokota#define MOUSE_VERSA_BUTTON3DOWN 0x10 /* right */ 31349964Syokota#define MOUSE_VERSA_TAP 0x08 31449964Syokota 31549964Syokota/* Interlink VersaPad (PS/2 I/F) data packet */ 31649964Syokota#define MOUSE_PS2VERSA_PACKETSIZE 6 31749964Syokota#define MOUSE_PS2VERSA_IN_USE 0x10 31849964Syokota#define MOUSE_PS2VERSA_SYNCMASK 0xe8 31949964Syokota#define MOUSE_PS2VERSA_SYNC 0xc8 32049964Syokota#define MOUSE_PS2VERSA_BUTTONS 0x05 32149964Syokota#define MOUSE_PS2VERSA_BUTTON1DOWN 0x04 /* left */ 32249964Syokota#define MOUSE_PS2VERSA_BUTTON2DOWN 0x00 /* middle */ 32349964Syokota#define MOUSE_PS2VERSA_BUTTON3DOWN 0x01 /* right */ 32449964Syokota#define MOUSE_PS2VERSA_TAP 0x02 32549964Syokota 32658230Syokota/* A4 Tech 4D Mouse (PS/2) data packet */ 32758230Syokota#define MOUSE_4D_PACKETSIZE 3 32858230Syokota#define MOUSE_4D_WHEELBITS 0xf0 32958230Syokota 33058230Syokota/* A4 Tech 4D+ Mouse (PS/2) data packet */ 33158230Syokota#define MOUSE_4DPLUS_PACKETSIZE 3 33258230Syokota#define MOUSE_4DPLUS_ZNEG 0x04 /* sign bit */ 33358230Syokota#define MOUSE_4DPLUS_BUTTON4DOWN 0x08 33458230Syokota 33531603Syokota/* sysmouse extended data packet */ 33631603Syokota/* 33731603Syokota * /dev/sysmouse sends data in two formats, depending on the protocol 33831603Syokota * level. At the level 0, format is exactly the same as MousSystems' 33931603Syokota * five byte packet. At the level 1, the first five bytes are the same 34031603Syokota * as at the level 0. There are additional three bytes which shows 34131603Syokota * `dz' and the states of additional buttons. `dz' is expressed as the 34231603Syokota * sum of the byte 5 and 6 which contain signed seven bit values. 34331603Syokota * The states of the button 4 though 10 are in the bit 0 though 6 in 34431603Syokota * the byte 7 respectively: 1 indicates the button is up. 34531603Syokota */ 34631603Syokota#define MOUSE_SYS_PACKETSIZE 8 34731603Syokota#define MOUSE_SYS_SYNCMASK 0xf8 34831603Syokota#define MOUSE_SYS_SYNC 0x80 34931603Syokota#define MOUSE_SYS_BUTTON1UP 0x04 /* left, 1st byte */ 35031603Syokota#define MOUSE_SYS_BUTTON2UP 0x02 /* middle, 1st byte */ 35131603Syokota#define MOUSE_SYS_BUTTON3UP 0x01 /* right, 1st byte */ 35231603Syokota#define MOUSE_SYS_BUTTON4UP 0x0001 /* 7th byte */ 35331603Syokota#define MOUSE_SYS_BUTTON5UP 0x0002 35431603Syokota#define MOUSE_SYS_BUTTON6UP 0x0004 35531603Syokota#define MOUSE_SYS_BUTTON7UP 0x0008 35631603Syokota#define MOUSE_SYS_BUTTON8UP 0x0010 35731603Syokota#define MOUSE_SYS_BUTTON9UP 0x0020 35831603Syokota#define MOUSE_SYS_BUTTON10UP 0x0040 35931603Syokota#define MOUSE_SYS_MAXBUTTON 10 36031603Syokota#define MOUSE_SYS_STDBUTTONS 0x07 36131603Syokota#define MOUSE_SYS_EXTBUTTONS 0x7f /* the others */ 36231603Syokota 36336991Sahasty/* Mouse remote socket */ 36436991Sahasty#define _PATH_MOUSEREMOTE "/var/run/MouseRemote" 36536991Sahasty 36666860Sphk#endif /* _SYS_MOUSE_H_ */ 367