MPMA Framework 0.4
Keyboard.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends