Better handling of custom templates and hooks.
[wine] / include / input.h
1 /*
2  * USER input header file
3  * Copyright 1997 David Faure
4  *
5  */
6
7 #ifndef __WINE_INPUT_H
8 #define __WINE_INPUT_H
9
10 #include "windef.h"
11
12 extern BOOL MouseButtonsStates[3];
13 extern BOOL AsyncMouseButtonsStates[3];
14 extern BYTE InputKeyStateTable[256];
15 extern BYTE QueueKeyStateTable[256];
16 extern BYTE AsyncKeyStateTable[256];
17 extern DWORD PosX, PosY;
18
19 extern BOOL SwappedButtons;
20
21 #define GET_KEYSTATE()                                                  \
22      ((MouseButtonsStates[SwappedButtons ? 2 : 0]  ? MK_LBUTTON : 0) |  \
23       (MouseButtonsStates[1]                       ? MK_RBUTTON : 0) |  \
24       (MouseButtonsStates[SwappedButtons ? 0 : 2]  ? MK_MBUTTON : 0) |  \
25       (InputKeyStateTable[VK_SHIFT]   & 0x80       ? MK_SHIFT   : 0) |  \
26       (InputKeyStateTable[VK_CONTROL] & 0x80       ? MK_CONTROL : 0))
27
28
29 #endif  /* __WINE_INPUT_H */
30