comparison Keyboard.h @ 0:8b8875f5b359

Initial commit
author Nomad
date Fri, 05 Oct 2012 16:07:14 +0200
parents
children af624eaf2fc5
comparison
equal deleted inserted replaced
-1:000000000000 0:8b8875f5b359
1 #pragma once
2
3
4 /* 284 */
5 enum InputAction : __int32
6 {
7 INPUT_MoveForward = 0x0,
8 INPUT_MoveBackwards = 0x1,
9 INPUT_TurnLeft = 0x2,
10 INPUT_TurnRight = 0x3,
11 INPUT_Yell = 0x4,
12 INPUT_Jump = 0x5,
13 INPUT_Combat = 0x6,
14 INPUT_CastReady = 0x7,
15 INPUT_Attack = 0x8,
16 INPUT_EventTrigger = 0x9,
17 INPUT_Cast = 0xA,
18 INPUT_Pass = 0xB,
19 INPUT_CharCycle = 0xC,
20 INPUT_Quest = 0xD,
21 INPUT_QuickRef = 0xE,
22 INPUT_Rest = 0xF,
23 INPUT_TimeCal = 0x10,
24 INPUT_Autonotes = 0x11,
25 INPUT_Mapbook = 0x12,
26 INPUT_AlwaysRun = 0x13,
27 INPUT_LookUp = 0x14,
28 INPUT_LookDown = 0x15,
29 INPUT_CenterView = 0x16,
30 INPUT_ZoomIn = 0x17,
31 INPUT_ZoomOut = 0x18,
32 INPUT_FlyUp = 0x19,
33 INPUT_FlyDown = 0x1A,
34 INPUT_Land = 0x1B,
35 INPUT_StrafeLeft = 0x1C,
36 INPUT_StrafeRight = 0x1D,
37 };
38
39
40
41 enum KeyToggleType : __int32
42 {
43 TOGGLE_Continuously = 0x0,
44 TOGGLE_OneTimePress = 0x1,
45 };
46
47 #pragma pack(push, 1)
48 struct KeyboardActionMapping
49 {
50 KeyboardActionMapping();
51
52 void SetKeyMapping(int uAction, int vKey, KeyToggleType type);
53 unsigned int GetActionVKey(enum InputAction eAction);
54 const char *GetVKeyDisplayName(signed int a1);
55 const unsigned __int8 GetActionDefaultVKey(const char *Str);
56 void ReadMappings();
57 void StoreMappings();
58 bool _459F10(unsigned int a2);
59 void _459ED1(int a2);
60 void _459E5A(int a2, int a3, struct GUIWindow *pWindow);
61 void ResetKeys();
62 void SetDefaultMapping();
63
64 unsigned int uLastKeyPressed;
65 int field_4;
66 int field_8;
67 unsigned int pVirtualKeyCodesMapping[30];
68 KeyToggleType pToggleTypes[30];
69 int field_FC;
70 unsigned __int8 pPressedKeysBuffer[257];
71 unsigned __int8 uNumKeysPressed;
72 char field_202;
73 char field_203;
74 int field_204;
75 struct GUIWindow *pWindow;
76 };
77 #pragma pack(pop)
78
79 #pragma pack(push, 1)
80 struct Keyboard
81 {
82 Keyboard();
83 bool WasKeyPressed(int vKey);
84 bool IsKeyBeingHeld(int vKey);
85 bool IsShiftHeld();
86 void EnterCriticalSection();
87
88 void (__thiscall ***vdestructor_ptr)(Keyboard *, bool);
89 unsigned int bUsingAsynKeyboard;
90 };
91 #pragma pack(pop)
92
93
94 #pragma pack(push, 1)
95 struct AsyncKeyboard
96 {
97 AsyncKeyboard();
98 ~AsyncKeyboard();
99
100 bool Initialize();
101 char map_key(int key);
102 char _45B4EC(unsigned __int8 a2);
103 void Thread();
104 char _45B3A4();
105 void Suspend();
106 void Resume();
107 char CreateDirectInputKeyboard();
108 char _45B229();
109 void _45B1B1();
110 void Release();
111
112 static int __stdcall ThreadStarter(AsyncKeyboard *pInstance);
113 static void EnterCriticalSection();
114 static void LeaveCriticalSection();
115 };
116 #pragma pack(pop)
117
118
119 extern struct KeyboardActionMapping *pKeyActionMap;
120 extern struct AsyncKeyboard *pAsyncKeyboard;