VR-Forces 4.0.4 Class Documentation
include/vrvCore/DtKeyState.h
Go to the documentation of this file.
00001 /*********************************************************************
00002   ** Copyright (c) 2010 MAK Technologies, Inc.
00003   ** All rights reserved.
00004   *********************************************************************/
00005 /*********************************************************************
00006   ** $RCSfile: DtKeyState.h,v $ $Revision: 1.7 $ $State: Exp $
00007   *********************************************************************/
00008 
00009 #ifndef DtKeyState_H_
00010 #define DtKeyState_H_
00011 
00015 
00016 #include <vrvCore/vrvCore.h>
00017 
00018 #include <string>
00019 
00020 namespace makVrv
00021 {
00024    class DT_DLL_VRVCORE DtKeyState
00025    {
00026    public:
00028       enum KeyType {
00029          KEY_BACKSPACE         = 0x08,
00030          KEY_TAB               = 0x09,
00031          KEY_CLEAR             = 0x0C,
00032          KEY_ENTER             = 0x0D,
00033          KEY_PAUSE             = 0x13,
00034          KEY_ESCAPE            = 0x1B,
00035          
00036          KEY_SPACE             = 0x20, 
00037          KEY_PAGE_UP           = 0x21, 
00038          KEY_PAGE_DOWN         = 0x22, 
00039          KEY_END               = 0x23,
00040          KEY_HOME              = 0x24,
00041          KEY_LEFT              = 0x25,   
00042          KEY_UP                = 0x26,  
00043          KEY_RIGHT             = 0x27,     
00044          KEY_DOWN              = 0x28,   
00045          KEY_PRINT_SCREEN      = 0x2C,
00046          KEY_INSERT            = 0x2D,
00047          KEY_DELETE            = 0x2E,
00048 
00049          KEY_0                 = 0x30, 
00050          KEY_1                 = 0x31,
00051          KEY_2                 = 0x32,
00052          KEY_3                 = 0x33,
00053          KEY_4                 = 0x34,
00054          KEY_5                 = 0x35,
00055          KEY_6                 = 0x36,
00056          KEY_7                 = 0x37,
00057          KEY_8                 = 0x38,
00058          KEY_9                 = 0x39,
00059          KEY_A                 = 0x41, 
00060          KEY_B                 = 0x42,
00061          KEY_C                 = 0x43,
00062          KEY_D                 = 0x44,
00063          KEY_E                 = 0x45,
00064          KEY_F                 = 0x46,
00065          KEY_G                 = 0x47,
00066          KEY_H                 = 0x48,
00067          KEY_I                 = 0x49,
00068          KEY_J                 = 0x4A,
00069          KEY_K                 = 0x4B,
00070          KEY_L                 = 0x4C,
00071          KEY_M                 = 0x4D,
00072          KEY_N                 = 0x4E,
00073          KEY_O                 = 0x4F,
00074          KEY_P                 = 0x50,
00075          KEY_Q                 = 0x51,
00076          KEY_R                 = 0x52,
00077          KEY_S                 = 0x53,
00078          KEY_T                 = 0x54,
00079          KEY_U                 = 0x55,
00080          KEY_V                 = 0x56,
00081          KEY_W                 = 0x57,
00082          KEY_X                 = 0x58,
00083          KEY_Y                 = 0x59,
00084          KEY_Z                 = 0x5A,
00085           
00086          KEY_PAD_0             = 0x60,
00087          KEY_PAD_1             = 0x61,      
00088          KEY_PAD_2             = 0x62,     
00089          KEY_PAD_3             = 0x63,      
00090          KEY_PAD_4             = 0x64,      
00091          KEY_PAD_5             = 0x65,      
00092          KEY_PAD_6             = 0x66,      
00093          KEY_PAD_7             = 0x67,     
00094          KEY_PAD_8             = 0x68,     
00095          KEY_PAD_9             = 0x69,   
00096          KEY_PAD_ADD           = 0x6B,         
00097          KEY_PAD_SUBTRACT      = 0x6D,     
00098          KEY_PAD_MULTIPLY      = 0x6A,     
00099          KEY_PAD_DIVIDE        = 0x6F,    
00100          KEY_PAD_DECIMAL       = 0x6E, 
00101            
00102          KEY_F1                = 0x70,
00103          KEY_F2                = 0x71,
00104          KEY_F3                = 0x72,
00105          KEY_F4                = 0x73,
00106          KEY_F5                = 0x74,
00107          KEY_F6                = 0x75,
00108          KEY_F7                = 0x76,
00109          KEY_F8                = 0x77,
00110          KEY_F9                = 0x78,
00111          KEY_F10               = 0x79,
00112          KEY_F11               = 0x7A,
00113          KEY_F12               = 0x7B,  
00114                    
00115          KEY_LEFT_SHIFT        = 0xA0,
00116          KEY_RIGHT_SHIFT       = 0xA1,
00117          KEY_LEFT_CTRL         = 0xA2,
00118          KEY_RIGHT_CTRL        = 0xA3,
00119          KEY_LEFT_ALT          = 0xA4,
00120          KEY_RIGHT_ALT         = 0xA5,
00121          
00122          KEY_SEMICOLON         = 0xBA,
00123          KEY_EQUAL_SIGN        = 0xBB,
00124          KEY_COMMA             = 0xBC,
00125          KEY_MINUS_SIGN        = 0xBD,
00126          KEY_PERIOD            = 0xBE,
00127          KEY_SLASH             = 0xBF,
00128          
00129          KEY_GRAVE             = 0xC0, 
00130          
00131          KEY_LEFT_BRACKET      = 0xDB, 
00132          KEY_BACKSLASH         = 0xDC,
00133          KEY_RIGHT_BRACKET     = 0xDD,
00134          KEY_APOSTROPHE        = 0xDE,
00135          KEY_NO_KEY            = 0xFF
00136       };
00137 
00139       enum KeyModifier {
00140          NO_MODIFIER = 0x0, 
00141          ALT_MODIFIER = 0x1, 
00142          CTRL_MODIFIER = 0x2, 
00143          SHIFT_MODIFIER = 0x4
00144       };   
00145    public:
00146       static std::string keyTypeToString( KeyType key );
00147       
00148    public:
00149    
00151       DtKeyState();
00152       
00154       DtKeyState( KeyType key, KeyModifier modifiers );
00155    
00157       virtual ~DtKeyState();
00158 
00160       DtKeyState(const DtKeyState&);
00161    
00163       DtKeyState &operator=(const DtKeyState&);
00164  
00166       virtual KeyType keyType() const;
00167       
00169       virtual void setKeyType( KeyType keyType );
00170       
00172       virtual bool altDown() const;
00173       
00175       virtual void setAltDown( bool altDown );
00176     
00178       virtual bool ctrlDown() const;
00179       
00181       virtual void setCtrlDown( bool ctrlDown );
00182     
00184       virtual bool shiftDown() const;
00185       
00187       virtual void setShiftDown( bool shiftDown );
00188       
00190       virtual KeyModifier modifiers() const;
00191       
00193       virtual void setModifiers( KeyModifier modifiers );
00194       
00195    protected:
00196    
00197       KeyType myKeyType;
00198       KeyModifier myModifiers;
00199 
00200    };
00201 } //end namespace
00202 
00203 #endif
00204 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)