MPMA Framework 0.4
|
00001 00002 //Luke Lenhart, 2008 00003 //See /docs/License.txt for details on how this code may be used. 00004 00005 #pragma once 00006 00007 #include "../base/Setup.h" 00008 00009 #ifdef MPMA_COMPILE_INPUT 00010 00011 #include "../base/Types.h" 00012 #include "Unified.h" 00013 00014 #include <vector> 00015 00016 namespace INPUT 00017 { 00019 namespace KEYBOARD 00020 { 00021 //normal typeables 00022 const uint8 A='A'; 00023 const uint8 B='B'; 00024 const uint8 C='C'; 00025 const uint8 D='D'; 00026 const uint8 E='E'; 00027 const uint8 F='F'; 00028 const uint8 G='G'; 00029 const uint8 H='H'; 00030 const uint8 I='I'; 00031 const uint8 J='J'; 00032 const uint8 K='K'; 00033 const uint8 L='L'; 00034 const uint8 M='M'; 00035 const uint8 N='N'; 00036 const uint8 O='O'; 00037 const uint8 P='P'; 00038 const uint8 Q='Q'; 00039 const uint8 R='R'; 00040 const uint8 S='S'; 00041 const uint8 T='T'; 00042 const uint8 U='U'; 00043 const uint8 V='V'; 00044 const uint8 W='W'; 00045 const uint8 X='X'; 00046 const uint8 Y='Y'; 00047 const uint8 Z='Z'; 00048 const uint8 NUM0='0'; 00049 const uint8 NUM1='1'; 00050 const uint8 NUM2='2'; 00051 const uint8 NUM3='3'; 00052 const uint8 NUM4='4'; 00053 const uint8 NUM5='5'; 00054 const uint8 NUM6='6'; 00055 const uint8 NUM7='7'; 00056 const uint8 NUM8='8'; 00057 const uint8 NUM9='9'; 00058 const uint8 SPACE=' '; 00059 const uint8 TILDA='`'; 00060 const uint8 LEFT_BRACKET='['; 00061 const uint8 RIGHT_BRACKET=']'; 00062 const uint8 QUOTE='\''; 00063 const uint8 COMMA=','; 00064 const uint8 PERIOD='.'; 00065 const uint8 SLASH='/'; 00066 const uint8 BACKSLASH='\\'; 00067 const uint8 EQUALS='='; 00068 const uint8 DASH='-'; 00069 const uint8 COLON=';'; 00070 00071 //normal control keys 00072 const uint8 ENTER='\n'; 00073 const uint8 TAB='\t'; 00074 const uint8 BACKSPACE=130; 00075 const uint8 ESCAPE=131; 00076 const uint8 UP=140; 00077 const uint8 DOWN=141; 00078 const uint8 LEFT=142; 00079 const uint8 RIGHT=143; 00080 const uint8 INSERT=150; 00081 const uint8 DELETE=151; 00082 const uint8 HOME=152; 00083 const uint8 END=153; 00084 const uint8 PAGE_UP=154; 00085 const uint8 PAGE_DOWN=155; 00086 const uint8 F1=161; 00087 const uint8 F2=162; 00088 const uint8 F3=163; 00089 const uint8 F4=164; 00090 const uint8 F5=165; 00091 const uint8 F6=166; 00092 const uint8 F7=167; 00093 const uint8 F8=168; 00094 const uint8 F9=169; 00095 const uint8 F10=170; 00096 const uint8 F11=171; 00097 const uint8 F12=172; 00098 00099 //numpad keys (not all keyboards have) 00100 const uint8 PAD0=200; 00101 const uint8 PAD1=201; 00102 const uint8 PAD2=202; 00103 const uint8 PAD3=203; 00104 const uint8 PAD4=204; 00105 const uint8 PAD5=205; 00106 const uint8 PAD6=206; 00107 const uint8 PAD7=207; 00108 const uint8 PAD8=208; 00109 const uint8 PAD9=209; 00110 const uint8 PAD_SLASH=210; 00111 const uint8 PAD_STAR=211; 00112 const uint8 PAD_MINUS=212; 00113 const uint8 PAD_PLUS=213; 00114 const uint8 PAD_DOT=214; 00115 const uint8 PAD_ENTER=215; 00116 00117 //modifier keys 00118 const uint8 LEFT_SHIFT=230; 00119 const uint8 RIGHT_SHIFT=231; 00120 const uint8 LEFT_CONTROL=232; 00121 const uint8 RIGHT_CONTROL=233; 00122 const uint8 LEFT_ALT=234; 00123 const uint8 RIGHT_ALT=235; 00124 00126 const std::string& GetFriendlyName(uint8 key); 00127 00129 const std::string& GetPersistentIdentifier(uint8 key); 00130 00132 uint8 FindKey(const std::string &persistentIdentifier); 00133 00135 bool IsKeyDown(uint8 key); 00136 00138 const std::vector<uint8>& GetCurrentlyPressedKeys(); 00139 00141 const std::vector<uint8>& GetNewlyPressedKeys(); 00142 00144 bool UpdateTypedText(std::string &textToEdit); 00145 00147 void SetCaptureMode(bool captureTypedText, bool captureKeyState); 00148 00150 bool IsCapturingText(); 00151 00153 bool IsCapturingState(); 00154 } 00155 } 00156 00157 #endif //#ifdef MPMA_COMPILE_INPUT