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

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)