Subversion Repositories group.electronics

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
158 pfowler 1
<?xml version="1.0"?>
2
<doc>
3
    <assembly>
4
        <name>WindowsInput</name>
5
    </assembly>
6
    <members>
7
        <member name="T:WindowsInput.IInputSimulator">
8
            <summary>
9
            The contract for a service that simulates Keyboard and Mouse input and Hardware Input Device state detection for the Windows Platform.
10
            </summary>
11
        </member>
12
        <member name="P:WindowsInput.IInputSimulator.Keyboard">
13
            <summary>
14
            Gets the <see cref="T:WindowsInput.IKeyboardSimulator"/> instance for simulating Keyboard input.
15
            </summary>
16
            <value>The <see cref="T:WindowsInput.IKeyboardSimulator"/> instance.</value>
17
        </member>
18
        <member name="P:WindowsInput.IInputSimulator.Mouse">
19
            <summary>
20
            Gets the <see cref="T:WindowsInput.IMouseSimulator"/> instance for simulating Mouse input.
21
            </summary>
22
            <value>The <see cref="T:WindowsInput.IMouseSimulator"/> instance.</value>
23
        </member>
24
        <member name="P:WindowsInput.IInputSimulator.InputDeviceState">
25
            <summary>
26
            Gets the <see cref="T:WindowsInput.IInputDeviceStateAdaptor"/> instance for determining the state of the various input devices.
27
            </summary>
28
            <value>The <see cref="T:WindowsInput.IInputDeviceStateAdaptor"/> instance.</value>
29
        </member>
30
        <member name="T:WindowsInput.IMouseSimulator">
31
            <summary>
32
            The service contract for a mouse simulator for the Windows platform.
33
            </summary>
34
        </member>
35
        <member name="M:WindowsInput.IMouseSimulator.MoveMouseBy(System.Int32,System.Int32)">
36
            <summary>
37
            Simulates mouse movement by the specified distance measured as a delta from the current mouse location in pixels.
38
            </summary>
39
            <param name="pixelDeltaX">The distance in pixels to move the mouse horizontally.</param>
40
            <param name="pixelDeltaY">The distance in pixels to move the mouse vertically.</param>
41
        </member>
42
        <member name="M:WindowsInput.IMouseSimulator.MoveMouseTo(System.Double,System.Double)">
43
            <summary>
44
            Simulates mouse movement to the specified location on the primary display device.
45
            </summary>
46
            <param name="absoluteX">The destination's absolute X-coordinate on the primary display device where 0 is the extreme left hand side of the display device and 65535 is the extreme right hand side of the display device.</param>
47
            <param name="absoluteY">The destination's absolute Y-coordinate on the primary display device where 0 is the top of the display device and 65535 is the bottom of the display device.</param>
48
        </member>
49
        <member name="M:WindowsInput.IMouseSimulator.MoveMouseToPositionOnVirtualDesktop(System.Double,System.Double)">
50
            <summary>
51
            Simulates mouse movement to the specified location on the Virtual Desktop which includes all active displays.
52
            </summary>
53
            <param name="absoluteX">The destination's absolute X-coordinate on the virtual desktop where 0 is the left hand side of the virtual desktop and 65535 is the extreme right hand side of the virtual desktop.</param>
54
            <param name="absoluteY">The destination's absolute Y-coordinate on the virtual desktop where 0 is the top of the virtual desktop and 65535 is the bottom of the virtual desktop.</param>
55
        </member>
56
        <member name="M:WindowsInput.IMouseSimulator.LeftButtonDown">
57
            <summary>
58
            Simulates a mouse left button down gesture.
59
            </summary>
60
        </member>
61
        <member name="M:WindowsInput.IMouseSimulator.LeftButtonUp">
62
            <summary>
63
            Simulates a mouse left button up gesture.
64
            </summary>
65
        </member>
66
        <member name="M:WindowsInput.IMouseSimulator.LeftButtonClick">
67
            <summary>
68
            Simulates a mouse left button click gesture.
69
            </summary>
70
        </member>
71
        <member name="M:WindowsInput.IMouseSimulator.LeftButtonDoubleClick">
72
            <summary>
73
            Simulates a mouse left button double-click gesture.
74
            </summary>
75
        </member>
76
        <member name="M:WindowsInput.IMouseSimulator.RightButtonDown">
77
            <summary>
78
            Simulates a mouse right button down gesture.
79
            </summary>
80
        </member>
81
        <member name="M:WindowsInput.IMouseSimulator.RightButtonUp">
82
            <summary>
83
            Simulates a mouse right button up gesture.
84
            </summary>
85
        </member>
86
        <member name="M:WindowsInput.IMouseSimulator.RightButtonClick">
87
            <summary>
88
            Simulates a mouse right button click gesture.
89
            </summary>
90
        </member>
91
        <member name="M:WindowsInput.IMouseSimulator.RightButtonDoubleClick">
92
            <summary>
93
            Simulates a mouse right button double-click gesture.
94
            </summary>
95
        </member>
96
        <member name="M:WindowsInput.IMouseSimulator.XButtonDown(System.Int32)">
97
            <summary>
98
            Simulates a mouse X button down gesture.
99
            </summary>
100
            <param name="buttonId">The button id.</param>
101
        </member>
102
        <member name="M:WindowsInput.IMouseSimulator.XButtonUp(System.Int32)">
103
            <summary>
104
            Simulates a mouse X button up gesture.
105
            </summary>
106
            <param name="buttonId">The button id.</param>
107
        </member>
108
        <member name="M:WindowsInput.IMouseSimulator.XButtonClick(System.Int32)">
109
            <summary>
110
            Simulates a mouse X button click gesture.
111
            </summary>
112
            <param name="buttonId">The button id.</param>
113
        </member>
114
        <member name="M:WindowsInput.IMouseSimulator.XButtonDoubleClick(System.Int32)">
115
            <summary>
116
            Simulates a mouse X button double-click gesture.
117
            </summary>
118
            <param name="buttonId">The button id.</param>
119
        </member>
120
        <member name="M:WindowsInput.IMouseSimulator.VerticalScroll(System.Int32)">
121
            <summary>
122
            Simulates mouse vertical wheel scroll gesture.
123
            </summary>
124
            <param name="scrollAmountInClicks">The amount to scroll in clicks. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user.</param>
125
        </member>
126
        <member name="M:WindowsInput.IMouseSimulator.HorizontalScroll(System.Int32)">
127
            <summary>
128
            Simulates a mouse horizontal wheel scroll gesture. Supported by Windows Vista and later.
129
            </summary>
130
            <param name="scrollAmountInClicks">The amount to scroll in clicks. A positive value indicates that the wheel was rotated to the right; a negative value indicates that the wheel was rotated to the left.</param>
131
        </member>
132
        <member name="M:WindowsInput.IMouseSimulator.Sleep(System.Int32)">
133
            <summary>
134
            Sleeps the executing thread to create a pause between simulated inputs.
135
            </summary>
136
            <param name="millsecondsTimeout">The number of milliseconds to wait.</param>
137
        </member>
138
        <member name="M:WindowsInput.IMouseSimulator.Sleep(System.TimeSpan)">
139
            <summary>
140
            Sleeps the executing thread to create a pause between simulated inputs.
141
            </summary>
142
            <param name="timeout">The time to wait.</param>
143
        </member>
144
        <member name="P:WindowsInput.IMouseSimulator.Keyboard">
145
            <summary>
146
            Gets the <see cref="T:WindowsInput.IKeyboardSimulator"/> instance for simulating Keyboard input.
147
            </summary>
148
            <value>The <see cref="T:WindowsInput.IKeyboardSimulator"/> instance.</value>
149
        </member>
150
        <member name="T:WindowsInput.InputSimulator">
151
            <summary>
152
            Implements the <see cref="T:WindowsInput.IInputSimulator"/> interface to simulate Keyboard and Mouse input and provide the state of those input devices.
153
            </summary>
154
        </member>
155
        <member name="F:WindowsInput.InputSimulator._keyboardSimulator">
156
            <summary>
157
            The <see cref="T:WindowsInput.IKeyboardSimulator"/> instance to use for simulating keyboard input.
158
            </summary>
159
        </member>
160
        <member name="F:WindowsInput.InputSimulator._mouseSimulator">
161
            <summary>
162
            The <see cref="T:WindowsInput.IMouseSimulator"/> instance to use for simulating mouse input.
163
            </summary>
164
        </member>
165
        <member name="F:WindowsInput.InputSimulator._inputDeviceState">
166
            <summary>
167
            The <see cref="T:WindowsInput.IInputDeviceStateAdaptor"/> instance to use for interpreting the state of the input devices.
168
            </summary>
169
        </member>
170
        <member name="M:WindowsInput.InputSimulator.#ctor(WindowsInput.IKeyboardSimulator,WindowsInput.IMouseSimulator,WindowsInput.IInputDeviceStateAdaptor)">
171
            <summary>
172
            Initializes a new instance of the <see cref="T:WindowsInput.InputSimulator"/> class using the specified <see cref="T:WindowsInput.IKeyboardSimulator"/>, <see cref="T:WindowsInput.IMouseSimulator"/> and <see cref="T:WindowsInput.IInputDeviceStateAdaptor"/> instances.
173
            </summary>
174
            <param name="keyboardSimulator">The <see cref="T:WindowsInput.IKeyboardSimulator"/> instance to use for simulating keyboard input.</param>
175
            <param name="mouseSimulator">The <see cref="T:WindowsInput.IMouseSimulator"/> instance to use for simulating mouse input.</param>
176
            <param name="inputDeviceStateAdaptor">The <see cref="T:WindowsInput.IInputDeviceStateAdaptor"/> instance to use for interpreting the state of input devices.</param>
177
        </member>
178
        <member name="M:WindowsInput.InputSimulator.#ctor">
179
            <summary>
180
            Initializes a new instance of the <see cref="T:WindowsInput.InputSimulator"/> class using the default <see cref="T:WindowsInput.KeyboardSimulator"/>, <see cref="T:WindowsInput.MouseSimulator"/> and <see cref="T:WindowsInput.WindowsInputDeviceStateAdaptor"/> instances.
181
            </summary>
182
        </member>
183
        <member name="P:WindowsInput.InputSimulator.Keyboard">
184
            <summary>
185
            Gets the <see cref="T:WindowsInput.IKeyboardSimulator"/> instance for simulating Keyboard input.
186
            </summary>
187
            <value>The <see cref="T:WindowsInput.IKeyboardSimulator"/> instance.</value>
188
        </member>
189
        <member name="P:WindowsInput.InputSimulator.Mouse">
190
            <summary>
191
            Gets the <see cref="T:WindowsInput.IMouseSimulator"/> instance for simulating Mouse input.
192
            </summary>
193
            <value>The <see cref="T:WindowsInput.IMouseSimulator"/> instance.</value>
194
        </member>
195
        <member name="P:WindowsInput.InputSimulator.InputDeviceState">
196
            <summary>
197
            Gets the <see cref="T:WindowsInput.IInputDeviceStateAdaptor"/> instance for determining the state of the various input devices.
198
            </summary>
199
            <value>The <see cref="T:WindowsInput.IInputDeviceStateAdaptor"/> instance.</value>
200
        </member>
201
        <member name="T:WindowsInput.MouseButton">
202
            <summary>
203
            The mouse button
204
            </summary>
205
        </member>
206
        <member name="F:WindowsInput.MouseButton.LeftButton">
207
            <summary>
208
            Left mouse button
209
            </summary>
210
        </member>
211
        <member name="F:WindowsInput.MouseButton.MiddleButton">
212
            <summary>
213
            Middle mouse button
214
            </summary>
215
        </member>
216
        <member name="F:WindowsInput.MouseButton.RightButton">
217
            <summary>
218
            Right moust button
219
            </summary>
220
        </member>
221
        <member name="T:WindowsInput.MouseSimulator">
222
            <summary>
223
            Implements the <see cref="T:WindowsInput.IMouseSimulator"/> interface by calling the an <see cref="T:WindowsInput.IInputMessageDispatcher"/> to simulate Mouse gestures.
224
            </summary>
225
        </member>
226
        <member name="F:WindowsInput.MouseSimulator._messageDispatcher">
227
            <summary>
228
            The instance of the <see cref="T:WindowsInput.IInputMessageDispatcher"/> to use for dispatching <see cref="T:WindowsInput.Native.INPUT"/> messages.
229
            </summary>
230
        </member>
231
        <member name="M:WindowsInput.MouseSimulator.#ctor(WindowsInput.IInputSimulator)">
232
            <summary>
233
            Initializes a new instance of the <see cref="T:WindowsInput.MouseSimulator"/> class using an instance of a <see cref="T:WindowsInput.WindowsInputMessageDispatcher"/> for dispatching <see cref="T:WindowsInput.Native.INPUT"/> messages.
234
            </summary>
235
            <param name="inputSimulator">The <see cref="T:WindowsInput.IInputSimulator"/> that owns this instance.</param>
236
        </member>
237
        <member name="M:WindowsInput.MouseSimulator.#ctor(WindowsInput.IInputSimulator,WindowsInput.IInputMessageDispatcher)">
238
            <summary>
239
            Initializes a new instance of the <see cref="T:WindowsInput.MouseSimulator"/> class using the specified <see cref="T:WindowsInput.IInputMessageDispatcher"/> for dispatching <see cref="T:WindowsInput.Native.INPUT"/> messages.
240
            </summary>
241
            <param name="inputSimulator">The <see cref="T:WindowsInput.IInputSimulator"/> that owns this instance.</param>
242
            <param name="messageDispatcher">The <see cref="T:WindowsInput.IInputMessageDispatcher"/> to use for dispatching <see cref="T:WindowsInput.Native.INPUT"/> messages.</param>
243
            <exception cref="T:System.InvalidOperationException">If null is passed as the <paramref name="messageDispatcher"/>.</exception>
244
        </member>
245
        <member name="M:WindowsInput.MouseSimulator.SendSimulatedInput(WindowsInput.Native.INPUT[])">
246
            <summary>
247
            Sends the list of <see cref="T:WindowsInput.Native.INPUT"/> messages using the <see cref="T:WindowsInput.IInputMessageDispatcher"/> instance.
