81 lines
2 KiB
C
81 lines
2 KiB
C
/*
|
|
* Copyright (c) 1997-1999 by The XFree86 Project, Inc.
|
|
*/
|
|
|
|
#ifndef _X_MOUSEPRIV_H
|
|
#define _X_MOUSEPRIV_H
|
|
|
|
#if 0
|
|
# define MOUSEINITDEBUG
|
|
# define MOUSEDATADEBUG
|
|
#endif
|
|
|
|
#include "mouse.h"
|
|
#include "xf86Xinput.h"
|
|
/* Private interface for the mouse driver. */
|
|
|
|
typedef enum {
|
|
AUTOPROBE_H_NOPROTO,
|
|
AUTOPROBE_H_GOOD,
|
|
AUTOPROBE_H_AUTODETECT,
|
|
AUTOPROBE_H_VALIDATE1,
|
|
AUTOPROBE_H_VALIDATE2,
|
|
AUTOPROBE_H_SETPROTO,
|
|
AUTOPROBE_NOPROTO,
|
|
AUTOPROBE_COLLECT,
|
|
AUTOPROBE_CREATE_PROTOLIST,
|
|
AUTOPROBE_GOOD,
|
|
AUTOPROBE_AUTODETECT,
|
|
AUTOPROBE_VALIDATE1,
|
|
AUTOPROBE_VALIDATE2,
|
|
AUTOPROBE_SWITCHSERIAL,
|
|
AUTOPROBE_SWITCH_PROTOCOL
|
|
} mseAutoProbeStates;
|
|
|
|
typedef struct {
|
|
const char * name;
|
|
int class;
|
|
const char ** defaults;
|
|
MouseProtocolID id;
|
|
} MouseProtocolRec, *MouseProtocolPtr;
|
|
|
|
#define NUM_MSE_AUTOPROBE_BYTES 24 /* multiple of 3,4 and 6 byte packages */
|
|
#define NUM_MSE_AUTOPROBE_TOTAL 64
|
|
#define NUM_AUTOPROBE_PROTOS 17
|
|
|
|
|
|
typedef struct {
|
|
int current;
|
|
Bool inReset;
|
|
CARD32 lastEvent;
|
|
CARD32 expires;
|
|
Bool soft;
|
|
int goodCount;
|
|
int badCount;
|
|
int protocolID;
|
|
int count;
|
|
char data[NUM_MSE_AUTOPROBE_TOTAL];
|
|
mseAutoProbeStates autoState;
|
|
MouseProtocolID protoList[NUM_AUTOPROBE_PROTOS];
|
|
int serialDefaultsNum;
|
|
int prevDx, prevDy;
|
|
int accDx, accDy;
|
|
int acc;
|
|
CARD32 pnpLast;
|
|
Bool disablePnPauto;
|
|
float fracdx,fracdy;
|
|
float sensitivity;
|
|
} mousePrivRec, *mousePrivPtr;
|
|
|
|
/* mouse proto flags */
|
|
#define MPF_NONE 0x00
|
|
#define MPF_SAFE 0x01
|
|
|
|
/* pnp.c */
|
|
MouseProtocolID MouseGetPnpProtocol(InputInfoPtr pInfo);
|
|
Bool ps2Reset(InputInfoPtr pInfo);
|
|
Bool ps2EnableDataReporting(InputInfoPtr pInfo);
|
|
Bool ps2SendPacket(InputInfoPtr pInfo, unsigned char *bytes, int len);
|
|
int ps2GetDeviceID(InputInfoPtr pInfo);
|
|
|
|
#endif /* _X_MOUSE_H */
|