summaryrefslogtreecommitdiff
path: root/src/conin.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/conin.h')
-rw-r--r--src/conin.h304
1 files changed, 304 insertions, 0 deletions
diff --git a/src/conin.h b/src/conin.h
new file mode 100644
index 0000000..26cf625
--- /dev/null
+++ b/src/conin.h
@@ -0,0 +1,304 @@
+//|_ _ _. _ ._ |_ _. _ |
+//| | (/_ (_| \/ (/_ | | | | (_| (_ |<
+
+#pragma once
+
+#include "conout.h"
+
+enum ConEventType_t {
+ EVENT_NONE = -1,
+ EVENT_KEYDOWN = 0,
+ EVENT_KEYUP = 1,
+};
+
+struct CON_EVENT {
+ I32 keycode;
+ I32 state;
+};
+
+extern U8* con_key_states;
+extern bool con_capturing_input;
+
+extern void con_update_hotkey( U8 line , I32 &var );
+
+extern ULONG __stdcall con_handler( void* );
+extern ULONG __stdcall con_hook_handler( void * );
+
+static const I8 *key_titles[]={
+ // 8 bytes - index maps to keycode
+ "[ 0x0 ]", //0x00
+
+ "[ M-1 ]",//0x01
+ "[ M-2 ]",
+ "[?????]",
+ "[ M-3 ]",
+ "[ M-4 ]",
+ "[ M-5 ]",
+ "[?????]",
+ "[BKSPC]",
+ "[ TAB ]",
+ "[?????]", //0x0A
+ "[?????]",
+ "[CLEAR]",
+ "[ENTER]",
+ "[?????]",
+ "[?????]",
+ "[SHIFT]",
+ "[ CTL ]",
+ "[ ALT ]",
+ "[PAUSE]",
+ "[ CAP ]",
+
+ "[?????]",//0x15 - 0x1A
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+
+ "[ ESC ]",
+
+ "[?????]",//0x1B - 0x1F
+ "[?????]",
+ "[?????]",
+ "[?????]",
+
+ "[SPACE]",
+ "[PG UP]",
+ "[PG DN]",
+ "[ END ]",
+ "[ HOM ]",
+ "[aLEFT]",
+ "[ aUP ]",
+ "[aRGHT]",
+ "[aDOWN]",
+ "[ SEL ]",
+ "[PRINT]",
+ "[?????]",
+ "[PRTSC]",
+ "[ INS ]",
+ "[ DEL ]",
+ "[?????]",
+
+ "[ 0 ]",//0x30
+ "[ 1 ]",
+ "[ 2 ]",
+ "[ 3 ]",
+ "[ 4 ]",
+ "[ 5 ]",
+ "[ 6 ]",
+ "[ 7 ]",
+ "[ 8 ]",
+ "[ 9 ]",
+
+ "[?????]",//0x3A
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+
+ "[ A ]",//0x41
+ "[ B ]",
+ "[ C ]",
+ "[ D ]",
+ "[ E ]",
+ "[ F ]",
+ "[ G ]",
+ "[ H ]",
+ "[ I ]",
+ "[ J ]",
+ "[ K ]",
+ "[ L ]",
+ "[ M ]",
+ "[ N ]",
+ "[ O ]",
+ "[ P ]",
+ "[ Q ]",
+ "[ R ]",
+ "[ S ]",
+ "[ T ]",
+ "[ U ]",
+ "[ V ]",
+ "[ W ]",
+ "[ X ]",
+ "[ Y ]",
+ "[ Z ]",
+
+ "[L WIN]",//0x5B
+ "[R WIN]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+
+ "[NUM 0]",
+ "[NUM 1]",
+ "[NUM 2]",
+ "[NUM 3]",
+ "[NUM 4]",
+ "[NUM 5]",
+ "[NUM 6]",
+ "[NUM 7]",
+ "[NUM 8]",
+ "[NUM 9]",
+ "[NUM *]",
+ "[NUM +]",
+ "[?????]",
+ "[NUM -]",
+ "[NUM .]",
+ "[NUM /]",
+
+ "[ F.1 ]",//0x70
+ "[ F.2 ]",
+ "[ F.3 ]",
+ "[ F.4 ]",
+ "[ F.5 ]",
+ "[ F.6 ]",
+ "[ F.7 ]",
+ "[ F.8 ]",
+ "[ F.9 ]",
+ "[ F10 ]",
+ "[ F11 ]",
+ "[ F12 ]",
+ "[ F13 ]",
+ "[ F14 ]",
+ "[ F15 ]",
+ "[ F16 ]",
+ "[ F17 ]",
+ "[ F18 ]",
+ "[ F19 ]",
+ "[ F20 ]",
+ "[ F21 ]",
+ "[ F22 ]",
+ "[ F23 ]",
+ "[ F24 ]",
+
+ "[?????]",//0x88-0x8F
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+
+ "[NUMLK]",
+ "[SCRLK]",
+
+ "[?????]",//0x92-0x9F
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+
+ "[LSHFT]",
+ "[RSHFT]",
+ "[LCTRL]",
+ "[RCTRL]",
+ "[L ALT]",
+ "[R ALT]",
+
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+
+ "[ ; ]",
+ "[ = ]",
+ "[ , ]",
+ "[ - ]",
+ "[ . ]",
+ "[ / ]",
+ "[ ~ ]",
+
+ "[?????]",//0xC1 - 0xDA
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+
+ "[ [ ]",
+ "[ | ]",
+ "[ ] ]",
+ "[ ' ]",
+
+ "[?????]",//0xDF - 0xFE
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]",
+ "[?????]"
+};