VR-Vantage API Documentation
DtKeyState.h
Go to the documentation of this file.
1 /*********************************************************************
2  ** Copyright (c) 2010 MAK Technologies, Inc.
3  ** All rights reserved.
4  *********************************************************************/
5 /*********************************************************************
6  ** $RCSfile: DtKeyState.h,v $ $Revision: 1.7 $ $State: Exp $
7  *********************************************************************/
8 
9 #ifndef DtKeyState_H_
10 #define DtKeyState_H_
11 
15 
16 #include <vrvCore/vrvCore.h>
17 
18 #include <string>
19 
20 namespace makVrv
21 {
25  {
26  public:
28  enum KeyType {
29  KEY_BACKSPACE = 0x08,
30  KEY_TAB = 0x09,
31  KEY_CLEAR = 0x0C,
32  KEY_ENTER = 0x0D,
33  KEY_PAUSE = 0x13,
34  KEY_ESCAPE = 0x1B,
35 
36  KEY_SPACE = 0x20,
37  KEY_PAGE_UP = 0x21,
38  KEY_PAGE_DOWN = 0x22,
39  KEY_END = 0x23,
40  KEY_HOME = 0x24,
41  KEY_LEFT = 0x25,
42  KEY_UP = 0x26,
43  KEY_RIGHT = 0x27,
44  KEY_DOWN = 0x28,
45  KEY_PRINT_SCREEN = 0x2C,
46  KEY_INSERT = 0x2D,
47  KEY_DELETE = 0x2E,
48 
49  KEY_0 = 0x30,
50  KEY_1 = 0x31,
51  KEY_2 = 0x32,
52  KEY_3 = 0x33,
53  KEY_4 = 0x34,
54  KEY_5 = 0x35,
55  KEY_6 = 0x36,
56  KEY_7 = 0x37,
57  KEY_8 = 0x38,
58  KEY_9 = 0x39,
59  KEY_A = 0x41,
60  KEY_B = 0x42,
61  KEY_C = 0x43,
62  KEY_D = 0x44,
63  KEY_E = 0x45,
64  KEY_F = 0x46,
65  KEY_G = 0x47,
66  KEY_H = 0x48,
67  KEY_I = 0x49,
68  KEY_J = 0x4A,
69  KEY_K = 0x4B,
70  KEY_L = 0x4C,
71  KEY_M = 0x4D,
72  KEY_N = 0x4E,
73  KEY_O = 0x4F,
74  KEY_P = 0x50,
75  KEY_Q = 0x51,
76  KEY_R = 0x52,
77  KEY_S = 0x53,
78  KEY_T = 0x54,
79  KEY_U = 0x55,
80  KEY_V = 0x56,
81  KEY_W = 0x57,
82  KEY_X = 0x58,
83  KEY_Y = 0x59,
84  KEY_Z = 0x5A,
85 
86  KEY_PAD_0 = 0x60,
87  KEY_PAD_1 = 0x61,
88  KEY_PAD_2 = 0x62,
89  KEY_PAD_3 = 0x63,
90  KEY_PAD_4 = 0x64,
91  KEY_PAD_5 = 0x65,
92  KEY_PAD_6 = 0x66,
93  KEY_PAD_7 = 0x67,
94  KEY_PAD_8 = 0x68,
95  KEY_PAD_9 = 0x69,
96  KEY_PAD_ADD = 0x6B,
97  KEY_PAD_SUBTRACT = 0x6D,
98  KEY_PAD_MULTIPLY = 0x6A,
99  KEY_PAD_DIVIDE = 0x6F,
100  KEY_PAD_DECIMAL = 0x6E,
101 
102  KEY_F1 = 0x70,
103  KEY_F2 = 0x71,
104  KEY_F3 = 0x72,
105  KEY_F4 = 0x73,
106  KEY_F5 = 0x74,
107  KEY_F6 = 0x75,
108  KEY_F7 = 0x76,
109  KEY_F8 = 0x77,
110  KEY_F9 = 0x78,
111  KEY_F10 = 0x79,
112  KEY_F11 = 0x7A,
113  KEY_F12 = 0x7B,
114 
115  KEY_LEFT_SHIFT = 0xA0,
116  KEY_RIGHT_SHIFT = 0xA1,
117  KEY_LEFT_CTRL = 0xA2,
118  KEY_RIGHT_CTRL = 0xA3,
119  KEY_LEFT_ALT = 0xA4,
120  KEY_RIGHT_ALT = 0xA5,
121 
122  KEY_SEMICOLON = 0xBA,
123  KEY_EQUAL_SIGN = 0xBB,
124  KEY_COMMA = 0xBC,
125  KEY_MINUS_SIGN = 0xBD,
126  KEY_PERIOD = 0xBE,
127  KEY_SLASH = 0xBF,
128 
129  KEY_GRAVE = 0xC0,
130 
131  KEY_LEFT_BRACKET = 0xDB,
132  KEY_BACKSLASH = 0xDC,
133  KEY_RIGHT_BRACKET = 0xDD,
134  KEY_APOSTROPHE = 0xDE,
135  KEY_NO_KEY = 0xFF
136  };
137 
139  enum KeyModifier {
140  NO_MODIFIER = 0x0,
141  ALT_MODIFIER = 0x1,
142  CTRL_MODIFIER = 0x2,
143  SHIFT_MODIFIER = 0x4
144  };
145  public:
146  static std::string keyTypeToString( KeyType key );
147 
148  public:
149 
151  DtKeyState();
152 
154  DtKeyState( KeyType key, KeyModifier modifiers );
155 
157  virtual ~DtKeyState();
158 
160  DtKeyState(const DtKeyState&);
161 
163  DtKeyState &operator=(const DtKeyState&);
164 
166  virtual KeyType keyType() const;
167 
169  virtual void setKeyType( KeyType keyType );
170 
172  virtual bool altDown() const;
173 
175  virtual void setAltDown( bool altDown );
176 
178  virtual bool ctrlDown() const;
179 
181  virtual void setCtrlDown( bool ctrlDown );
182 
184  virtual bool shiftDown() const;
185 
187  virtual void setShiftDown( bool shiftDown );
188 
190  virtual KeyModifier modifiers() const;
191 
193  virtual void setModifiers( KeyModifier modifiers );
194 
195  protected:
196 
199 
200  };
201 } //end namespace
202 
203 #endif
204 


Copyright © 2005-2013 VT MÄK Inc. All Rights Reserved (www.mak.com)