248
            </summary>
249
            <param name="inputList">The <see cref="T:System.Array"/> of <see cref="T:WindowsInput.Native.INPUT"/> messages to send.</param>
250
        </member>
251
        <member name="M:WindowsInput.MouseSimulator.MoveMouseBy(System.Int32,System.Int32)">
252
            <summary>
253
            Simulates mouse movement by the specified distance measured as a delta from the current mouse location in pixels.
254
            </summary>
255
            <param name="pixelDeltaX">The distance in pixels to move the mouse horizontally.</param>
256
            <param name="pixelDeltaY">The distance in pixels to move the mouse vertically.</param>
257
        </member>
258
        <member name="M:WindowsInput.MouseSimulator.MoveMouseTo(System.Double,System.Double)">
259
            <summary>
260
            Simulates mouse movement to the specified location on the primary display device.
261
            </summary>
262
            <param name="absoluteX">The destination's absolute X-coordinate on the primary display device where 0 is the extreme left hand side of the display device and 65535 is the extreme right hand side of the display device.</param>
263
            <param name="absoluteY">The destination's absolute Y-coordinate on the primary display device where 0 is the top of the display device and 65535 is the bottom of the display device.</param>
264
        </member>
265
        <member name="M:WindowsInput.MouseSimulator.MoveMouseToPositionOnVirtualDesktop(System.Double,System.Double)">
266
            <summary>
267
            Simulates mouse movement to the specified location on the Virtual Desktop which includes all active displays.
268
            </summary>
269
            <param name="absoluteX">The destination's absolute X-coordinate on the virtual desktop where 0 is the left hand side of the virtual desktop and 65535 is the extreme right hand side of the virtual desktop.</param>
270
            <param name="absoluteY">The destination's absolute Y-coordinate on the virtual desktop where 0 is the top of the virtual desktop and 65535 is the bottom of the virtual desktop.</param>
271
        </member>
272
        <member name="M:WindowsInput.MouseSimulator.LeftButtonDown">
273
            <summary>
274
            Simulates a mouse left button down gesture.
275
            </summary>
276
        </member>
277
        <member name="M:WindowsInput.MouseSimulator.LeftButtonUp">
278
            <summary>
279
            Simulates a mouse left button up gesture.
280
            </summary>
281
        </member>
282
        <member name="M:WindowsInput.MouseSimulator.LeftButtonClick">
283
            <summary>
284
            Simulates a mouse left-click gesture.
285
            </summary>
286
        </member>
287
        <member name="M:WindowsInput.MouseSimulator.LeftButtonDoubleClick">
288
            <summary>
289
            Simulates a mouse left button double-click gesture.
290
            </summary>
291
        </member>
292
        <member name="M:WindowsInput.MouseSimulator.RightButtonDown">
293
            <summary>
294
            Simulates a mouse right button down gesture.
295
            </summary>
296
        </member>
297
        <member name="M:WindowsInput.MouseSimulator.RightButtonUp">
298
            <summary>
299
            Simulates a mouse right button up gesture.
300
            </summary>
301
        </member>
302
        <member name="M:WindowsInput.MouseSimulator.RightButtonClick">
303
            <summary>
304
            Simulates a mouse right button click gesture.
305
            </summary>
306
        </member>
307
        <member name="M:WindowsInput.MouseSimulator.RightButtonDoubleClick">
308
            <summary>
309
            Simulates a mouse right button double-click gesture.
310
            </summary>
311
        </member>
312
        <member name="M:WindowsInput.MouseSimulator.XButtonDown(System.Int32)">
313
            <summary>
314
            Simulates a mouse X button down gesture.
315
            </summary>
316
            <param name="buttonId">The button id.</param>
317
        </member>
318
        <member name="M:WindowsInput.MouseSimulator.XButtonUp(System.Int32)">
319
            <summary>
320
            Simulates a mouse X button up gesture.
321
            </summary>
322
            <param name="buttonId">The button id.</param>
323
        </member>
324
        <member name="M:WindowsInput.MouseSimulator.XButtonClick(System.Int32)">
325
            <summary>
326
            Simulates a mouse X button click gesture.
327
            </summary>
328
            <param name="buttonId">The button id.</param>
329
        </member>
330
        <member name="M:WindowsInput.MouseSimulator.XButtonDoubleClick(System.Int32)">
331
            <summary>
332
            Simulates a mouse X button double-click gesture.
333
            </summary>
334
            <param name="buttonId">The button id.</param>
335
        </member>
336
        <member name="M:WindowsInput.MouseSimulator.VerticalScroll(System.Int32)">
337
            <summary>
338
            Simulates mouse vertical wheel scroll gesture.
339
            </summary>
340
            <param name="scrollAmountInClicks">The amount to scroll in clicks. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user.</param>
341
        </member>
342
        <member name="M:WindowsInput.MouseSimulator.HorizontalScroll(System.Int32)">
343
            <summary>
344
            Simulates a mouse horizontal wheel scroll gesture. Supported by Windows Vista and later.
345
            </summary>
346
            <param name="scrollAmountInClicks">The amount to scroll in clicks. A positive value indicates that the wheel was rotated to the right; a negative value indicates that the wheel was rotated to the left.</param>
347
        </member>
348
        <member name="M:WindowsInput.MouseSimulator.Sleep(System.Int32)">
349
            <summary>
350
            Sleeps the executing thread to create a pause between simulated inputs.
351
            </summary>
352
            <param name="millsecondsTimeout">The number of milliseconds to wait.</param>
353
        </member>
354
        <member name="M:WindowsInput.MouseSimulator.Sleep(System.TimeSpan)">
355
            <summary>
356
            Sleeps the executing thread to create a pause between simulated inputs.
357
            </summary>
358
            <param name="timeout">The time to wait.</param>
359
        </member>
360
        <member name="P:WindowsInput.MouseSimulator.Keyboard">
361
            <summary>
362
            Gets the <see cref="T:WindowsInput.IKeyboardSimulator"/> instance for simulating Keyboard input.
363
            </summary>
364
            <value>The <see cref="T:WindowsInput.IKeyboardSimulator"/> instance.</value>
365
        </member>
366
        <member name="T:WindowsInput.Native.NativeMethods">
367
            <summary>
368
            References all of the Native Windows API methods for the WindowsInput functionality.
369
            </summary>
370
        </member>
371
        <member name="M:WindowsInput.Native.NativeMethods.GetAsyncKeyState(System.UInt16)">
372
            <summary>
