(svn r7170) -Fix: [sdl] Non-working console toggle for some keyboard layouts. Do not OR the backquote
authorDarkvater
Thu, 16 Nov 2006 16:50:54 +0000
changeset 5099 fe33b77e1b66
parent 5098 bd3e82d14997
child 5100 f9d3e09bb0e2
(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.
video/sdl_v.c
--- a/video/sdl_v.c	Thu Nov 16 16:18:00 2006 +0000
+++ b/video/sdl_v.c	Thu Nov 16 16:50:54 2006 +0000
@@ -272,21 +272,21 @@
 
 	// 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 (sym->scancode == 41) key |= WKC_BACKQUOTE;
+	if (sym->scancode == 41) key = WKC_BACKQUOTE;
 #elif defined(__APPLE__)
-	if (sym->scancode == 10) key |= WKC_BACKQUOTE;
+	if (sym->scancode == 10) key = WKC_BACKQUOTE;
 #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__)
-	if (sym->scancode == 17)  key |= WKC_BACKQUOTE;
+	if (sym->scancode == 17) key = WKC_BACKQUOTE;
 #elif defined(__SVR4) && defined(__sun)
-	if (sym->scancode == 60) key |= WKC_BACKQUOTE;
-	if (sym->scancode == 49) key |= WKC_BACKSPACE;
+	if (sym->scancode == 60) key = WKC_BACKQUOTE;
+	if (sym->scancode == 49) key = WKC_BACKSPACE;
 #elif defined(__sgi__)
-	if (sym->scancode == 22) key |= WKC_BACKQUOTE;
+	if (sym->scancode == 22) key = WKC_BACKQUOTE;
 #else
-	if (sym->scancode == 41) key |= WKC_BACKQUOTE; // Linux console
-	if (sym->scancode == 49) key |= WKC_BACKQUOTE;
+	if (sym->scancode == 41) key = WKC_BACKQUOTE; // Linux console
+	if (sym->scancode == 49) key = WKC_BACKQUOTE;
 #endif
 
 	// META are the command keys on mac
@@ -296,8 +296,8 @@
 	if (sym->mod & KMOD_ALT)   key |= WKC_ALT;
 	// these two lines really help porting hotkey combos. Uncomment to use -- Bjarni
 #if 0
-	DEBUG(driver, 0) ("scancode character pressed %d", sym->scancode);
-	DEBUG(driver, 0) ("unicode character pressed %d", sym->unicode);
+	DEBUG(driver, 0) ("scancode character pressed %u", sym->scancode);
+	DEBUG(driver, 0) ("unicode character pressed %u", sym->unicode);
 #endif
 	return (key << 16) + sym->unicode;
 }