summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--console.c2
-rw-r--r--intro_gui.c12
-rw-r--r--sdl.c5
-rw-r--r--window.h6
4 files changed, 14 insertions, 11 deletions
diff --git a/console.c b/console.c
index 765073ed8..2f6520491 100644
--- a/console.c
+++ b/console.c
@@ -108,7 +108,7 @@ static void IConsoleWndProc(Window *w, WindowEvent *e)
case WE_KEYPRESS:
e->keypress.cont=false;
- if (e->keypress.keycode == WKC_TAB)
+ if (e->keypress.keycode == WKC_BACKQUOTE)
{
IConsoleSwitch();
} else
diff --git a/intro_gui.c b/intro_gui.c
index a731c4dd0..41cf45994 100644
--- a/intro_gui.c
+++ b/intro_gui.c
@@ -6,7 +6,7 @@
#include "viewport.h"
#include "gfx.h"
#include "player.h"
-#include "command.h"
+#include "command.h"
#include "console.h"
extern void MakeNewGame();
@@ -70,11 +70,11 @@ static void SelectGameWndProc(Window *w, WindowEvent *e) {
case 12: case 13: case 14: case 15:
DoCommandP(0, e->click.widget - 12, 0, NULL, CMD_SET_NEW_LANDSCAPE_TYPE);
break;
- }
- case WE_KEYPRESS:
- switch(e->keypress.keycode) {
- case WKC_TAB: IConsoleSwitch(); break;
- }
+ }
+ case WE_KEYPRESS:
+ switch(e->keypress.keycode) {
+ case WKC_BACKQUOTE: IConsoleSwitch(); break;
+ }
break;
}
}
diff --git a/sdl.c b/sdl.c
index 6fea23c06..27784f9d8 100644
--- a/sdl.c
+++ b/sdl.c
@@ -344,8 +344,6 @@ static const VkMapping _vk_mapping[] = {
AM(SDLK_a,SDLK_z,'A','Z'),
AM(SDLK_0,SDLK_9,'0','9'),
- AS(SDLK_AMPERSAND, WKC_AMPERSAND), // mainly for french keyboards
-
AS(SDLK_ESCAPE, WKC_ESC),
AS(SDLK_BACKSPACE, WKC_BACKSPACE),
@@ -385,6 +383,9 @@ static uint32 ConvertSdlKeyIntoMy(SDL_keysym *sym)
break;
}
}
+
+ // check scancode for BACKQUOTE key, because we want the key left of "1", not anything else (on non-US keyboards)
+ if (sym->scancode == 49) key |= WKC_BACKQUOTE;
// META are the command keys on mac
if (sym->mod & KMOD_META) key |= WKC_META;
diff --git a/window.h b/window.h
index 9f8f50be1..044dde463 100644
--- a/window.h
+++ b/window.h
@@ -124,8 +124,10 @@ enum WindowKeyCodes {
WKC_F11 = 43,
WKC_F12 = 44,
- // Required for french keyboard
- WKC_AMPERSAND = 45,
+ // backquote is the key left of "1"
+ // we only store this key here, no matter what character is really mapped to it
+ // on a particular keyboard. (US keyboard: ` and ~ ; German keyboard: ^ and °)
+ WKC_BACKQUOTE = 45,
// 0-9 are mapped to 48-57
// A-Z are mapped to 65-90