From 8b92121f32436494b1b7955a05a198fc9f62f46d Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Sun, 18 Jun 2006 13:54:27 +0000 Subject: [PATCH] This trick only works for English --- src/SDL_compat.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/SDL_compat.c b/src/SDL_compat.c index 279784be6..c11c91056 100644 --- a/src/SDL_compat.c +++ b/src/SDL_compat.c @@ -208,12 +208,13 @@ SDL_CompatEventFilter(SDL_Event * event) { Uint32 unicode = 0; if (event->key.type == SDL_KEYDOWN && event->key.keysym.sym < 256) { - int shifted = !!(event->key.keysym.mod & KMOD_SHIFT); - int capslock = !!(event->key.keysym.mod & KMOD_CAPS); - if ((shifted ^ capslock) != 0) { - unicode = SDL_toupper(event->key.keysym.sym); - } else { - unicode = event->key.keysym.sym; + unicode = event->key.keysym.sym; + if(unicode >= 'a' && unicode <= 'z') { + int shifted = !!(event->key.keysym.mod & KMOD_SHIFT); + int capslock = !!(event->key.keysym.mod & KMOD_CAPS); + if ((shifted ^ capslock) != 0) { + unicode = SDL_toupper(unicode); + } } } if (unicode) {