@@ -115,89 +115,14 @@ namespace vsgWin32
115115
116116 vsg::KeySymbol mapCharToKeySymbol (wchar_t ch)
117117 {
118- // Letters
119- if (ch >= L' A' && ch <= L' Z' )
120- {
121- return static_cast <vsg::KeySymbol>(ch); // Capital
122- }
123- if (ch >= L' a' && ch <= L' z' )
124- {
125- return static_cast <vsg::KeySymbol>(ch);
126- }
127-
128- // Digits
129- if (ch >= L' 0' && ch <= L' 9' )
130- {
131- return static_cast <vsg::KeySymbol>(ch);
132- }
133-
134118 // Special characters (with and without Shift)
135119 switch (ch)
136120 {
137- case L' !' : return vsg::KEY_Exclaim;
138- case L' \" ' : return vsg::KEY_Quotedbl;
139- case L' #' : return vsg::KEY_Hash;
140- case L' $' : return vsg::KEY_Dollar;
141- case L' %' : return vsg::KEY_Percent;
142- case L' &' : return vsg::KEY_Ampersand;
143- case L' \' ' : return vsg::KEY_Quote;
144- case L' (' : return vsg::KEY_Leftparen;
145- case L' )' : return vsg::KEY_Rightparen;
146- case L' *' : return vsg::KEY_Asterisk;
147- case L' +' : return vsg::KEY_Plus;
148- case L' ,' : return vsg::KEY_Comma;
149- case L' -' : return vsg::KEY_Minus;
150- case L' .' : return vsg::KEY_Period;
151- case L' /' : return vsg::KEY_Slash;
152- case L' :' : return vsg::KEY_Colon;
153- case L' ;' : return vsg::KEY_Semicolon;
154- case L' <' : return vsg::KEY_Less;
155- case L' =' : return vsg::KEY_Equals;
156- case L' >' : return vsg::KEY_Greater;
157- case L' ?' : return vsg::KEY_Question;
158- case L' @' : return vsg::KEY_At;
159- case L' [' : return vsg::KEY_Leftbracket;
160- case L' \\ ' : return vsg::KEY_Backslash;
161- case L' ]' : return vsg::KEY_Rightbracket;
162- case L' ^' : return vsg::KEY_Caret;
163- case L' _' : return vsg::KEY_Underscore;
164- case L' `' : return vsg::KEY_Backquote;
165- case L' {' : return vsg::KEY_Leftcurlybracket;
166- case L' |' : return vsg::KEY_Verticalslash;
167- case L' }' : return vsg::KEY_Rightcurlybracket;
168- case L' ~' : return vsg::KEY_Tilde;
169-
170- // Whitespace and control characters
171- case L' ' : return vsg::KEY_Space;
172121 case L' \t ' : return vsg::KEY_Tab;
173122 case L' \r ' : return vsg::KEY_Return;
174123 }
175124
176- // Return for other non-ASCII
177- return mapUnicodeToKeySymbol (ch);
178- }
179-
180- // Helper function for Unicode cahracters
181- vsg::KeySymbol mapUnicodeToKeySymbol (wchar_t ch)
182- {
183- switch (ch)
184- {
185- case L' ' : return vsg::KEY_Space;
186- case L' \t ' : return vsg::KEY_Tab;
187- case L' \r ' : return vsg::KEY_Return;
188- case L' ,' : return vsg::KEY_Comma;
189- case L' .' : return vsg::KEY_Period;
190- case L' /' : return vsg::KEY_Slash;
191- case L' ;' : return vsg::KEY_Semicolon;
192- case L' =' : return vsg::KEY_Equals;
193- case L' -' : return vsg::KEY_Minus;
194- case L' [' : return vsg::KEY_Leftbracket;
195- case L' ]' : return vsg::KEY_Rightbracket;
196- case L' \\ ' : return vsg::KEY_Backslash;
197- case L' `' : return vsg::KEY_Tilde;
198- case L' \' ' : return vsg::KEY_Quote;
199- default : return static_cast <vsg::KeySymbol>(ch);
200- }
125+ return static_cast <vsg::KeySymbol>(ch);
201126 }
202127
203128 VirtualKeyToKeySymbolMap _vk2vsg;
0 commit comments