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