(svn r7170) -Fix: [sdl] Non-working console toggle for some keyboard layouts. Do not OR the backquote

character but set it. Happened on Linux with Hungarian keyboard for example.
pull/155/head
Darkvater 18 years ago
parent 17476d74a3
commit ea40411091

@ -272,21 +272,21 @@ static uint32 ConvertSdlKeyIntoMy(SDL_keysym *sym)
// check scancode for BACKQUOTE key, because we want the key left of "1", not anything else (on non-US keyboards) // check scancode for BACKQUOTE key, because we want the key left of "1", not anything else (on non-US keyboards)
#if defined(WIN32) || defined(__OS2__) #if defined(WIN32) || defined(__OS2__)
if (sym->scancode == 41) key |= WKC_BACKQUOTE; if (sym->scancode == 41) key = WKC_BACKQUOTE;
#elif defined(__APPLE__) #elif defined(__APPLE__)
if (sym->scancode == 10) key |= WKC_BACKQUOTE; if (sym->scancode == 10) key = WKC_BACKQUOTE;
#elif defined(__MORPHOS__) #elif defined(__MORPHOS__)
if (sym->scancode == 0) key |= WKC_BACKQUOTE; // yes, that key is code '0' under MorphOS :) if (sym->scancode == 0) key = WKC_BACKQUOTE; // yes, that key is code '0' under MorphOS :)
#elif defined(__BEOS__) #elif defined(__BEOS__)
if (sym->scancode == 17) key |= WKC_BACKQUOTE; if (sym->scancode == 17) key = WKC_BACKQUOTE;
#elif defined(__SVR4) && defined(__sun) #elif defined(__SVR4) && defined(__sun)
if (sym->scancode == 60) key |= WKC_BACKQUOTE; if (sym->scancode == 60) key = WKC_BACKQUOTE;
if (sym->scancode == 49) key |= WKC_BACKSPACE; if (sym->scancode == 49) key = WKC_BACKSPACE;
#elif defined(__sgi__) #elif defined(__sgi__)
if (sym->scancode == 22) key |= WKC_BACKQUOTE; if (sym->scancode == 22) key = WKC_BACKQUOTE;
#else #else
if (sym->scancode == 41) key |= WKC_BACKQUOTE; // Linux console if (sym->scancode == 41) key = WKC_BACKQUOTE; // Linux console
if (sym->scancode == 49) key |= WKC_BACKQUOTE; if (sym->scancode == 49) key = WKC_BACKQUOTE;
#endif #endif
// META are the command keys on mac // META are the command keys on mac
@ -296,8 +296,8 @@ static uint32 ConvertSdlKeyIntoMy(SDL_keysym *sym)
if (sym->mod & KMOD_ALT) key |= WKC_ALT; if (sym->mod & KMOD_ALT) key |= WKC_ALT;
// these two lines really help porting hotkey combos. Uncomment to use -- Bjarni // these two lines really help porting hotkey combos. Uncomment to use -- Bjarni
#if 0 #if 0
DEBUG(driver, 0) ("scancode character pressed %d", sym->scancode); DEBUG(driver, 0) ("scancode character pressed %u", sym->scancode);
DEBUG(driver, 0) ("unicode character pressed %d", sym->unicode); DEBUG(driver, 0) ("unicode character pressed %u", sym->unicode);
#endif #endif
return (key << 16) + sym->unicode; return (key << 16) + sym->unicode;
} }

Loading…
Cancel
Save