ReactOS  0.4.15-dev-3428-g0609db5
kbdhid.h
Go to the documentation of this file.
1 #pragma once
2 
3 #define _HIDPI_NO_FUNCTION_MACROS_
4 #include <ntddk.h>
5 #include <hidclass.h>
6 #include <hidpddi.h>
7 #include <hidpi.h>
8 #define NDEBUG
9 #include <debug.h>
10 #include <kbdmou.h>
11 //#include <kbd.h>
12 #include <ntddkbd.h>
13 #include <debug.h>
14 
15 
16 typedef struct
17 {
18  //
19  // lower device object
20  //
22 
23  //
24  // irp which is used for reading input reports
25  //
27 
28  //
29  // event
30  //
32 
33  //
34  // device object for class callback
35  //
37 
38  //
39  // class callback
40  //
42 
43  //
44  // buffer for the four usage lists below
45  //
47 
48  //
49  // usage list length
50  //
52 
53  //
54  // current usage list length
55  //
57 
58  //
59  // previous usage list
60  //
62 
63  //
64  // removed usage item list
65  //
67 
68  //
69  // new item usage list
70  //
72 
73  //
74  // preparsed data
75  //
77 
78  //
79  // mdl for reading input report
80  //
82 
83  //
84  // input report buffer
85  //
87 
88  //
89  // input report length
90  //
92 
93  //
94  // file object the device is reading reports from
95  //
97 
98  //
99  // report read is active
100  //
102 
103  //
104  // stop reading flag
105  //
107 
108  //
109  // keyboard attributes
110  //
112 
113  //
114  // keyboard modifier state
115  //
117 
118  //
119  // keyboard indicator state
120  //
122 
123  //
124  // keyboard type matic
125  //
127 
129 
130 /* defaults from kbfiltr.h */
131 #define KEYBOARD_TYPEMATIC_RATE_MINIMUM 2
132 #define KEYBOARD_TYPEMATIC_RATE_MAXIMUM 30
133 #define KEYBOARD_TYPEMATIC_RATE_DEFAULT 30
134 #define KEYBOARD_TYPEMATIC_DELAY_MINIMUM 250
135 #define KEYBOARD_TYPEMATIC_DELAY_MAXIMUM 1000
136 #define KEYBOARD_TYPEMATIC_DELAY_DEFAULT 250
137 
138 /* FIXME: write kbd.h */
139 #define MICROSOFT_KBD_FUNC 12
140 #define KEYBOARD_TYPE_UNKNOWN (0x51)
141 #define MICROSOFT_KBD_101_TYPE 0
142 
143 
144 NTSTATUS
146  IN PKBDHID_DEVICE_EXTENSION DeviceExtension);
147 
148 #define KBDHID_TAG 'diHK'
signed char * PCHAR
Definition: retypes.h:7
PFILE_OBJECT FileObject
Definition: kbdhid.h:96
#define IN
Definition: typedefs.h:39
PUSAGE_AND_PAGE MakeUsageList
Definition: kbdhid.h:71
PUSAGE_AND_PAGE BreakUsageList
Definition: kbdhid.h:66
PUSAGE_AND_PAGE PreviousUsageList
Definition: kbdhid.h:61
struct KBDHID_DEVICE_EXTENSION * PKBDHID_DEVICE_EXTENSION
PDEVICE_OBJECT ClassDeviceObject
Definition: kbdhid.h:36
LONG NTSTATUS
Definition: precomp.h:26
KEYBOARD_TYPEMATIC_PARAMETERS KeyboardTypematic
Definition: kbdhid.h:126
PDEVICE_OBJECT NextDeviceObject
Definition: kbdhid.h:21
PUSAGE_AND_PAGE CurrentUsageList
Definition: kbdhid.h:56
KEYBOARD_INDICATOR_PARAMETERS KeyboardIndicator
Definition: kbdhid.h:121
KEVENT ReadCompletionEvent
Definition: kbdhid.h:31
struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA
Definition: hidpi.h:39
* PFILE_OBJECT
Definition: iotypes.h:1998
unsigned char UCHAR
Definition: xmlstorage.h:181
NTSTATUS KbdHid_InitiateRead(IN PKBDHID_DEVICE_EXTENSION DeviceExtension)
Definition: kbdhid.c:201
unsigned short USHORT
Definition: pedump.c:61
PHIDP_PREPARSED_DATA PreparsedData
Definition: kbdhid.h:76
unsigned int ULONG
Definition: retypes.h:1
KEYBOARD_ATTRIBUTES Attributes
Definition: kbdhid.h:111
USHORT UsageListLength
Definition: kbdhid.h:51
HIDP_KEYBOARD_MODIFIER_STATE ModifierState
Definition: kbdhid.h:116