diff options
Diffstat (limited to 'src/conin.h')
| -rw-r--r-- | src/conin.h | 304 |
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 + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]", + "[?????]" +}; |
