diff --git a/panda/src/wdxdisplay/wdxGraphicsWindow.cxx b/panda/src/wdxdisplay/wdxGraphicsWindow.cxx index 795fe99576..69e331f7df 100644 --- a/panda/src/wdxdisplay/wdxGraphicsWindow.cxx +++ b/panda/src/wdxdisplay/wdxGraphicsWindow.cxx @@ -133,6 +133,31 @@ lookup_key(WPARAM wparam) const { if (isascii(key) && key != 0) { if (GetKeyState(VK_SHIFT) >= 0) key = tolower(key); + else { + 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; + case '-': key = '_'; break; + case '=': key = '+'; break; + case ',': key = '<'; break; + case '.': key = '>'; break; + case '/': key = '?'; break; + case ';': key = ':'; break; + case '\'': key = '"'; break; + case '[': key = '{'; break; + case ']': key = '}'; break; + case '\\': key = '|'; break; + case '`': key = '~'; break; + } + } return KeyboardButton::ascii_key((uchar)key); } break; diff --git a/panda/src/wgldisplay/wglGraphicsPipe.cxx b/panda/src/wgldisplay/wglGraphicsPipe.cxx index 2f4f541c0c..bf35daeb38 100644 --- a/panda/src/wgldisplay/wglGraphicsPipe.cxx +++ b/panda/src/wgldisplay/wglGraphicsPipe.cxx @@ -376,9 +376,16 @@ wglGraphicsPipe::lookup_key(WPARAM wparam) const { case '8': key = '*'; break; case '9': key = '('; break; case '0': key = ')'; break; + case '-': key = '_'; break; case '=': key = '+'; break; + case ',': key = '<'; break; + case '.': key = '>'; break; case '/': key = '?'; break; case ';': key = ':'; break; + case '\'': key = '"'; break; + case '[': key = '{'; break; + case ']': key = '}'; break; + case '\\': key = '|'; break; case '`': key = '~'; break; } }