mousePriv.h revision 659607e0
1/* $XFree86: xc/programs/Xserver/hw/xfree86/input/mouse/mousePriv.h,v 1.11 2003/11/03 05:11:49 tsi Exp $ */ 2/* 3 * Copyright (c) 1997-1999 by The XFree86 Project, Inc. 4 */ 5 6#ifndef _X_MOUSEPRIV_H 7#define _X_MOUSEPRIV_H 8 9#if 0 10# define MOUSEINITDEBUG 11# define MOUSEDATADEBUG 12#endif 13 14#include "mouse.h" 15#include "xf86Xinput.h" 16/* Private interface for the mouse driver. */ 17 18typedef enum { 19 AUTOPROBE_H_NOPROTO, 20 AUTOPROBE_H_GOOD, 21 AUTOPROBE_H_AUTODETECT, 22 AUTOPROBE_H_VALIDATE1, 23 AUTOPROBE_H_VALIDATE2, 24 AUTOPROBE_H_SETPROTO, 25 AUTOPROBE_NOPROTO, 26 AUTOPROBE_COLLECT, 27 AUTOPROBE_CREATE_PROTOLIST, 28 AUTOPROBE_GOOD, 29 AUTOPROBE_AUTODETECT, 30 AUTOPROBE_VALIDATE1, 31 AUTOPROBE_VALIDATE2, 32 AUTOPROBE_SWITCHSERIAL, 33 AUTOPROBE_SWITCH_PROTOCOL 34} mseAutoProbeStates; 35 36typedef struct { 37 const char * name; 38 int class; 39 const char ** defaults; 40 MouseProtocolID id; 41} MouseProtocolRec, *MouseProtocolPtr; 42 43#define NUM_MSE_AUTOPROBE_BYTES 24 /* multiple of 3,4 and 6 byte packages */ 44#define NUM_MSE_AUTOPROBE_TOTAL 64 45#define NUM_AUTOPROBE_PROTOS 17 46 47 48typedef struct { 49 int current; 50 Bool inReset; 51 CARD32 lastEvent; 52 CARD32 expires; 53 Bool soft; 54 int goodCount; 55 int badCount; 56 int protocolID; 57 int count; 58 char data[NUM_MSE_AUTOPROBE_TOTAL]; 59 mseAutoProbeStates autoState; 60 MouseProtocolID protoList[NUM_AUTOPROBE_PROTOS]; 61 int serialDefaultsNum; 62 int prevDx, prevDy; 63 int accDx, accDy; 64 int acc; 65 CARD32 pnpLast; 66 Bool disablePnPauto; 67 float fracdx,fracdy; 68 float sensitivity; 69} mousePrivRec, *mousePrivPtr; 70 71/* mouse proto flags */ 72#define MPF_NONE 0x00 73#define MPF_SAFE 0x01 74 75/* pnp.c */ 76MouseProtocolID MouseGetPnpProtocol(InputInfoPtr pInfo); 77Bool ps2Reset(InputInfoPtr pInfo); 78Bool ps2EnableDataReporting(InputInfoPtr pInfo); 79Bool ps2SendPacket(InputInfoPtr pInfo, unsigned char *bytes, int len); 80int ps2GetDeviceID(InputInfoPtr pInfo); 81 82#endif /* _X_MOUSE_H */ 83