Browse Source

Make shift+0-9 behave as on US keyboards

Fixes #532
pull/540/head
Anders Jenbo 6 years ago
parent
commit
534ed2d3ff
  1. 34
      SourceX/miniwin/misc_msg.cpp

34
SourceX/miniwin/misc_msg.cpp

@ -642,7 +642,38 @@ WINBOOL TranslateMessage(const MSG *lpMsg)
if (!upper && is_alpha) {
key = tolower(key);
} else if (shift && is_numeric) {
key = key == '0' ? ')' : key - 0x10;
switch (key) {
case '1':
key = '!';
break;
case '2':
key = '@';
break;
case '3':
key = '#';
break;
case '4':
key = '$';
break;
case '5':
key = '%';
break;
case '6':
key = '^';
break;
case '7':
key = '&';
break;
case '8':
key = '*';
break;
case '9':
key = '(';
break;
case '0':
key = ')';
break;
}
} else if (is_oem) {
// XXX: This probably only supports US keyboard layout
switch (key) {
@ -667,7 +698,6 @@ WINBOOL TranslateMessage(const MSG *lpMsg)
case DVL_VK_OEM_7:
key = shift ? '"' : '\'';
break;
case DVL_VK_OEM_MINUS:
key = shift ? '_' : '-';
break;

Loading…
Cancel
Save