ReactOS 0.4.16-dev-88-ga65b6ae
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
16typedef 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
146 IN PKBDHID_DEVICE_EXTENSION DeviceExtension);
147
148#define KBDHID_TAG 'diHK'
LONG NTSTATUS
Definition: precomp.h:26
struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA
Definition: hidpi.h:39
struct KBDHID_DEVICE_EXTENSION * PKBDHID_DEVICE_EXTENSION
NTSTATUS KbdHid_InitiateRead(IN PKBDHID_DEVICE_EXTENSION DeviceExtension)
Definition: kbdhid.c:201
unsigned short USHORT
Definition: pedump.c:61
PDEVICE_OBJECT ClassDeviceObject
Definition: kbdhid.h:36
PDEVICE_OBJECT NextDeviceObject
Definition: kbdhid.h:21
USHORT UsageListLength
Definition: kbdhid.h:51
KEYBOARD_TYPEMATIC_PARAMETERS KeyboardTypematic
Definition: kbdhid.h:126
PUSAGE_AND_PAGE PreviousUsageList
Definition: kbdhid.h:61
KEVENT ReadCompletionEvent
Definition: kbdhid.h:31
PUSAGE_AND_PAGE CurrentUsageList
Definition: kbdhid.h:56
PUSAGE_AND_PAGE MakeUsageList
Definition: kbdhid.h:71
PUSAGE_AND_PAGE BreakUsageList
Definition: kbdhid.h:66
PHIDP_PREPARSED_DATA PreparsedData
Definition: kbdhid.h:76
PFILE_OBJECT FileObject
Definition: kbdhid.h:96
KEYBOARD_INDICATOR_PARAMETERS KeyboardIndicator
Definition: kbdhid.h:121
HIDP_KEYBOARD_MODIFIER_STATE ModifierState
Definition: kbdhid.h:116
KEYBOARD_ATTRIBUTES Attributes
Definition: kbdhid.h:111
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59
char * PCHAR
Definition: typedefs.h:51
* PFILE_OBJECT
Definition: iotypes.h:1998
unsigned char UCHAR
Definition: xmlstorage.h:181