Skip to content

Commit 07ad763

Browse files
committed
Simple conversion to vsg::KeySymbol for ascii
1 parent 94efbc8 commit 07ad763

1 file changed

Lines changed: 1 addition & 76 deletions

File tree

include/vsg/platform/win32/Win32_Window.h

Lines changed: 1 addition & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)