373
            The GetAsyncKeyState function determines whether a key is up or down at the time the function is called, and whether the key was pressed after a previous call to GetAsyncKeyState. (See: http://msdn.microsoft.com/en-us/library/ms646293(VS.85).aspx)
374
            </summary>
375
            <param name="virtualKeyCode">Specifies one of 256 possible virtual-key codes. For more information, see Virtual Key Codes. Windows NT/2000/XP: You can use left- and right-distinguishing constants to specify certain keys. See the Remarks section for further information.</param>
376
            <returns>
377
            If the function succeeds, the return value specifies whether the key was pressed since the last call to GetAsyncKeyState, and whether the key is currently up or down. If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState. However, you should not rely on this last behavior; for more information, see the Remarks. 
378
 
379
            Windows NT/2000/XP: The return value is zero for the following cases: 
380
            - The current desktop is not the active desktop
381
            - The foreground thread belongs to another process and the desktop does not allow the hook or the journal record.
382
 
383
            Windows 95/98/Me: The return value is the global asynchronous key state for each virtual key. The system does not check which thread has the keyboard focus.
384
 
385
            Windows 95/98/Me: Windows 95 does not support the left- and right-distinguishing constants. If you call GetAsyncKeyState with these constants, the return value is zero. 
386
            </returns>
387
            <remarks>
388
            The GetAsyncKeyState function works with mouse buttons. However, it checks on the state of the physical mouse buttons, not on the logical mouse buttons that the physical buttons are mapped to. For example, the call GetAsyncKeyState(VK_LBUTTON) always returns the state of the left physical mouse button, regardless of whether it is mapped to the left or right logical mouse button. You can determine the system's current mapping of physical mouse buttons to logical mouse buttons by calling 
389
            Copy CodeGetSystemMetrics(SM_SWAPBUTTON) which returns TRUE if the mouse buttons have been swapped.
390
 
391
            Although the least significant bit of the return value indicates whether the key has been pressed since the last query, due to the pre-emptive multitasking nature of Windows, another application can call GetAsyncKeyState and receive the "recently pressed" bit instead of your application. The behavior of the least significant bit of the return value is retained strictly for compatibility with 16-bit Windows applications (which are non-preemptive) and should not be relied upon.
392
 
393
            You can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for the vKey parameter. This gives the state of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. 
394
 
395
            Windows NT/2000/XP: You can use the following virtual-key code constants as values for vKey to distinguish between the left and right instances of those keys. 
396
 
397
            Code Meaning 
398
            VK_LSHIFT Left-shift key. 
399
            VK_RSHIFT Right-shift key. 
400
            VK_LCONTROL Left-control key. 
401
            VK_RCONTROL Right-control key. 
402
            VK_LMENU Left-menu key. 
403
            VK_RMENU Right-menu key. 
404
 
405
            These left- and right-distinguishing constants are only available when you call the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. 
406
            </remarks>
407
        </member>
408
        <member name="M:WindowsInput.Native.NativeMethods.GetKeyState(System.UInt16)">
409
            <summary>
410
            The GetKeyState function retrieves the status of the specified virtual key. The status specifies whether the key is up, down, or toggled (on, off alternating each time the key is pressed). (See: http://msdn.microsoft.com/en-us/library/ms646301(VS.85).aspx)
411
            </summary>
412
            <param name="virtualKeyCode">
413
            Specifies a virtual key. If the desired virtual key is a letter or digit (A through Z, a through z, or 0 through 9), nVirtKey must be set to the ASCII value of that character. For other keys, it must be a virtual-key code. 
414
            If a non-English keyboard layout is used, virtual keys with values in the range ASCII A through Z and 0 through 9 are used to specify most of the character keys. For example, for the German keyboard layout, the virtual key of value ASCII O (0x4F) refers to the "o" key, whereas VK_OEM_1 refers to the "o with umlaut" key.
415
            </param>
416
            <returns>
417
            The return value specifies the status of the specified virtual key, as follows: 
418
            If the high-order bit is 1, the key is down; otherwise, it is up.
419
            If the low-order bit is 1, the key is toggled. A key, such as the CAPS LOCK key, is toggled if it is turned on. The key is off and untoggled if the low-order bit is 0. A toggle key's indicator light (if any) on the keyboard will be on when the key is toggled, and off when the key is untoggled.
420
            </returns>
421
            <remarks>
422
            The key status returned from this function changes as a thread reads key messages from its message queue. The status does not reflect the interrupt-level state associated with the hardware. Use the GetAsyncKeyState function to retrieve that information. 
423
            An application calls GetKeyState in response to a keyboard-input message. This function retrieves the state of the key when the input message was generated. 
424
            To retrieve state information for all the virtual keys, use the GetKeyboardState function. 
425
            An application can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for the nVirtKey parameter. This gives the status of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. An application can also use the following virtual-key code constants as values for nVirtKey to distinguish between the left and right instances of those keys. 
426
            VK_LSHIFT
427
            VK_RSHIFT
428
            VK_LCONTROL
429
            VK_RCONTROL
430
            VK_LMENU
431
            VK_RMENU
432
 
433
            These left- and right-distinguishing constants are available to an application only through the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. 
434
            </remarks>
435
        </member>
436
        <member name="M:WindowsInput.Native.NativeMethods.SendInput(System.UInt32,WindowsInput.Native.INPUT[],System.Int32)">
437
            <summary>
438
            The SendInput function synthesizes keystrokes, mouse motions, and button clicks.
439
            </summary>
440
            <param name="numberOfInputs">Number of structures in the Inputs array.</param>
441
            <param name="inputs">Pointer to an array of INPUT structures. Each structure represents an event to be inserted into the keyboard or mouse input stream.</param>
442
            <param name="sizeOfInputStructure">Specifies the size, in bytes, of an INPUT structure. If cbSize is not the size of an INPUT structure, the function fails.</param>
443
            <returns>The function returns the number of events that it successfully inserted into the keyboard or mouse input stream. If the function returns zero, the input was already blocked by another thread. To get extended error information, call GetLastError.Microsoft Windows Vista. This function fails when it is blocked by User Interface Privilege Isolation (UIPI). Note that neither GetLastError nor the return value will indicate the failure was caused by UIPI blocking.</returns>
444
            <remarks>
445
            Microsoft Windows Vista. This function is subject to UIPI. Applications are permitted to inject input only into applications that are at an equal or lesser integrity level.
446
            The SendInput function inserts the events in the INPUT structures serially into the keyboard or mouse input stream. These events are not interspersed with other keyboard or mouse input events inserted either by the user (with the keyboard or mouse) or by calls to keybd_event, mouse_event, or other calls to SendInput.
447
            This function does not reset the keyboard's current state. Any keys that are already pressed when the function is called might interfere with the events that this function generates. To avoid this problem, check the keyboard's state with the GetAsyncKeyState function and correct as necessary.
448
            </remarks>
449
        </member>
450
        <member name="M:WindowsInput.Native.NativeMethods.GetMessageExtraInfo">
451
            <summary>
452
            The GetMessageExtraInfo function retrieves the extra message information for the current thread. Extra message information is an application- or driver-defined value associated with the current thread's message queue. 
453
            </summary>
454
            <returns></returns>
455
            <remarks>To set a thread's extra message information, use the SetMessageExtraInfo function. </remarks>
456
        </member>
457
        <member name="T:WindowsInput.Native.HARDWAREINPUT">
458
            <summary>
459
            The HARDWAREINPUT structure contains information about a simulated message generated by an input device other than a keyboard or mouse.  (see: http://msdn.microsoft.com/en-us/library/ms646269(VS.85).aspx)
460
            Declared in Winuser.h, include Windows.h
461
            </summary>
462
        </member>
463
        <member name="F:WindowsInput.Native.HARDWAREINPUT.Msg">
464
            <summary>
465
            Value specifying the message generated by the input hardware. 
466
            </summary>
467
        </member>
468
        <member name="F:WindowsInput.Native.HARDWAREINPUT.ParamL">
469
            <summary>
470
            Specifies the low-order word of the lParam parameter for uMsg. 
471
            </summary>
472
        </member>
473
        <member name="F:WindowsInput.Native.HARDWAREINPUT.ParamH">
474
            <summary>
475
            Specifies the high-order word of the lParam parameter for uMsg. 
476
            </summary>
477
        </member>
478
        <member name="T:WindowsInput.IInputDeviceStateAdaptor">
479
            <summary>
480
            The contract for a service that interprets the state of input devices.
481
            </summary>
482
        </member>
483
        <member name="M:WindowsInput.IInputDeviceStateAdaptor.IsKeyDown(WindowsInput.Native.VirtualKeyCode)">
484
            <summary>
485
            Determines whether the specified key is up or down.
486
            </summary>
487
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
488
            <returns>
489
            	<c>true</c> if the key is down; otherwise, <c>false</c>.
490
            </returns>
491
        </member>
492
        <member name="M:WindowsInput.IInputDeviceStateAdaptor.IsKeyUp(WindowsInput.Native.VirtualKeyCode)">
493
            <summary>
494
            Determines whether the specified key is up or down.
495
            </summary>
496
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
497
            <returns>
498
            	<c>true</c> if the key is up; otherwise, <c>false</c>.
499
            </returns>
500
        </member>
501
        <member name="M:WindowsInput.IInputDeviceStateAdaptor.IsHardwareKeyDown(WindowsInput.Native.VirtualKeyCode)">
502
            <summary>
503
            Determines whether the physical key is up or down at the time the function is called regardless of whether the application thread has read the keyboard event from the message pump.
504
            </summary>
505
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
506
            <returns>
507
            	<c>true</c> if the key is down; otherwise, <c>false</c>.
508
            </returns>
509
        </member>
510
        <member name="M:WindowsInput.IInputDeviceStateAdaptor.IsHardwareKeyUp(WindowsInput.Native.VirtualKeyCode)">
511
            <summary>
512
            Determines whether the physical key is up or down at the time the function is called regardless of whether the application thread has read the keyboard event from the message pump.
513
            </summary>
514
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
515
            <returns>
516
            	<c>true</c> if the key is up; otherwise, <c>false</c>.
517
            </returns>
518
        </member>
519
        <member name="M:WindowsInput.IInputDeviceStateAdaptor.IsTogglingKeyInEffect(WindowsInput.Native.VirtualKeyCode)">
520
            <summary>
521
            Determines whether the toggling key is toggled on (in-effect) or not.
522
            </summary>
523
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
524
            <returns>
525
            	<c>true</c> if the toggling key is toggled on (in-effect); otherwise, <c>false</c>.
526
            </returns>
527
        </member>
528
        <member name="T:WindowsInput.IInputMessageDispatcher">
529
            <summary>
530
            The contract for a service that dispatches <see cref="T:WindowsInput.Native.INPUT"/> messages to the appropriate destination.
531
            </summary>
532
        </member>
533
        <member name="M:WindowsInput.IInputMessageDispatcher.DispatchInput(WindowsInput.Native.INPUT[])">
534
            <summary>
535
            Dispatches the specified list of <see cref="T:WindowsInput.Native.INPUT"/> messages in their specified order.
536
            </summary>
537
            <param name="inputs">The list of <see cref="T:WindowsInput.Native.INPUT"/> messages to be dispatched.</param>
538
            <exception cref="T:System.ArgumentException">If the <paramref name="inputs"/> array is empty.</exception>
539
            <exception cref="T:System.ArgumentNullException">If the <paramref name="inputs"/> array is null.</exception>
540
            <exception cref="T:System.Exception">If the any of the commands in the <paramref name="inputs"/> array could not be sent successfully.</exception>
541
        </member>
542
        <member name="T:WindowsInput.IKeyboardSimulator">
543
            <summary>
544
            The service contract for a keyboard simulator for the Windows platform.
545
            </summary>
546
        </member>
547
        <member name="M:WindowsInput.IKeyboardSimulator.KeyDown(WindowsInput.Native.VirtualKeyCode)">
548
            <summary>
549
            Simulates the key down gesture for the specified key.
550
            </summary>
551
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
552
        </member>
553
        <member name="M:WindowsInput.IKeyboardSimulator.KeyPress(WindowsInput.Native.VirtualKeyCode)">
554
            <summary>
555
            Simulates the key press gesture for the specified key.
556
            </summary>
557
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
558
        </member>
559
        <member name="M:WindowsInput.IKeyboardSimulator.KeyPress(WindowsInput.Native.VirtualKeyCode[])">
560
            <summary>
561
            Simulates a key press for each of the specified key codes in the order they are specified.
562
            </summary>
563
            <param name="keyCodes"></param>
564
        </member>
565
        <member name="M:WindowsInput.IKeyboardSimulator.KeyUp(WindowsInput.Native.VirtualKeyCode)">
566
            <summary>
567
            Simulates the key up gesture for the specified key.
568
            </summary>
569
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
570
        </member>
571
        <member name="M:WindowsInput.IKeyboardSimulator.ModifiedKeyStroke(System.Collections.Generic.IEnumerable{WindowsInput.Native.VirtualKeyCode},System.Collections.Generic.IEnumerable{WindowsInput.Native.VirtualKeyCode})">
572
            <summary>
573
            Simulates a modified keystroke where there are multiple modifiers and multiple keys like CTRL-ALT-K-C where CTRL and ALT are the modifierKeys and K and C are the keys.
574
            The flow is Modifiers KeyDown in order, Keys Press in order, Modifiers KeyUp in reverse order.
575
            </summary>
576
            <param name="modifierKeyCodes">The list of <see cref="T:WindowsInput.Native.VirtualKeyCode"/>s for the modifier keys.</param>
577
            <param name="keyCodes">The list of <see cref="T:WindowsInput.Native.VirtualKeyCode"/>s for the keys to simulate.</param>
578
        </member>
579
        <member name="M:WindowsInput.IKeyboardSimulator.ModifiedKeyStroke(System.Collections.Generic.IEnumerable{WindowsInput.Native.VirtualKeyCode},WindowsInput.Native.VirtualKeyCode)">
580
            <summary>
581
            Simulates a modified keystroke where there are multiple modifiers and one key like CTRL-ALT-C where CTRL and ALT are the modifierKeys and C is the key.
582
            The flow is Modifiers KeyDown in order, Key Press, Modifiers KeyUp in reverse order.
583
            </summary>
584
            <param name="modifierKeyCodes">The list of <see cref="T:WindowsInput.Native.VirtualKeyCode"/>s for the modifier keys.</param>
585
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
586
        </member>
587
        <member name="M:WindowsInput.IKeyboardSimulator.ModifiedKeyStroke(WindowsInput.Native.VirtualKeyCode,System.Collections.Generic.IEnumerable{WindowsInput.Native.VirtualKeyCode})">
588
            <summary>
589
            Simulates a modified keystroke where there is one modifier and multiple keys like CTRL-K-C where CTRL is the modifierKey and K and C are the keys.
590
            The flow is Modifier KeyDown, Keys Press in order, Modifier KeyUp.
591
            </summary>
592
            <param name="modifierKey">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the modifier key.</param>
593
            <param name="keyCodes">The list of <see cref="T:WindowsInput.Native.VirtualKeyCode"/>s for the keys to simulate.</param>
594
        </member>
595
        <member name="M:WindowsInput.IKeyboardSimulator.ModifiedKeyStroke(WindowsInput.Native.VirtualKeyCode,WindowsInput.Native.VirtualKeyCode)">
596
            <summary>
597
            Simulates a simple modified keystroke like CTRL-C where CTRL is the modifierKey and C is the key.
598
            The flow is Modifier KeyDown, Key Press, Modifier KeyUp.
599
            </summary>
600
            <param name="modifierKeyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the  modifier key.</param>
601
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
602
        </member>
603
        <member name="M:WindowsInput.IKeyboardSimulator.TextEntry(System.String)">
604
            <summary>
605
            Simulates uninterrupted text entry via the keyboard.
606
            </summary>
607
            <param name="text">The text to be simulated.</param>
608
        </member>
609
        <member name="M:WindowsInput.IKeyboardSimulator.TextEntry(System.Char)">
610
            <summary>
611
            Simulates a single character text entry via the keyboard.
612
            </summary>
613
            <param name="character">The unicode character to be simulated.</param>
614
        </member>
615
        <member name="M:WindowsInput.IKeyboardSimulator.Sleep(System.Int32)">
616
            <summary>
617
            Sleeps the executing thread to create a pause between simulated inputs.
618
            </summary>
619
            <param name="millsecondsTimeout">The number of milliseconds to wait.</param>
620
        </member>
621
        <member name="M:WindowsInput.IKeyboardSimulator.Sleep(System.TimeSpan)">
622
            <summary>
623
            Sleeps the executing thread to create a pause between simulated inputs.
624
            </summary>
625
            <param name="timeout">The time to wait.</param>
626
        </member>
627
        <member name="P:WindowsInput.IKeyboardSimulator.Mouse">
628
            <summary>
629
            Gets the <see cref="T:WindowsInput.IMouseSimulator"/> instance for simulating Mouse input.
630
            </summary>
631
            <value>The <see cref="T:WindowsInput.IMouseSimulator"/> instance.</value>
632
        </member>
633
        <member name="T:WindowsInput.Native.INPUT">
634
            <summary>
635
            The INPUT structure is used by SendInput to store information for synthesizing input events such as keystrokes, mouse movement, and mouse clicks. (see: http://msdn.microsoft.com/en-us/library/ms646270(VS.85).aspx)
636
            Declared in Winuser.h, include Windows.h
637
            </summary>
638
            <remarks>
639
            This structure contains information identical to that used in the parameter list of the keybd_event or mouse_event function.
640
            Windows 2000/XP: INPUT_KEYBOARD supports nonkeyboard input methods, such as handwriting recognition or voice recognition, as if it were text input by using the KEYEVENTF_UNICODE flag. For more information, see the remarks section of KEYBDINPUT.
641
            </remarks>
642
        </member>
643
        <member name="F:WindowsInput.Native.INPUT.Type">
644
            <summary>
645
            Specifies the type of the input event. This member can be one of the following values. 
646
            <see cref="F:WindowsInput.Native.InputType.Mouse"/> - The event is a mouse event. Use the mi structure of the union.
647
            <see cref="F:WindowsInput.Native.InputType.Keyboard"/> - The event is a keyboard event. Use the ki structure of the union.
648
            <see cref="F:WindowsInput.Native.InputType.Hardware"/> - Windows 95/98/Me: The event is from input hardware other than a keyboard or mouse. Use the hi structure of the union.
649
            </summary>
650
        </member>
651
        <member name="F:WindowsInput.Native.INPUT.Data">
652
            <summary>
653
            The data structure that contains information about the simulated Mouse, Keyboard or Hardware event.
654
            </summary>
655
        </member>
656
        <member name="T:WindowsInput.InputBuilder">
657
            <summary>
658
            A helper class for building a list of <see cref="T:WindowsInput.Native.INPUT"/> messages ready to be sent to the native Windows API.
659
            </summary>
660
        </member>
661
        <member name="F:WindowsInput.InputBuilder._inputList">
662
            <summary>
663
            The public list of <see cref="T:WindowsInput.Native.INPUT"/> messages being built by this instance.
664
            </summary>
665
        </member>
666
        <member name="M:WindowsInput.InputBuilder.#ctor">
667
            <summary>
668
            Initializes a new instance of the <see cref="T:WindowsInput.InputBuilder"/> class.
669
            </summary>
670
        </member>
671
        <member name="M:WindowsInput.InputBuilder.ToArray">
672
            <summary>
673
            Returns the list of <see cref="T:WindowsInput.Native.INPUT"/> messages as a <see cref="T:System.Array"/> of <see cref="T:WindowsInput.Native.INPUT"/> messages.
674
            </summary>
675
            <returns>The <see cref="T:System.Array"/> of <see cref="T:WindowsInput.Native.INPUT"/> messages.</returns>
676
        </member>
677
        <member name="M:WindowsInput.InputBuilder.GetEnumerator">
678
            <summary>
679
            Returns an enumerator that iterates through the list of <see cref="T:WindowsInput.Native.INPUT"/> messages.
680
            </summary>
681
            <returns>
682
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the list of <see cref="T:WindowsInput.Native.INPUT"/> messages.
683
            </returns>
684
            <filterpriority>1</filterpriority>
685
        </member>
686
        <member name="M:WindowsInput.InputBuilder.System#Collections#IEnumerable#GetEnumerator">
687
            <summary>
688
            Returns an enumerator that iterates through the list of <see cref="T:WindowsInput.Native.INPUT"/> messages.
689
            </summary>
690
            <returns>
691
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the list of <see cref="T:WindowsInput.Native.INPUT"/> messages.
692
            </returns>
693
            <filterpriority>2</filterpriority>
694
        </member>
695
        <member name="M:WindowsInput.InputBuilder.IsExtendedKey(WindowsInput.Native.VirtualKeyCode)">
696
            <summary>
697
            Determines if the <see cref="T:WindowsInput.Native.VirtualKeyCode"/> is an ExtendedKey
698
            </summary>
699
            <param name="keyCode">The key code.</param>
700
            <returns>true if the key code is an extended key; otherwise, false.</returns>
701
            <remarks>
702
            The extended keys consist of the ALT and CTRL keys on the right-hand side of the keyboard; the INS, DEL, HOME, END, PAGE UP, PAGE DOWN, and arrow keys in the clusters to the left of the numeric keypad; the NUM LOCK key; the BREAK (CTRL+PAUSE) key; the PRINT SCRN key; and the divide (/) and ENTER keys in the numeric keypad.
703
 
704
            See http://msdn.microsoft.com/en-us/library/ms646267(v=vs.85).aspx Section "Extended-Key Flag"
705
            </remarks>
706
        </member>
707
        <member name="M:WindowsInput.InputBuilder.AddKeyDown(WindowsInput.Native.VirtualKeyCode)">
708
            <summary>
709
            Adds a key down to the list of <see cref="T:WindowsInput.Native.INPUT"/> messages.
710
            </summary>
711
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/>.</param>
712
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
713
        </member>
714
        <member name="M:WindowsInput.InputBuilder.AddKeyUp(WindowsInput.Native.VirtualKeyCode)">
715
            <summary>
716
            Adds a key up to the list of <see cref="T:WindowsInput.Native.INPUT"/> messages.
717
            </summary>
718
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/>.</param>
719
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
720
        </member>
721
        <member name="M:WindowsInput.InputBuilder.AddKeyPress(WindowsInput.Native.VirtualKeyCode)">
722
            <summary>
723
            Adds a key press to the list of <see cref="T:WindowsInput.Native.INPUT"/> messages which is equivalent to a key down followed by a key up.
724
            </summary>
725
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/>.</param>
726
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
727
        </member>
728
        <member name="M:WindowsInput.InputBuilder.AddCharacter(System.Char)">
729
            <summary>
730
            Adds the character to the list of <see cref="T:WindowsInput.Native.INPUT"/> messages.
731
            </summary>
732
            <param name="character">The <see cref="T:System.Char"/> to be added to the list of <see cref="T:WindowsInput.Native.INPUT"/> messages.</param>
733
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
734
        </member>
735
        <member name="M:WindowsInput.InputBuilder.AddCharacters(System.Collections.Generic.IEnumerable{System.Char})">
736
            <summary>
737
            Adds all of the characters in the specified <see cref="T:System.Collections.Generic.IEnumerable`1"/> of <see cref="T:System.Char"/>.
738
            </summary>
739
            <param name="characters">The characters to add.</param>
740
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
741
        </member>
742
        <member name="M:WindowsInput.InputBuilder.AddCharacters(System.String)">
743
            <summary>
744
            Adds the characters in the specified <see cref="T:System.String"/>.
745
            </summary>
746
            <param name="characters">The string of <see cref="T:System.Char"/> to add.</param>
747
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
748
        </member>
749
        <member name="M:WindowsInput.InputBuilder.AddRelativeMouseMovement(System.Int32,System.Int32)">
750
            <summary>
751
            Moves the mouse relative to its current position.
752
            </summary>
753
            <param name="x"></param>
754
            <param name="y"></param>
755
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
756
        </member>
757
        <member name="M:WindowsInput.InputBuilder.AddAbsoluteMouseMovement(System.Int32,System.Int32)">
758
            <summary>
759
            Move the mouse to an absolute position.
760
            </summary>
761
            <param name="absoluteX"></param>
762
            <param name="absoluteY"></param>
763
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
764
        </member>
765
        <member name="M:WindowsInput.InputBuilder.AddAbsoluteMouseMovementOnVirtualDesktop(System.Int32,System.Int32)">
766
            <summary>
767
            Move the mouse to the absolute position on the virtual desktop.
768
            </summary>
769
            <param name="absoluteX"></param>
770
            <param name="absoluteY"></param>
771
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
772
        </member>
773
        <member name="M:WindowsInput.InputBuilder.AddMouseButtonDown(WindowsInput.MouseButton)">
774
            <summary>
775
            Adds a mouse button down for the specified button.
776
            </summary>
777
            <param name="button"></param>
778
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
779
        </member>
780
        <member name="M:WindowsInput.InputBuilder.AddMouseXButtonDown(System.Int32)">
781
            <summary>
782
            Adds a mouse button down for the specified button.
783
            </summary>
784
            <param name="xButtonId"></param>
785
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
786
        </member>
787
        <member name="M:WindowsInput.InputBuilder.AddMouseButtonUp(WindowsInput.MouseButton)">
788
            <summary>
789
            Adds a mouse button up for the specified button.
790
            </summary>
791
            <param name="button"></param>
792
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
793
        </member>
794
        <member name="M:WindowsInput.InputBuilder.AddMouseXButtonUp(System.Int32)">
795
            <summary>
796
            Adds a mouse button up for the specified button.
797
            </summary>
798
            <param name="xButtonId"></param>
799
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
800
        </member>
801
        <member name="M:WindowsInput.InputBuilder.AddMouseButtonClick(WindowsInput.MouseButton)">
802
            <summary>
803
            Adds a single click of the specified button.
804
            </summary>
805
            <param name="button"></param>
806
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
807
        </member>
808
        <member name="M:WindowsInput.InputBuilder.AddMouseXButtonClick(System.Int32)">
809
            <summary>
810
            Adds a single click of the specified button.
811
            </summary>
812
            <param name="xButtonId"></param>
813
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
814
        </member>
815
        <member name="M:WindowsInput.InputBuilder.AddMouseButtonDoubleClick(WindowsInput.MouseButton)">
816
            <summary>
817
            Adds a double click of the specified button.
818
            </summary>
819
            <param name="button"></param>
820
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
821
        </member>
822
        <member name="M:WindowsInput.InputBuilder.AddMouseXButtonDoubleClick(System.Int32)">
823
            <summary>
824
            Adds a double click of the specified button.
825
            </summary>
826
            <param name="xButtonId"></param>
827
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
828
        </member>
829
        <member name="M:WindowsInput.InputBuilder.AddMouseVerticalWheelScroll(System.Int32)">
830
            <summary>
831
            Scroll the vertical mouse wheel by the specified amount.
832
            </summary>
833
            <param name="scrollAmount"></param>
834
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
835
        </member>
836
        <member name="M:WindowsInput.InputBuilder.AddMouseHorizontalWheelScroll(System.Int32)">
837
            <summary>
838
            Scroll the horizontal mouse wheel by the specified amount.
839
            </summary>
840
            <param name="scrollAmount"></param>
841
            <returns>This <see cref="T:WindowsInput.InputBuilder"/> instance.</returns>
842
        </member>
843
        <member name="P:WindowsInput.InputBuilder.Item(System.Int32)">
844
            <summary>
845
            Gets the <see cref="T:WindowsInput.Native.INPUT"/> at the specified position.
846
            </summary>
847
            <value>The <see cref="T:WindowsInput.Native.INPUT"/> message at the specified position.</value>
848
        </member>
849
        <member name="T:WindowsInput.KeyboardSimulator">
850
            <summary>
851
            Implements the <see cref="T:WindowsInput.IKeyboardSimulator"/> interface by calling the an <see cref="T:WindowsInput.IInputMessageDispatcher"/> to simulate Keyboard gestures.
852
            </summary>
853
        </member>
854
        <member name="F:WindowsInput.KeyboardSimulator._messageDispatcher">
855
            <summary>
856
            The instance of the <see cref="T:WindowsInput.IInputMessageDispatcher"/> to use for dispatching <see cref="T:WindowsInput.Native.INPUT"/> messages.
857
            </summary>
858
        </member>
859
        <member name="M:WindowsInput.KeyboardSimulator.#ctor(WindowsInput.IInputSimulator)">
860
            <summary>
861
            Initializes a new instance of the <see cref="T:WindowsInput.KeyboardSimulator"/> class using an instance of a <see cref="T:WindowsInput.WindowsInputMessageDispatcher"/> for dispatching <see cref="T:WindowsInput.Native.INPUT"/> messages.
862
            </summary>
863
            <param name="inputSimulator">The <see cref="T:WindowsInput.IInputSimulator"/> that owns this instance.</param>
864
        </member>
865
        <member name="M:WindowsInput.KeyboardSimulator.#ctor(WindowsInput.IInputSimulator,WindowsInput.IInputMessageDispatcher)">
866
            <summary>
867
            Initializes a new instance of the <see cref="T:WindowsInput.KeyboardSimulator"/> class using the specified <see cref="T:WindowsInput.IInputMessageDispatcher"/> for dispatching <see cref="T:WindowsInput.Native.INPUT"/> messages.
868
            </summary>
869
            <param name="inputSimulator">The <see cref="T:WindowsInput.IInputSimulator"/> that owns this instance.</param>
870
            <param name="messageDispatcher">The <see cref="T:WindowsInput.IInputMessageDispatcher"/> to use for dispatching <see cref="T:WindowsInput.Native.INPUT"/> messages.</param>
871
            <exception cref="T:System.InvalidOperationException">If null is passed as the <paramref name="messageDispatcher"/>.</exception>
872
        </member>
873
        <member name="M:WindowsInput.KeyboardSimulator.SendSimulatedInput(WindowsInput.Native.INPUT[])">
874
            <summary>
875
            Sends the list of <see cref="T:WindowsInput.Native.INPUT"/> messages using the <see cref="T:WindowsInput.IInputMessageDispatcher"/> instance.
876
            </summary>
877
            <param name="inputList">The <see cref="T:System.Array"/> of <see cref="T:WindowsInput.Native.INPUT"/> messages to send.</param>
878
        </member>
879
        <member name="M:WindowsInput.KeyboardSimulator.KeyDown(WindowsInput.Native.VirtualKeyCode)">
880
            <summary>
881
            Calls the Win32 SendInput method to simulate a KeyDown.
882
            </summary>
883
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> to press</param>
884
        </member>
885
        <member name="M:WindowsInput.KeyboardSimulator.KeyUp(WindowsInput.Native.VirtualKeyCode)">
886
            <summary>
887
            Calls the Win32 SendInput method to simulate a KeyUp.
888
            </summary>
889
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> to lift up</param>
890
        </member>
891
        <member name="M:WindowsInput.KeyboardSimulator.KeyPress(WindowsInput.Native.VirtualKeyCode)">
892
            <summary>
893
            Calls the Win32 SendInput method with a KeyDown and KeyUp message in the same input sequence in order to simulate a Key PRESS.
894
            </summary>
895
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> to press</param>
896
        </member>
897
        <member name="M:WindowsInput.KeyboardSimulator.KeyPress(WindowsInput.Native.VirtualKeyCode[])">
898
            <summary>
899
            Simulates a key press for each of the specified key codes in the order they are specified.
900
            </summary>
901
            <param name="keyCodes"></param>
902
        </member>
903
        <member name="M:WindowsInput.KeyboardSimulator.ModifiedKeyStroke(WindowsInput.Native.VirtualKeyCode,WindowsInput.Native.VirtualKeyCode)">
904
            <summary>
905
            Simulates a simple modified keystroke like CTRL-C where CTRL is the modifierKey and C is the key.
906
            The flow is Modifier KeyDown, Key Press, Modifier KeyUp.
907
            </summary>
908
            <param name="modifierKeyCode">The modifier key</param>
909
            <param name="keyCode">The key to simulate</param>
910
        </member>
911
        <member name="M:WindowsInput.KeyboardSimulator.ModifiedKeyStroke(System.Collections.Generic.IEnumerable{WindowsInput.Native.VirtualKeyCode},WindowsInput.Native.VirtualKeyCode)">
912
            <summary>
913
            Simulates a modified keystroke where there are multiple modifiers and one key like CTRL-ALT-C where CTRL and ALT are the modifierKeys and C is the key.
914
            The flow is Modifiers KeyDown in order, Key Press, Modifiers KeyUp in reverse order.
915
            </summary>
916
            <param name="modifierKeyCodes">The list of modifier keys</param>
917
            <param name="keyCode">The key to simulate</param>
918
        </member>
919
        <member name="M:WindowsInput.KeyboardSimulator.ModifiedKeyStroke(WindowsInput.Native.VirtualKeyCode,System.Collections.Generic.IEnumerable{WindowsInput.Native.VirtualKeyCode})">
920
            <summary>
921
            Simulates a modified keystroke where there is one modifier and multiple keys like CTRL-K-C where CTRL is the modifierKey and K and C are the keys.
922
            The flow is Modifier KeyDown, Keys Press in order, Modifier KeyUp.
923
            </summary>
924
            <param name="modifierKey">The modifier key</param>
925
            <param name="keyCodes">The list of keys to simulate</param>
926
        </member>
927
        <member name="M:WindowsInput.KeyboardSimulator.ModifiedKeyStroke(System.Collections.Generic.IEnumerable{WindowsInput.Native.VirtualKeyCode},System.Collections.Generic.IEnumerable{WindowsInput.Native.VirtualKeyCode})">
928
            <summary>
929
            Simulates a modified keystroke where there are multiple modifiers and multiple keys like CTRL-ALT-K-C where CTRL and ALT are the modifierKeys and K and C are the keys.
930
            The flow is Modifiers KeyDown in order, Keys Press in order, Modifiers KeyUp in reverse order.
931
            </summary>
932
            <param name="modifierKeyCodes">The list of modifier keys</param>
933
            <param name="keyCodes">The list of keys to simulate</param>
934
        </member>
935
        <member name="M:WindowsInput.KeyboardSimulator.TextEntry(System.String)">
936
            <summary>
937
            Calls the Win32 SendInput method with a stream of KeyDown and KeyUp messages in order to simulate uninterrupted text entry via the keyboard.
938
            </summary>
939
            <param name="text">The text to be simulated.</param>
940
        </member>
941
        <member name="M:WindowsInput.KeyboardSimulator.TextEntry(System.Char)">
942
            <summary>
943
            Simulates a single character text entry via the keyboard.
944
            </summary>
945
            <param name="character">The unicode character to be simulated.</param>
946
        </member>
947
        <member name="M:WindowsInput.KeyboardSimulator.Sleep(System.Int32)">
948
            <summary>
949
            Sleeps the executing thread to create a pause between simulated inputs.
950
            </summary>
951
            <param name="millsecondsTimeout">The number of milliseconds to wait.</param>
952
        </member>
953
        <member name="M:WindowsInput.KeyboardSimulator.Sleep(System.TimeSpan)">
954
            <summary>
955
            Sleeps the executing thread to create a pause between simulated inputs.
956
            </summary>
957
            <param name="timeout">The time to wait.</param>
958
        </member>
959
        <member name="P:WindowsInput.KeyboardSimulator.Mouse">
960
            <summary>
961
            Gets the <see cref="T:WindowsInput.IMouseSimulator"/> instance for simulating Mouse input.
962
            </summary>
963
            <value>The <see cref="T:WindowsInput.IMouseSimulator"/> instance.</value>
964
        </member>
965
        <member name="T:WindowsInput.Native.InputType">
966
            <summary>
967
            Specifies the type of the input event. This member can be one of the following values. 
968
            </summary>
969
        </member>
970
        <member name="F:WindowsInput.Native.InputType.Mouse">
971
            <summary>
972
            INPUT_MOUSE = 0x00 (The event is a mouse event. Use the mi structure of the union.)
973
            </summary>
974
        </member>
975
        <member name="F:WindowsInput.Native.InputType.Keyboard">
976
            <summary>
977
            INPUT_KEYBOARD = 0x01 (The event is a keyboard event. Use the ki structure of the union.)
978
            </summary>
979
        </member>
980
        <member name="F:WindowsInput.Native.InputType.Hardware">
981
            <summary>
982
            INPUT_HARDWARE = 0x02 (Windows 95/98/Me: The event is from input hardware other than a keyboard or mouse. Use the hi structure of the union.)
983
            </summary>
984
        </member>
985
        <member name="T:WindowsInput.Native.KEYBDINPUT">
986
            <summary>
987
            The KEYBDINPUT structure contains information about a simulated keyboard event.  (see: http://msdn.microsoft.com/en-us/library/ms646271(VS.85).aspx)
988
            Declared in Winuser.h, include Windows.h
989
            </summary>
990
            <remarks>
991
            Windows 2000/XP: INPUT_KEYBOARD supports nonkeyboard-input methods—such as handwriting recognition or voice recognition—as if it were text input by using the KEYEVENTF_UNICODE flag. If KEYEVENTF_UNICODE is specified, SendInput sends a WM_KEYDOWN or WM_KEYUP message to the foreground thread's message queue with wParam equal to VK_PACKET. Once GetMessage or PeekMessage obtains this message, passing the message to TranslateMessage posts a WM_CHAR message with the Unicode character originally specified by wScan. This Unicode character will automatically be converted to the appropriate ANSI value if it is posted to an ANSI window.
992
            Windows 2000/XP: Set the KEYEVENTF_SCANCODE flag to define keyboard input in terms of the scan code. This is useful to simulate a physical keystroke regardless of which keyboard is currently being used. The virtual key value of a key may alter depending on the current keyboard layout or what other keys were pressed, but the scan code will always be the same.
993
            </remarks>
994
        </member>
995
        <member name="F:WindowsInput.Native.KEYBDINPUT.KeyCode">
996
            <summary>
997
            Specifies a virtual-key code. The code must be a value in the range 1 to 254. The Winuser.h header file provides macro definitions (VK_*) for each value. If the dwFlags member specifies KEYEVENTF_UNICODE, wVk must be 0. 
998
            </summary>
999
        </member>
1000
        <member name="F:WindowsInput.Native.KEYBDINPUT.Scan">
1001
            <summary>
1002
            Specifies a hardware scan code for the key. If dwFlags specifies KEYEVENTF_UNICODE, wScan specifies a Unicode character which is to be sent to the foreground application. 
1003
            </summary>
1004
        </member>
1005
        <member name="F:WindowsInput.Native.KEYBDINPUT.Flags">
1006
            <summary>
1007
            Specifies various aspects of a keystroke. This member can be certain combinations of the following values.
1008
            KEYEVENTF_EXTENDEDKEY - If specified, the scan code was preceded by a prefix byte that has the value 0xE0 (224).
1009
            KEYEVENTF_KEYUP - If specified, the key is being released. If not specified, the key is being pressed.
1010
            KEYEVENTF_SCANCODE - If specified, wScan identifies the key and wVk is ignored. 
1011
            KEYEVENTF_UNICODE - Windows 2000/XP: If specified, the system synthesizes a VK_PACKET keystroke. The wVk parameter must be zero. This flag can only be combined with the KEYEVENTF_KEYUP flag. For more information, see the Remarks section. 
1012
            </summary>
1013
        </member>
1014
        <member name="F:WindowsInput.Native.KEYBDINPUT.Time">
1015
            <summary>
1016
            Time stamp for the event, in milliseconds. If this parameter is zero, the system will provide its own time stamp. 
1017
            </summary>
1018
        </member>
1019
        <member name="F:WindowsInput.Native.KEYBDINPUT.ExtraInfo">
1020
            <summary>
1021
            Specifies an additional value associated with the keystroke. Use the GetMessageExtraInfo function to obtain this information. 
1022
            </summary>
1023
        </member>
1024
        <member name="T:WindowsInput.Native.KeyboardFlag">
1025
            <summary>
1026
            Specifies various aspects of a keystroke. This member can be certain combinations of the following values.
1027
            </summary>
1028
        </member>
1029
        <member name="F:WindowsInput.Native.KeyboardFlag.ExtendedKey">
1030
            <summary>
1031
            KEYEVENTF_EXTENDEDKEY = 0x0001 (If specified, the scan code was preceded by a prefix byte that has the value 0xE0 (224).)
1032
            </summary>
1033
        </member>
1034
        <member name="F:WindowsInput.Native.KeyboardFlag.KeyUp">
1035
            <summary>
1036
            KEYEVENTF_KEYUP = 0x0002 (If specified, the key is being released. If not specified, the key is being pressed.)
1037
            </summary>
1038
        </member>
1039
        <member name="F:WindowsInput.Native.KeyboardFlag.Unicode">
1040
            <summary>
1041
            KEYEVENTF_UNICODE = 0x0004 (If specified, wScan identifies the key and wVk is ignored.)
1042
            </summary>
1043
        </member>
1044
        <member name="F:WindowsInput.Native.KeyboardFlag.ScanCode">
1045
            <summary>
1046
            KEYEVENTF_SCANCODE = 0x0008 (Windows 2000/XP: If specified, the system synthesizes a VK_PACKET keystroke. The wVk parameter must be zero. This flag can only be combined with the KEYEVENTF_KEYUP flag. For more information, see the Remarks section.)
1047
            </summary>
1048
        </member>
1049
        <member name="T:WindowsInput.Native.MouseFlag">
1050
            <summary>
1051
            The set of MouseFlags for use in the Flags property of the <see cref="T:WindowsInput.Native.MOUSEINPUT"/> structure. (See: http://msdn.microsoft.com/en-us/library/ms646273(VS.85).aspx)
1052
            </summary>
1053
        </member>
1054
        <member name="F:WindowsInput.Native.MouseFlag.Move">
1055
            <summary>
1056
            Specifies that movement occurred.
1057
            </summary>
1058
        </member>
1059
        <member name="F:WindowsInput.Native.MouseFlag.LeftDown">
1060
            <summary>
1061
            Specifies that the left button was pressed.
1062
            </summary>
1063
        </member>
1064
        <member name="F:WindowsInput.Native.MouseFlag.LeftUp">
1065
            <summary>
1066
            Specifies that the left button was released.
1067
            </summary>
1068
        </member>
1069
        <member name="F:WindowsInput.Native.MouseFlag.RightDown">
1070
            <summary>
1071
            Specifies that the right button was pressed.
1072
            </summary>
1073
        </member>
1074
        <member name="F:WindowsInput.Native.MouseFlag.RightUp">
1075
            <summary>
1076
            Specifies that the right button was released.
1077
            </summary>
1078
        </member>
1079
        <member name="F:WindowsInput.Native.MouseFlag.MiddleDown">
1080
            <summary>
1081
            Specifies that the middle button was pressed.
1082
            </summary>
1083
        </member>
1084
        <member name="F:WindowsInput.Native.MouseFlag.MiddleUp">
1085
            <summary>
1086
            Specifies that the middle button was released.
1087
            </summary>
1088
        </member>
1089
        <member name="F:WindowsInput.Native.MouseFlag.XDown">
1090
            <summary>
1091
            Windows 2000/XP: Specifies that an X button was pressed.
1092
            </summary>
1093
        </member>
1094
        <member name="F:WindowsInput.Native.MouseFlag.XUp">
1095
            <summary>
1096
            Windows 2000/XP: Specifies that an X button was released.
1097
            </summary>
1098
        </member>
1099
        <member name="F:WindowsInput.Native.MouseFlag.VerticalWheel">
1100
            <summary>
1101
            Windows NT/2000/XP: Specifies that the wheel was moved, if the mouse has a wheel. The amount of movement is specified in mouseData. 
1102
            </summary>
1103
        </member>
1104
        <member name="F:WindowsInput.Native.MouseFlag.HorizontalWheel">
1105
            <summary>
1106
            Specifies that the wheel was moved horizontally, if the mouse has a wheel. The amount of movement is specified in mouseData. Windows 2000/XP:  Not supported.
1107
            </summary>
1108
        </member>
1109
        <member name="F:WindowsInput.Native.MouseFlag.VirtualDesk">
1110
            <summary>
1111
            Windows 2000/XP: Maps coordinates to the entire desktop. Must be used with MOUSEEVENTF_ABSOLUTE.
1112
            </summary>
1113
        </member>
1114
        <member name="F:WindowsInput.Native.MouseFlag.Absolute">
1115
            <summary>
1116
            Specifies that the dx and dy members contain normalized absolute coordinates. If the flag is not set, dxand dy contain relative data (the change in position since the last reported position). This flag can be set, or not set, regardless of what kind of mouse or other pointing device, if any, is connected to the system. For further information about relative mouse motion, see the following Remarks section.
1117
            </summary>
1118
        </member>
1119
        <member name="T:WindowsInput.Native.MOUSEINPUT">
1120
            <summary>
1121
            The MOUSEINPUT structure contains information about a simulated mouse event. (see: http://msdn.microsoft.com/en-us/library/ms646273(VS.85).aspx)
1122
            Declared in Winuser.h, include Windows.h
1123
            </summary>
1124
            <remarks>
1125
            If the mouse has moved, indicated by MOUSEEVENTF_MOVE, dx and dy specify information about that movement. The information is specified as absolute or relative integer values. 
1126
            If MOUSEEVENTF_ABSOLUTE value is specified, dx and dy contain normalized absolute coordinates between 0 and 65,535. The event procedure maps these coordinates onto the display surface. Coordinate (0,0) maps onto the upper-left corner of the display surface; coordinate (65535,65535) maps onto the lower-right corner. In a multimonitor system, the coordinates map to the primary monitor. 
1127
            Windows 2000/XP: If MOUSEEVENTF_VIRTUALDESK is specified, the coordinates map to the entire virtual desktop.
1128
            If the MOUSEEVENTF_ABSOLUTE value is not specified, dx and dy specify movement relative to the previous mouse event (the last reported position). Positive values mean the mouse moved right (or down); negative values mean the mouse moved left (or up). 
1129
            Relative mouse motion is subject to the effects of the mouse speed and the two-mouse threshold values. A user sets these three values with the Pointer Speed slider of the Control Panel's Mouse Properties sheet. You can obtain and set these values using the SystemParametersInfo function. 
1130
            The system applies two tests to the specified relative mouse movement. If the specified distance along either the x or y axis is greater than the first mouse threshold value, and the mouse speed is not zero, the system doubles the distance. If the specified distance along either the x or y axis is greater than the second mouse threshold value, and the mouse speed is equal to two, the system doubles the distance that resulted from applying the first threshold test. It is thus possible for the system to multiply specified relative mouse movement along the x or y axis by up to four times.
1131
            </remarks>
1132
        </member>
1133
        <member name="F:WindowsInput.Native.MOUSEINPUT.X">
1134
            <summary>
1135
            Specifies the absolute position of the mouse, or the amount of motion since the last mouse event was generated, depending on the value of the dwFlags member. Absolute data is specified as the x coordinate of the mouse; relative data is specified as the number of pixels moved. 
1136
            </summary>
1137
        </member>
1138
        <member name="F:WindowsInput.Native.MOUSEINPUT.Y">
1139
            <summary>
1140
            Specifies the absolute position of the mouse, or the amount of motion since the last mouse event was generated, depending on the value of the dwFlags member. Absolute data is specified as the y coordinate of the mouse; relative data is specified as the number of pixels moved. 
1141
            </summary>
1142
        </member>
1143
        <member name="F:WindowsInput.Native.MOUSEINPUT.MouseData">
1144
            <summary>
1145
            If dwFlags contains MOUSEEVENTF_WHEEL, then mouseData specifies the amount of wheel movement. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user. One wheel click is defined as WHEEL_DELTA, which is 120. 
1146
            Windows Vista: If dwFlags contains MOUSEEVENTF_HWHEEL, then dwData specifies the amount of wheel movement. A positive value indicates that the wheel was rotated to the right; a negative value indicates that the wheel was rotated to the left. One wheel click is defined as WHEEL_DELTA, which is 120.
1147
            Windows 2000/XP: IfdwFlags does not contain MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN, or MOUSEEVENTF_XUP, then mouseData should be zero. 
1148
            If dwFlags contains MOUSEEVENTF_XDOWN or MOUSEEVENTF_XUP, then mouseData specifies which X buttons were pressed or released. This value may be any combination of the following flags. 
1149
            </summary>
1150
        </member>
1151
        <member name="F:WindowsInput.Native.MOUSEINPUT.Flags">
1152
            <summary>
1153
            A set of bit flags that specify various aspects of mouse motion and button clicks. The bits in this member can be any reasonable combination of the following values. 
1154
            The bit flags that specify mouse button status are set to indicate changes in status, not ongoing conditions. For example, if the left mouse button is pressed and held down, MOUSEEVENTF_LEFTDOWN is set when the left button is first pressed, but not for subsequent motions. Similarly, MOUSEEVENTF_LEFTUP is set only when the button is first released. 
1155
            You cannot specify both the MOUSEEVENTF_WHEEL flag and either MOUSEEVENTF_XDOWN or MOUSEEVENTF_XUP flags simultaneously in the dwFlags parameter, because they both require use of the mouseData field. 
1156
            </summary>
1157
        </member>
1158
        <member name="F:WindowsInput.Native.MOUSEINPUT.Time">
1159
            <summary>
1160
            Time stamp for the event, in milliseconds. If this parameter is 0, the system will provide its own time stamp. 
1161
            </summary>
1162
        </member>
1163
        <member name="F:WindowsInput.Native.MOUSEINPUT.ExtraInfo">
1164
            <summary>
1165
            Specifies an additional value associated with the mouse event. An application calls GetMessageExtraInfo to obtain this extra information. 
1166
            </summary>
1167
        </member>
1168
        <member name="T:WindowsInput.Native.MOUSEKEYBDHARDWAREINPUT">
1169
            <summary>
1170
            The combined/overlayed structure that includes Mouse, Keyboard and Hardware Input message data (see: http://msdn.microsoft.com/en-us/library/ms646270(VS.85).aspx)
1171
            </summary>
1172
        </member>
1173
        <member name="F:WindowsInput.Native.MOUSEKEYBDHARDWAREINPUT.Mouse">
1174
            <summary>
1175
            The <see cref="T:WindowsInput.Native.MOUSEINPUT"/> definition.
1176
            </summary>
1177
        </member>
1178
        <member name="F:WindowsInput.Native.MOUSEKEYBDHARDWAREINPUT.Keyboard">
1179
            <summary>
1180
            The <see cref="T:WindowsInput.Native.KEYBDINPUT"/> definition.
1181
            </summary>
1182
        </member>
1183
        <member name="F:WindowsInput.Native.MOUSEKEYBDHARDWAREINPUT.Hardware">
1184
            <summary>
1185
            The <see cref="T:WindowsInput.Native.HARDWAREINPUT"/> definition.
1186
            </summary>
1187
        </member>
1188
        <member name="T:WindowsInput.WindowsInputDeviceStateAdaptor">
1189
            <summary>
1190
            An implementation of <see cref="T:WindowsInput.IInputDeviceStateAdaptor"/> for Windows by calling the native <see cref="M:WindowsInput.Native.NativeMethods.GetKeyState(System.UInt16)"/> and <see cref="M:WindowsInput.Native.NativeMethods.GetAsyncKeyState(System.UInt16)"/> methods.
1191
            </summary>
1192
        </member>
1193
        <member name="M:WindowsInput.WindowsInputDeviceStateAdaptor.IsKeyDown(WindowsInput.Native.VirtualKeyCode)">
1194
            <summary>
1195
            Determines whether the specified key is up or down by calling the GetKeyState function. (See: http://msdn.microsoft.com/en-us/library/ms646301(VS.85).aspx)
1196
            </summary>
1197
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
1198
            <returns>
1199
            	<c>true</c> if the key is down; otherwise, <c>false</c>.
1200
            </returns>
1201
            <remarks>
1202
            The key status returned from this function changes as a thread reads key messages from its message queue. The status does not reflect the interrupt-level state associated with the hardware. Use the GetAsyncKeyState function to retrieve that information. 
1203
            An application calls GetKeyState in response to a keyboard-input message. This function retrieves the state of the key when the input message was generated. 
1204
            To retrieve state information for all the virtual keys, use the GetKeyboardState function. 
1205
            An application can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for Bthe nVirtKey parameter. This gives the status of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. An application can also use the following virtual-key code constants as values for nVirtKey to distinguish between the left and right instances of those keys. 
1206
            VK_LSHIFT
1207
            VK_RSHIFT
1208
            VK_LCONTROL
1209
            VK_RCONTROL
1210
            VK_LMENU
1211
            VK_RMENU
1212
 
1213
            These left- and right-distinguishing constants are available to an application only through the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. 
1214
            </remarks>
1215
        </member>
1216
        <member name="M:WindowsInput.WindowsInputDeviceStateAdaptor.IsKeyUp(WindowsInput.Native.VirtualKeyCode)">
1217
            <summary>
1218
            Determines whether the specified key is up or downby calling the <see cref="M:WindowsInput.Native.NativeMethods.GetKeyState(System.UInt16)"/> function. (See: http://msdn.microsoft.com/en-us/library/ms646301(VS.85).aspx)
1219
            </summary>
1220
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
1221
            <returns>
1222
            	<c>true</c> if the key is up; otherwise, <c>false</c>.
1223
            </returns>
1224
            <remarks>
1225
            The key status returned from this function changes as a thread reads key messages from its message queue. The status does not reflect the interrupt-level state associated with the hardware. Use the GetAsyncKeyState function to retrieve that information. 
1226
            An application calls GetKeyState in response to a keyboard-input message. This function retrieves the state of the key when the input message was generated. 
1227
            To retrieve state information for all the virtual keys, use the GetKeyboardState function. 
1228
            An application can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for Bthe nVirtKey parameter. This gives the status of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. An application can also use the following virtual-key code constants as values for nVirtKey to distinguish between the left and right instances of those keys. 
1229
            VK_LSHIFT
1230
            VK_RSHIFT
1231
            VK_LCONTROL
1232
            VK_RCONTROL
1233
            VK_LMENU
1234
            VK_RMENU
1235
 
1236
            These left- and right-distinguishing constants are available to an application only through the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. 
1237
            </remarks>
1238
        </member>
1239
        <member name="M:WindowsInput.WindowsInputDeviceStateAdaptor.IsHardwareKeyDown(WindowsInput.Native.VirtualKeyCode)">
1240
            <summary>
1241
            Determines whether the physical key is up or down at the time the function is called regardless of whether the application thread has read the keyboard event from the message pump by calling the <see cref="M:WindowsInput.Native.NativeMethods.GetAsyncKeyState(System.UInt16)"/> function. (See: http://msdn.microsoft.com/en-us/library/ms646293(VS.85).aspx)
1242
            </summary>
1243
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
1244
            <returns>
1245
            	<c>true</c> if the key is down; otherwise, <c>false</c>.
1246
            </returns>
1247
            <remarks>
1248
            The GetAsyncKeyState function works with mouse buttons. However, it checks on the state of the physical mouse buttons, not on the logical mouse buttons that the physical buttons are mapped to. For example, the call GetAsyncKeyState(VK_LBUTTON) always returns the state of the left physical mouse button, regardless of whether it is mapped to the left or right logical mouse button. You can determine the system's current mapping of physical mouse buttons to logical mouse buttons by calling 
1249
            Copy CodeGetSystemMetrics(SM_SWAPBUTTON) which returns TRUE if the mouse buttons have been swapped.
1250
 
1251
            Although the least significant bit of the return value indicates whether the key has been pressed since the last query, due to the pre-emptive multitasking nature of Windows, another application can call GetAsyncKeyState and receive the "recently pressed" bit instead of your application. The behavior of the least significant bit of the return value is retained strictly for compatibility with 16-bit Windows applications (which are non-preemptive) and should not be relied upon.
1252
 
1253
            You can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for the vKey parameter. This gives the state of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. 
1254
 
1255
            Windows NT/2000/XP: You can use the following virtual-key code constants as values for vKey to distinguish between the left and right instances of those keys. 
1256
 
1257
            Code Meaning 
1258
            VK_LSHIFT Left-shift key. 
1259
            VK_RSHIFT Right-shift key. 
1260
            VK_LCONTROL Left-control key. 
1261
            VK_RCONTROL Right-control key. 
1262
            VK_LMENU Left-menu key. 
1263
            VK_RMENU Right-menu key. 
1264
 
1265
            These left- and right-distinguishing constants are only available when you call the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. 
1266
            </remarks>
1267
        </member>
1268
        <member name="M:WindowsInput.WindowsInputDeviceStateAdaptor.IsHardwareKeyUp(WindowsInput.Native.VirtualKeyCode)">
1269
            <summary>
1270
            Determines whether the physical key is up or down at the time the function is called regardless of whether the application thread has read the keyboard event from the message pump by calling the <see cref="M:WindowsInput.Native.NativeMethods.GetAsyncKeyState(System.UInt16)"/> function. (See: http://msdn.microsoft.com/en-us/library/ms646293(VS.85).aspx)
1271
            </summary>
1272
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
1273
            <returns>
1274
            	<c>true</c> if the key is up; otherwise, <c>false</c>.
1275
            </returns>
1276
            <remarks>
1277
            The GetAsyncKeyState function works with mouse buttons. However, it checks on the state of the physical mouse buttons, not on the logical mouse buttons that the physical buttons are mapped to. For example, the call GetAsyncKeyState(VK_LBUTTON) always returns the state of the left physical mouse button, regardless of whether it is mapped to the left or right logical mouse button. You can determine the system's current mapping of physical mouse buttons to logical mouse buttons by calling 
1278
            Copy CodeGetSystemMetrics(SM_SWAPBUTTON) which returns TRUE if the mouse buttons have been swapped.
1279
 
1280
            Although the least significant bit of the return value indicates whether the key has been pressed since the last query, due to the pre-emptive multitasking nature of Windows, another application can call GetAsyncKeyState and receive the "recently pressed" bit instead of your application. The behavior of the least significant bit of the return value is retained strictly for compatibility with 16-bit Windows applications (which are non-preemptive) and should not be relied upon.
1281
 
1282
            You can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for the vKey parameter. This gives the state of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. 
1283
 
1284
            Windows NT/2000/XP: You can use the following virtual-key code constants as values for vKey to distinguish between the left and right instances of those keys. 
1285
 
1286
            Code Meaning 
1287
            VK_LSHIFT Left-shift key. 
1288
            VK_RSHIFT Right-shift key. 
1289
            VK_LCONTROL Left-control key. 
1290
            VK_RCONTROL Right-control key. 
1291
            VK_LMENU Left-menu key. 
1292
            VK_RMENU Right-menu key. 
1293
 
1294
            These left- and right-distinguishing constants are only available when you call the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. 
1295
            </remarks>
1296
        </member>
1297
        <member name="M:WindowsInput.WindowsInputDeviceStateAdaptor.IsTogglingKeyInEffect(WindowsInput.Native.VirtualKeyCode)">
1298
            <summary>
1299
            Determines whether the toggling key is toggled on (in-effect) or not by calling the <see cref="M:WindowsInput.Native.NativeMethods.GetKeyState(System.UInt16)"/> function.  (See: http://msdn.microsoft.com/en-us/library/ms646301(VS.85).aspx)
1300
            </summary>
1301
            <param name="keyCode">The <see cref="T:WindowsInput.Native.VirtualKeyCode"/> for the key.</param>
1302
            <returns>
1303
            	<c>true</c> if the toggling key is toggled on (in-effect); otherwise, <c>false</c>.
1304
            </returns>
1305
            <remarks>
1306
            The key status returned from this function changes as a thread reads key messages from its message queue. The status does not reflect the interrupt-level state associated with the hardware. Use the GetAsyncKeyState function to retrieve that information. 
1307
            An application calls GetKeyState in response to a keyboard-input message. This function retrieves the state of the key when the input message was generated. 
1308
            To retrieve state information for all the virtual keys, use the GetKeyboardState function. 
1309
            An application can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for the nVirtKey parameter. This gives the status of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. An application can also use the following virtual-key code constants as values for nVirtKey to distinguish between the left and right instances of those keys. 
1310
            VK_LSHIFT
1311
            VK_RSHIFT
1312
            VK_LCONTROL
1313
            VK_RCONTROL
1314
            VK_LMENU
1315
            VK_RMENU
1316
 
1317
            These left- and right-distinguishing constants are available to an application only through the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. 
1318
            </remarks>
1319
        </member>
1320
        <member name="T:WindowsInput.WindowsInputMessageDispatcher">
1321
            <summary>
1322
            Implements the <see cref="T:WindowsInput.IInputMessageDispatcher"/> by calling <see cref="M:WindowsInput.Native.NativeMethods.SendInput(System.UInt32,WindowsInput.Native.INPUT[],System.Int32)"/>.
1323
            </summary>
1324
        </member>
1325
        <member name="M:WindowsInput.WindowsInputMessageDispatcher.DispatchInput(WindowsInput.Native.INPUT[])">
1326
            <summary>
1327
            Dispatches the specified list of <see cref="T:WindowsInput.Native.INPUT"/> messages in their specified order by issuing a single called to <see cref="M:WindowsInput.Native.NativeMethods.SendInput(System.UInt32,WindowsInput.Native.INPUT[],System.Int32)"/>.
1328
            </summary>
1329
            <param name="inputs">The list of <see cref="T:WindowsInput.Native.INPUT"/> messages to be dispatched.</param>
1330
            <exception cref="T:System.ArgumentException">If the <paramref name="inputs"/> array is empty.</exception>
1331
            <exception cref="T:System.ArgumentNullException">If the <paramref name="inputs"/> array is null.</exception>
1332
            <exception cref="T:System.Exception">If the any of the commands in the <paramref name="inputs"/> array could not be sent successfully.</exception>
1333
        </member>
1334
        <member name="T:WindowsInput.Native.VirtualKeyCode">
1335
            <summary>
1336
            The list of VirtualKeyCodes (see: http://msdn.microsoft.com/en-us/library/ms645540(VS.85).aspx)
1337
            </summary>
1338
        </member>
1339
        <member name="F:WindowsInput.Native.VirtualKeyCode.LBUTTON">
1340
            <summary>
1341
            Left mouse button
1342
            </summary>
1343
        </member>
1344
        <member name="F:WindowsInput.Native.VirtualKeyCode.RBUTTON">
1345
            <summary>
1346
            Right mouse button
1347
            </summary>
1348
        </member>
1349
        <member name="F:WindowsInput.Native.VirtualKeyCode.CANCEL">
1350
            <summary>
1351
            Control-break processing
1352
            </summary>
1353
        </member>
1354
        <member name="F:WindowsInput.Native.VirtualKeyCode.MBUTTON">
1355
            <summary>
1356
            Middle mouse button (three-button mouse) - NOT contiguous with LBUTTON and RBUTTON
1357
            </summary>
1358
        </member>
1359
        <member name="F:WindowsInput.Native.VirtualKeyCode.XBUTTON1">
1360
            <summary>
1361
            Windows 2000/XP: X1 mouse button - NOT contiguous with LBUTTON and RBUTTON
1362
            </summary>
1363
        </member>
1364
        <member name="F:WindowsInput.Native.VirtualKeyCode.XBUTTON2">
1365
            <summary>
1366
            Windows 2000/XP: X2 mouse button - NOT contiguous with LBUTTON and RBUTTON
1367
            </summary>
1368
        </member>
1369
        <member name="F:WindowsInput.Native.VirtualKeyCode.BACK">
1370
            <summary>
1371
            BACKSPACE key
1372
            </summary>
1373
        </member>
1374
        <member name="F:WindowsInput.Native.VirtualKeyCode.TAB">
1375
            <summary>
1376
            TAB key
1377
            </summary>
1378
        </member>
1379
        <member name="F:WindowsInput.Native.VirtualKeyCode.CLEAR">
1380
            <summary>
1381
            CLEAR key
1382
            </summary>
1383
        </member>
1384
        <member name="F:WindowsInput.Native.VirtualKeyCode.RETURN">
1385
            <summary>
1386
            ENTER key
1387
            </summary>
1388
        </member>
1389
        <member name="F:WindowsInput.Native.VirtualKeyCode.SHIFT">
1390
            <summary>
1391
            SHIFT key
1392
            </summary>
1393
        </member>
1394
        <member name="F:WindowsInput.Native.VirtualKeyCode.CONTROL">
1395
            <summary>
1396
            CTRL key
1397
            </summary>
1398
        </member>
1399
        <member name="F:WindowsInput.Native.VirtualKeyCode.MENU">
1400
            <summary>
1401
            ALT key
1402
            </summary>
1403
        </member>
1404
        <member name="F:WindowsInput.Native.VirtualKeyCode.PAUSE">
1405
            <summary>
1406
            PAUSE key
1407
            </summary>
1408
        </member>
1409
        <member name="F:WindowsInput.Native.VirtualKeyCode.CAPITAL">
1410
            <summary>
1411
            CAPS LOCK key
1412
            </summary>
1413
        </member>
1414
        <member name="F:WindowsInput.Native.VirtualKeyCode.KANA">
1415
            <summary>
1416
            Input Method Editor (IME) Kana mode
1417
            </summary>
1418
        </member>
1419
        <member name="F:WindowsInput.Native.VirtualKeyCode.HANGEUL">
1420
            <summary>
1421
            IME Hanguel mode (maintained for compatibility; use HANGUL)
1422
            </summary>
1423
        </member>
1424
        <member name="F:WindowsInput.Native.VirtualKeyCode.HANGUL">
1425
            <summary>
1426
            IME Hangul mode
1427
            </summary>
1428
        </member>
1429
        <member name="F:WindowsInput.Native.VirtualKeyCode.JUNJA">
1430
            <summary>
1431
            IME Junja mode
1432
            </summary>
1433
        </member>
1434
        <member name="F:WindowsInput.Native.VirtualKeyCode.FINAL">
1435
            <summary>
1436
            IME final mode
1437
            </summary>
1438
        </member>
1439
        <member name="F:WindowsInput.Native.VirtualKeyCode.HANJA">
1440
            <summary>
1441
            IME Hanja mode
1442
            </summary>
1443
        </member>
1444
        <member name="F:WindowsInput.Native.VirtualKeyCode.KANJI">
1445
            <summary>
1446
            IME Kanji mode
1447
            </summary>
1448
        </member>
1449
        <member name="F:WindowsInput.Native.VirtualKeyCode.ESCAPE">
1450
            <summary>
1451
            ESC key
1452
            </summary>
1453
        </member>
1454
        <member name="F:WindowsInput.Native.VirtualKeyCode.CONVERT">
1455
            <summary>
1456
            IME convert
1457
            </summary>
1458
        </member>
1459
        <member name="F:WindowsInput.Native.VirtualKeyCode.NONCONVERT">
1460
            <summary>
1461
            IME nonconvert
1462
            </summary>
1463
        </member>
1464
        <member name="F:WindowsInput.Native.VirtualKeyCode.ACCEPT">
1465
            <summary>
1466
            IME accept
1467
            </summary>
1468
        </member>
1469
        <member name="F:WindowsInput.Native.VirtualKeyCode.MODECHANGE">
1470
            <summary>
1471
            IME mode change request
1472
            </summary>
1473
        </member>
1474
        <member name="F:WindowsInput.Native.VirtualKeyCode.SPACE">
1475
            <summary>
1476
            SPACEBAR
1477
            </summary>
1478
        </member>
1479
        <member name="F:WindowsInput.Native.VirtualKeyCode.PRIOR">
1480
            <summary>
1481
            PAGE UP key
1482
            </summary>
1483
        </member>
1484
        <member name="F:WindowsInput.Native.VirtualKeyCode.NEXT">
1485
            <summary>
1486
            PAGE DOWN key
1487
            </summary>
1488
        </member>
1489
        <member name="F:WindowsInput.Native.VirtualKeyCode.END">
1490
            <summary>
1491
            END key
1492
            </summary>
1493
        </member>
1494
        <member name="F:WindowsInput.Native.VirtualKeyCode.HOME">
1495
            <summary>
1496
            HOME key
1497
            </summary>
1498
        </member>
1499
        <member name="F:WindowsInput.Native.VirtualKeyCode.LEFT">
1500
            <summary>
1501
            LEFT ARROW key
1502
            </summary>
1503
        </member>
1504
        <member name="F:WindowsInput.Native.VirtualKeyCode.UP">
1505
            <summary>
1506
            UP ARROW key
1507
            </summary>
1508
        </member>
1509
        <member name="F:WindowsInput.Native.VirtualKeyCode.RIGHT">
1510
            <summary>
1511
            RIGHT ARROW key
1512
            </summary>
1513
        </member>
1514
        <member name="F:WindowsInput.Native.VirtualKeyCode.DOWN">
1515
            <summary>
1516
            DOWN ARROW key
1517
            </summary>
1518
        </member>
1519
        <member name="F:WindowsInput.Native.VirtualKeyCode.SELECT">
1520
            <summary>
1521
            SELECT key
1522
            </summary>
1523
        </member>
1524
        <member name="F:WindowsInput.Native.VirtualKeyCode.PRINT">
1525
            <summary>
1526
            PRINT key
1527
            </summary>
1528
        </member>
1529
        <member name="F:WindowsInput.Native.VirtualKeyCode.EXECUTE">
1530
            <summary>
1531
            EXECUTE key
1532
            </summary>
1533
        </member>
1534
        <member name="F:WindowsInput.Native.VirtualKeyCode.SNAPSHOT">
1535
            <summary>
1536
            PRINT SCREEN key
1537
            </summary>
1538
        </member>
1539
        <member name="F:WindowsInput.Native.VirtualKeyCode.INSERT">
1540
            <summary>
1541
            INS key
1542
            </summary>
1543
        </member>
1544
        <member name="F:WindowsInput.Native.VirtualKeyCode.DELETE">
1545
            <summary>
1546
            DEL key
1547
            </summary>
1548
        </member>
1549
        <member name="F:WindowsInput.Native.VirtualKeyCode.HELP">
1550
            <summary>
1551
            HELP key
1552
            </summary>
1553
        </member>
1554
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_0">
1555
            <summary>
1556
 
1557
            </summary>
1558
        </member>
1559
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_1">
1560
            <summary>
1561
            1 key
1562
            </summary>
1563
        </member>
1564
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_2">
1565
            <summary>
1566
            2 key
1567
            </summary>
1568
        </member>
1569
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_3">
1570
            <summary>
1571
            3 key
1572
            </summary>
1573
        </member>
1574
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_4">
1575
            <summary>
1576
            4 key
1577
            </summary>
1578
        </member>
1579
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_5">
1580
            <summary>
1581
            5 key
1582
            </summary>
1583
        </member>
1584
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_6">
1585
            <summary>
1586
            6 key
1587
            </summary>
1588
        </member>
1589
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_7">
1590
            <summary>
1591
            7 key
1592
            </summary>
1593
        </member>
1594
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_8">
1595
            <summary>
1596
            8 key
1597
            </summary>
1598
        </member>
1599
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_9">
1600
            <summary>
1601
            9 key
1602
            </summary>
1603
        </member>
1604
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_A">
1605
            <summary>
1606
            A key
1607
            </summary>
1608
        </member>
1609
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_B">
1610
            <summary>
1611
            B key
1612
            </summary>
1613
        </member>
1614
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_C">
1615
            <summary>
1616
            C key
1617
            </summary>
1618
        </member>
1619
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_D">
1620
            <summary>
1621
            D key
1622
            </summary>
1623
        </member>
1624
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_E">
1625
            <summary>
1626
            E key
1627
            </summary>
1628
        </member>
1629
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_F">
1630
            <summary>
1631
            F key
1632
            </summary>
1633
        </member>
1634
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_G">
1635
            <summary>
1636
            G key
1637
            </summary>
1638
        </member>
1639
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_H">
1640
            <summary>
1641
            H key
1642
            </summary>
1643
        </member>
1644
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_I">
1645
            <summary>
1646
            I key
1647
            </summary>
1648
        </member>
1649
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_J">
1650
            <summary>
1651
            J key
1652
            </summary>
1653
        </member>
1654
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_K">
1655
            <summary>
1656
            K key
1657
            </summary>
1658
        </member>
1659
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_L">
1660
            <summary>
1661
            L key
1662
            </summary>
1663
        </member>
1664
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_M">
1665
            <summary>
1666
            M key
1667
            </summary>
1668
        </member>
1669
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_N">
1670
            <summary>
1671
            N key
1672
            </summary>
1673
        </member>
1674
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_O">
1675
            <summary>
1676
            O key
1677
            </summary>
1678
        </member>
1679
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_P">
1680
            <summary>
1681
            P key
1682
            </summary>
1683
        </member>
1684
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_Q">
1685
            <summary>
1686
            Q key
1687
            </summary>
1688
        </member>
1689
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_R">
1690
            <summary>
1691
            R key
1692
            </summary>
1693
        </member>
1694
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_S">
1695
            <summary>
1696
            S key
1697
            </summary>
1698
        </member>
1699
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_T">
1700
            <summary>
1701
            T key
1702
            </summary>
1703
        </member>
1704
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_U">
1705
            <summary>
1706
            U key
1707
            </summary>
1708
        </member>
1709
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_V">
1710
            <summary>
1711
            V key
1712
            </summary>
1713
        </member>
1714
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_W">
1715
            <summary>
1716
            W key
1717
            </summary>
1718
        </member>
1719
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_X">
1720
            <summary>
1721
            X key
1722
            </summary>
1723
        </member>
1724
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_Y">
1725
            <summary>
1726
            Y key
1727
            </summary>
1728
        </member>
1729
        <member name="F:WindowsInput.Native.VirtualKeyCode.VK_Z">
1730
            <summary>
1731
            Z key
1732
            </summary>
1733
        </member>
1734
        <member name="F:WindowsInput.Native.VirtualKeyCode.LWIN">
1735
            <summary>
1736
            Left Windows key (Microsoft Natural keyboard)
1737
            </summary>
1738
        </member>
1739
        <member name="F:WindowsInput.Native.VirtualKeyCode.RWIN">
1740
            <summary>
1741
            Right Windows key (Natural keyboard)
1742
            </summary>
1743
        </member>
1744
        <member name="F:WindowsInput.Native.VirtualKeyCode.APPS">
1745
            <summary>
1746
            Applications key (Natural keyboard)
1747
            </summary>
1748
        </member>
1749
        <member name="F:WindowsInput.Native.VirtualKeyCode.SLEEP">
1750
            <summary>
1751
            Computer Sleep key
1752
            </summary>
1753
        </member>
1754
        <member name="F:WindowsInput.Native.VirtualKeyCode.NUMPAD0">
1755
            <summary>
1756
            Numeric keypad 0 key
1757
            </summary>
1758
        </member>
1759
        <member name="F:WindowsInput.Native.VirtualKeyCode.NUMPAD1">
1760
            <summary>
1761
            Numeric keypad 1 key
1762
            </summary>
1763
        </member>
1764
        <member name="F:WindowsInput.Native.VirtualKeyCode.NUMPAD2">
1765
            <summary>
1766
            Numeric keypad 2 key
1767
            </summary>
1768
        </member>
1769
        <member name="F:WindowsInput.Native.VirtualKeyCode.NUMPAD3">
1770
            <summary>
1771
            Numeric keypad 3 key
1772
            </summary>
1773
        </member>
1774
        <member name="F:WindowsInput.Native.VirtualKeyCode.NUMPAD4">
1775
            <summary>
1776
            Numeric keypad 4 key
1777
            </summary>
1778
        </member>
1779
        <member name="F:WindowsInput.Native.VirtualKeyCode.NUMPAD5">
1780
            <summary>
1781
            Numeric keypad 5 key
1782
            </summary>
1783
        </member>
1784
        <member name="F:WindowsInput.Native.VirtualKeyCode.NUMPAD6">
1785
            <summary>
1786
            Numeric keypad 6 key
1787
            </summary>
1788
        </member>
1789
        <member name="F:WindowsInput.Native.VirtualKeyCode.NUMPAD7">
1790
            <summary>
1791
            Numeric keypad 7 key
1792
            </summary>
1793
        </member>
1794
        <member name="F:WindowsInput.Native.VirtualKeyCode.NUMPAD8">
1795
            <summary>
1796
            Numeric keypad 8 key
1797
            </summary>
1798
        </member>
1799
        <member name="F:WindowsInput.Native.VirtualKeyCode.NUMPAD9">
1800
            <summary>
1801
            Numeric keypad 9 key
1802
            </summary>
1803
        </member>
1804
        <member name="F:WindowsInput.Native.VirtualKeyCode.MULTIPLY">
1805
            <summary>
1806
            Multiply key
1807
            </summary>
1808
        </member>
1809
        <member name="F:WindowsInput.Native.VirtualKeyCode.ADD">
1810
            <summary>
1811
            Add key
1812
            </summary>
1813
        </member>
1814
        <member name="F:WindowsInput.Native.VirtualKeyCode.SEPARATOR">
1815
            <summary>
1816
            Separator key
1817
            </summary>
1818
        </member>
1819
        <member name="F:WindowsInput.Native.VirtualKeyCode.SUBTRACT">
1820
            <summary>
1821
            Subtract key
1822
            </summary>
1823
        </member>
1824
        <member name="F:WindowsInput.Native.VirtualKeyCode.DECIMAL">
1825
            <summary>
1826
            Decimal key
1827
            </summary>
1828
        </member>
1829
        <member name="F:WindowsInput.Native.VirtualKeyCode.DIVIDE">
1830
            <summary>
1831
            Divide key
1832
            </summary>
1833
        </member>
1834
        <member name="F:WindowsInput.Native.VirtualKeyCode.F1">
1835
            <summary>
1836
            F1 key
1837
            </summary>
1838
        </member>
1839
        <member name="F:WindowsInput.Native.VirtualKeyCode.F2">
1840
            <summary>
1841
            F2 key
1842
            </summary>
1843
        </member>
1844
        <member name="F:WindowsInput.Native.VirtualKeyCode.F3">
1845
            <summary>
1846
            F3 key
1847
            </summary>
1848
        </member>
1849
        <member name="F:WindowsInput.Native.VirtualKeyCode.F4">
1850
            <summary>
1851
            F4 key
1852
            </summary>
1853
        </member>
1854
        <member name="F:WindowsInput.Native.VirtualKeyCode.F5">
1855
            <summary>
1856
            F5 key
1857
            </summary>
1858
        </member>
1859
        <member name="F:WindowsInput.Native.VirtualKeyCode.F6">
1860
            <summary>
1861
            F6 key
1862
            </summary>
1863
        </member>
1864
        <member name="F:WindowsInput.Native.VirtualKeyCode.F7">
1865
            <summary>
1866
            F7 key
1867
            </summary>
1868
        </member>
1869
        <member name="F:WindowsInput.Native.VirtualKeyCode.F8">
1870
            <summary>
1871
            F8 key
1872
            </summary>
1873
        </member>
1874
        <member name="F:WindowsInput.Native.VirtualKeyCode.F9">
1875
            <summary>
1876
            F9 key
1877
            </summary>
1878
        </member>
1879
        <member name="F:WindowsInput.Native.VirtualKeyCode.F10">
1880
            <summary>
1881
            F10 key
1882
            </summary>
1883
        </member>
1884
        <member name="F:WindowsInput.Native.VirtualKeyCode.F11">
1885
            <summary>
1886
            F11 key
1887
            </summary>
1888
        </member>
1889
        <member name="F:WindowsInput.Native.VirtualKeyCode.F12">
1890
            <summary>
1891
            F12 key
1892
            </summary>
1893
        </member>
1894
        <member name="F:WindowsInput.Native.VirtualKeyCode.F13">
1895
            <summary>
1896
            F13 key
1897
            </summary>
1898
        </member>
1899
        <member name="F:WindowsInput.Native.VirtualKeyCode.F14">
1900
            <summary>
1901
            F14 key
1902
            </summary>
1903
        </member>
1904
        <member name="F:WindowsInput.Native.VirtualKeyCode.F15">
1905
            <summary>
1906
            F15 key
1907
            </summary>
1908
        </member>
1909
        <member name="F:WindowsInput.Native.VirtualKeyCode.F16">
1910
            <summary>
1911
            F16 key
1912
            </summary>
1913
        </member>
1914
        <member name="F:WindowsInput.Native.VirtualKeyCode.F17">
1915
            <summary>
1916
            F17 key
1917
            </summary>
1918
        </member>
1919
        <member name="F:WindowsInput.Native.VirtualKeyCode.F18">
1920
            <summary>
1921
            F18 key
1922
            </summary>
1923
        </member>
1924
        <member name="F:WindowsInput.Native.VirtualKeyCode.F19">
1925
            <summary>
1926
            F19 key
1927
            </summary>
1928
        </member>
1929
        <member name="F:WindowsInput.Native.VirtualKeyCode.F20">
1930
            <summary>
1931
            F20 key
1932
            </summary>
1933
        </member>
1934
        <member name="F:WindowsInput.Native.VirtualKeyCode.F21">
1935
            <summary>
1936
            F21 key
1937
            </summary>
1938
        </member>
1939
        <member name="F:WindowsInput.Native.VirtualKeyCode.F22">
1940
            <summary>
1941
            F22 key
1942
            </summary>
1943
        </member>
1944
        <member name="F:WindowsInput.Native.VirtualKeyCode.F23">
1945
            <summary>
1946
            F23 key
1947
            </summary>
1948
        </member>
1949
        <member name="F:WindowsInput.Native.VirtualKeyCode.F24">
1950
            <summary>
1951
            F24 key
1952
            </summary>
1953
        </member>
1954
        <member name="F:WindowsInput.Native.VirtualKeyCode.NUMLOCK">
1955
            <summary>
1956
            NUM LOCK key
1957
            </summary>
1958
        </member>
1959
        <member name="F:WindowsInput.Native.VirtualKeyCode.SCROLL">
1960
            <summary>
1961
            SCROLL LOCK key
1962
            </summary>
1963
        </member>
1964
        <member name="F:WindowsInput.Native.VirtualKeyCode.LSHIFT">
1965
            <summary>
1966
            Left SHIFT key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
1967
            </summary>
1968
        </member>
1969
        <member name="F:WindowsInput.Native.VirtualKeyCode.RSHIFT">
1970
            <summary>
1971
            Right SHIFT key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
1972
            </summary>
1973
        </member>
1974
        <member name="F:WindowsInput.Native.VirtualKeyCode.LCONTROL">
1975
            <summary>
1976
            Left CONTROL key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
1977
            </summary>
1978
        </member>
1979
        <member name="F:WindowsInput.Native.VirtualKeyCode.RCONTROL">
1980
            <summary>
1981
            Right CONTROL key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
1982
            </summary>
1983
        </member>
1984
        <member name="F:WindowsInput.Native.VirtualKeyCode.LMENU">
1985
            <summary>
1986
            Left MENU key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
1987
            </summary>
1988
        </member>
1989
        <member name="F:WindowsInput.Native.VirtualKeyCode.RMENU">
1990
            <summary>
1991
            Right MENU key - Used only as parameters to GetAsyncKeyState() and GetKeyState()
1992
            </summary>
1993
        </member>
1994
        <member name="F:WindowsInput.Native.VirtualKeyCode.BROWSER_BACK">
1995
            <summary>
1996
            Windows 2000/XP: Browser Back key
1997
            </summary>
1998
        </member>
1999
        <member name="F:WindowsInput.Native.VirtualKeyCode.BROWSER_FORWARD">
2000
            <summary>
2001
            Windows 2000/XP: Browser Forward key
2002
            </summary>
2003
        </member>
2004
        <member name="F:WindowsInput.Native.VirtualKeyCode.BROWSER_REFRESH">
2005
            <summary>
2006
            Windows 2000/XP: Browser Refresh key
2007
            </summary>
2008
        </member>
2009
        <member name="F:WindowsInput.Native.VirtualKeyCode.BROWSER_STOP">
2010
            <summary>
2011
            Windows 2000/XP: Browser Stop key
2012
            </summary>
2013
        </member>
2014
        <member name="F:WindowsInput.Native.VirtualKeyCode.BROWSER_SEARCH">
2015
            <summary>
2016
            Windows 2000/XP: Browser Search key
2017
            </summary>
2018
        </member>
2019
        <member name="F:WindowsInput.Native.VirtualKeyCode.BROWSER_FAVORITES">
2020
            <summary>
2021
            Windows 2000/XP: Browser Favorites key
2022
            </summary>
2023
        </member>
2024
        <member name="F:WindowsInput.Native.VirtualKeyCode.BROWSER_HOME">
2025
            <summary>
2026
            Windows 2000/XP: Browser Start and Home key
2027
            </summary>
2028
        </member>
2029
        <member name="F:WindowsInput.Native.VirtualKeyCode.VOLUME_MUTE">
2030
            <summary>
2031
            Windows 2000/XP: Volume Mute key
2032
            </summary>
2033
        </member>
2034
        <member name="F:WindowsInput.Native.VirtualKeyCode.VOLUME_DOWN">
2035
            <summary>
2036
            Windows 2000/XP: Volume Down key
2037
            </summary>
2038
        </member>
2039
        <member name="F:WindowsInput.Native.VirtualKeyCode.VOLUME_UP">
2040
            <summary>
2041
            Windows 2000/XP: Volume Up key
2042
            </summary>
2043
        </member>
2044
        <member name="F:WindowsInput.Native.VirtualKeyCode.MEDIA_NEXT_TRACK">
2045
            <summary>
2046
            Windows 2000/XP: Next Track key
2047
            </summary>
2048
        </member>
2049
        <member name="F:WindowsInput.Native.VirtualKeyCode.MEDIA_PREV_TRACK">
2050
            <summary>
2051
            Windows 2000/XP: Previous Track key
2052
            </summary>
2053
        </member>
2054
        <member name="F:WindowsInput.Native.VirtualKeyCode.MEDIA_STOP">
2055
            <summary>
2056
            Windows 2000/XP: Stop Media key
2057
            </summary>
2058
        </member>
2059
        <member name="F:WindowsInput.Native.VirtualKeyCode.MEDIA_PLAY_PAUSE">
2060
            <summary>
2061
            Windows 2000/XP: Play/Pause Media key
2062
            </summary>
2063
        </member>
2064
        <member name="F:WindowsInput.Native.VirtualKeyCode.LAUNCH_MAIL">
2065
            <summary>
2066
            Windows 2000/XP: Start Mail key
2067
            </summary>
2068
        </member>
2069
        <member name="F:WindowsInput.Native.VirtualKeyCode.LAUNCH_MEDIA_SELECT">
2070
            <summary>
2071
            Windows 2000/XP: Select Media key
2072
            </summary>
2073
        </member>
2074
        <member name="F:WindowsInput.Native.VirtualKeyCode.LAUNCH_APP1">
2075
            <summary>
2076
            Windows 2000/XP: Start Application 1 key
2077
            </summary>
2078
        </member>
2079
        <member name="F:WindowsInput.Native.VirtualKeyCode.LAUNCH_APP2">
2080
            <summary>
2081
            Windows 2000/XP: Start Application 2 key
2082
            </summary>
2083
        </member>
2084
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_1">
2085
            <summary>
2086
            Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ';:' key 
2087
            </summary>
2088
        </member>
2089
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_PLUS">
2090
            <summary>
2091
            Windows 2000/XP: For any country/region, the '+' key
2092
            </summary>
2093
        </member>
2094
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_COMMA">
2095
            <summary>
2096
            Windows 2000/XP: For any country/region, the ',' key
2097
            </summary>
2098
        </member>
2099
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_MINUS">
2100
            <summary>
2101
            Windows 2000/XP: For any country/region, the '-' key
2102
            </summary>
2103
        </member>
2104
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_PERIOD">
2105
            <summary>
2106
            Windows 2000/XP: For any country/region, the '.' key
2107
            </summary>
2108
        </member>
2109
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_2">
2110
            <summary>
2111
            Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '/?' key 
2112
            </summary>
2113
        </member>
2114
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_3">
2115
            <summary>
2116
            Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '`~' key 
2117
            </summary>
2118
        </member>
2119
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_4">
2120
            <summary>
2121
            Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '[{' key
2122
            </summary>
2123
        </member>
2124
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_5">
2125
            <summary>
2126
            Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '\|' key
2127
            </summary>
2128
        </member>
2129
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_6">
2130
            <summary>
2131
            Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ']}' key
2132
            </summary>
2133
        </member>
2134
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_7">
2135
            <summary>
2136
            Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key
2137
            </summary>
2138
        </member>
2139
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_8">
2140
            <summary>
2141
            Used for miscellaneous characters; it can vary by keyboard.
2142
            </summary>
2143
        </member>
2144
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_102">
2145
            <summary>
2146
            Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard
2147
            </summary>
2148
        </member>
2149
        <member name="F:WindowsInput.Native.VirtualKeyCode.PROCESSKEY">
2150
            <summary>
2151
            Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key
2152
            </summary>
2153
        </member>
2154
        <member name="F:WindowsInput.Native.VirtualKeyCode.PACKET">
2155
            <summary>
2156
            Windows 2000/XP: Used to pass Unicode characters as if they were keystrokes. The PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP
2157
            </summary>
2158
        </member>
2159
        <member name="F:WindowsInput.Native.VirtualKeyCode.ATTN">
2160
            <summary>
2161
            Attn key
2162
            </summary>
2163
        </member>
2164
        <member name="F:WindowsInput.Native.VirtualKeyCode.CRSEL">
2165
            <summary>
2166
            CrSel key
2167
            </summary>
2168
        </member>
2169
        <member name="F:WindowsInput.Native.VirtualKeyCode.EXSEL">
2170
            <summary>
2171
            ExSel key
2172
            </summary>
2173
        </member>
2174
        <member name="F:WindowsInput.Native.VirtualKeyCode.EREOF">
2175
            <summary>
2176
            Erase EOF key
2177
            </summary>
2178
        </member>
2179
        <member name="F:WindowsInput.Native.VirtualKeyCode.PLAY">
2180
            <summary>
2181
            Play key
2182
            </summary>
2183
        </member>
2184
        <member name="F:WindowsInput.Native.VirtualKeyCode.ZOOM">
2185
            <summary>
2186
            Zoom key
2187
            </summary>
2188
        </member>
2189
        <member name="F:WindowsInput.Native.VirtualKeyCode.NONAME">
2190
            <summary>
2191
            Reserved
2192
            </summary>
2193
        </member>
2194
        <member name="F:WindowsInput.Native.VirtualKeyCode.PA1">
2195
            <summary>
2196
            PA1 key
2197
            </summary>
2198
        </member>
2199
        <member name="F:WindowsInput.Native.VirtualKeyCode.OEM_CLEAR">
2200
            <summary>
2201
            Clear key
2202
            </summary>
2203
        </member>
2204
        <member name="T:WindowsInput.Native.XButton">
2205
            <summary>
2206
            XButton definitions for use in the MouseData property of the <see cref="T:WindowsInput.Native.MOUSEINPUT"/> structure. (See: http://msdn.microsoft.com/en-us/library/ms646273(VS.85).aspx)
2207
            </summary>
2208
        </member>
2209
        <member name="F:WindowsInput.Native.XButton.XButton1">
2210
            <summary>
2211
            Set if the first X button is pressed or released.
2212
            </summary>
2213
        </member>
2214
        <member name="F:WindowsInput.Native.XButton.XButton2">
2215
            <summary>
2216
            Set if the second X button is pressed or released.
2217
            </summary>
2218
        </member>
2219
    </members>
2220
</doc>