ReactOS 0.4.16-dev-320-g3bd9ddc
sermouse.h
Go to the documentation of this file.
1#ifndef _SERMOUSE_PCH_
2#define _SERMOUSE_PCH_
3
4#include <ntddk.h>
5#include <ntddser.h>
6#include <kbdmou.h>
7
8#define SERMOUSE_TAG 'uoMS'
9
10typedef enum
11{
18
19typedef enum
20{
21 mtNone, /* No Mouse */
22 mtMicrosoft, /* Microsoft Mouse with 2 buttons */
23 mtLogitech, /* Logitech Mouse with 3 buttons */
24 mtWheelZ /* Microsoft Wheel Mouse (aka Z Mouse) */
26
27/* Size for packet buffer used in interrupt routine */
28#define PACKET_BUFFER_SIZE 4
29
30/* Hardware byte mask for left button */
31#define LEFT_BUTTON_MASK 0x20
32/* Hardware to Microsoft specific code byte shift for left button */
33#define LEFT_BUTTON_SHIFT 5
34/* Hardware byte mask for right button */
35#define RIGHT_BUTTON_MASK 0x10
36/* Hardware to Microsoft specific code byte shift for right button */
37#define RIGHT_BUTTON_SHIFT 3
38/* Hardware byte mask for middle button */
39#define MIDDLE_BUTTON_MASK 0x20
40/* Hardware to Microsoft specific code byte shift for middle button */
41#define MIDDLE_BUTTON_SHIFT 3
42
43/* Microsoft byte mask for left button */
44#define MOUSE_BUTTON_LEFT 0x01
45/* Microsoft byte mask for right button */
46#define MOUSE_BUTTON_RIGHT 0x02
47/* Microsoft byte mask for middle button */
48#define MOUSE_BUTTON_MIDDLE 0x04
49
51{
54
56{
61
64
74
75/************************************ createclose.c */
76
78
80
82
83/************************************ detect.c */
84
87 IN PDEVICE_OBJECT LowerDevice);
88
89/************************************ fdo.c */
90
91DRIVER_ADD_DEVICE SermouseAddDevice;
92
94
95/************************************ internaldevctl.c */
96
98
99/************************************ misc.c */
100
104 IN PIRP Irp);
105
106/************************************ readmouse.c */
107
110 PVOID Context);
111
112#endif /* _SERMOUSE_PCH_ */
LONG NTSTATUS
Definition: precomp.h:26
_In_ PIRP Irp
Definition: csq.h:116
DRIVER_DISPATCH ForwardIrpAndForget
Definition: i8042prt.h:341
DRIVER_DISPATCH(nfs41_FsdDispatch)
unsigned short USHORT
Definition: pedump.c:61
DRIVER_DISPATCH SermouseClose
Definition: sermouse.h:79
DRIVER_DISPATCH SermouseCreate
Definition: sermouse.h:77
DRIVER_DISPATCH SermouseInternalDeviceControl
Definition: sermouse.h:97
struct _SERMOUSE_DRIVER_EXTENSION SERMOUSE_DRIVER_EXTENSION
DRIVER_DISPATCH SermouseCleanup
Definition: sermouse.h:81
SERMOUSE_MOUSE_TYPE
Definition: sermouse.h:20
@ mtMicrosoft
Definition: sermouse.h:22
@ mtNone
Definition: sermouse.h:21
@ mtLogitech
Definition: sermouse.h:23
@ mtWheelZ
Definition: sermouse.h:24
struct _SERMOUSE_DEVICE_EXTENSION * PSERMOUSE_DEVICE_EXTENSION
SERMOUSE_DEVICE_STATE
Definition: sermouse.h:11
@ dsSurpriseRemoved
Definition: sermouse.h:16
@ dsStopped
Definition: sermouse.h:12
@ dsPaused
Definition: sermouse.h:14
@ dsStarted
Definition: sermouse.h:13
@ dsRemoved
Definition: sermouse.h:15
VOID NTAPI SermouseDeviceWorker(PVOID Context)
Definition: readmouse.c:64
SERMOUSE_MOUSE_TYPE SermouseDetectLegacyDevice(IN PDEVICE_OBJECT LowerDevice)
Definition: detect.c:117
#define PACKET_BUFFER_SIZE
Definition: sermouse.h:28
DRIVER_DISPATCH SermousePnp
Definition: sermouse.h:93
struct _SERMOUSE_DEVICE_EXTENSION SERMOUSE_DEVICE_EXTENSION
struct _SERMOUSE_DRIVER_EXTENSION * PSERMOUSE_DRIVER_EXTENSION
DRIVER_ADD_DEVICE SermouseAddDevice
Definition: sermouse.h:91
PSERMOUSE_DRIVER_EXTENSION DriverExtension
Definition: sermouse.h:60
CONNECT_DATA ConnectData
Definition: sermouse.h:67
SERMOUSE_MOUSE_TYPE MouseType
Definition: sermouse.h:59
PDEVICE_OBJECT LowerDevice
Definition: sermouse.h:57
MOUSE_ATTRIBUTES AttributesInformation
Definition: sermouse.h:72
UCHAR PacketBuffer[PACKET_BUFFER_SIZE]
Definition: sermouse.h:69
SERMOUSE_DEVICE_STATE PnpState
Definition: sermouse.h:58
MOUSE_INPUT_DATA MouseInputData[2]
Definition: sermouse.h:68
#define NTAPI
Definition: typedefs.h:36
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
_In_ PDEVICE_OBJECT DeviceObject
Definition: wdfdevice.h:2055
unsigned char UCHAR
Definition: xmlstorage.h:181