summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gfx.h15
-rw-r--r--src/main_gui.cpp8
-rw-r--r--src/video/cocoa_v.mm16
-rw-r--r--src/video/sdl_v.cpp16
-rw-r--r--src/video/win32_v.cpp15
5 files changed, 67 insertions, 3 deletions
diff --git a/src/gfx.h b/src/gfx.h
index 8c6408899..612dbee43 100644
--- a/src/gfx.h
+++ b/src/gfx.h
@@ -80,6 +80,21 @@ enum WindowKeyCodes {
/* 0-9 are mapped to 48-57
* A-Z are mapped to 65-90
* a-z are mapped to 97-122 */
+
+ /* Other keys, corresponding to their ascii values */
+ WKC_SLASH = 47, // / Forward slash
+ WKC_SEMICOLON = 59, // ; Semicolon
+ WKC_EQUALS = 61, // = Equals
+ WKC_L_BRACKET = 91, // [ Left square bracket
+ WKC_BACKSLASH = 92, // \ Backslash
+ WKC_R_BRACKET = 93, // ] Right square bracket
+
+ /* Other keys of which their ascii value is already taken
+ * - use unused ascii value not present on keyboard directly */
+ WKC_SINGLEQUOTE = 58, // ' Single quote
+ WKC_COMMA = 60, // , Comma
+ WKC_PERIOD = 62, // . Period
+ WKC_MINUS = 95, // - Minus
};
enum GameModes {
diff --git a/src/main_gui.cpp b/src/main_gui.cpp
index 92be8bf6d..bbf930f2a 100644
--- a/src/main_gui.cpp
+++ b/src/main_gui.cpp
@@ -1649,7 +1649,13 @@ static void MainToolbarWndProc(Window *w, WindowEvent *e)
case WKC_SHIFT | WKC_F2: ShowVehicleListWindow(_local_player, VEH_ROAD); break;
case WKC_SHIFT | WKC_F3: ShowVehicleListWindow(_local_player, VEH_SHIP); break;
case WKC_SHIFT | WKC_F4: ShowVehicleListWindow(_local_player, VEH_AIRCRAFT); break;
+ case WKC_NUM_PLUS: /* Fall through */
+ case WKC_EQUALS: /* Fall through */
+ case WKC_SHIFT | WKC_EQUALS: /* Fall through */
case WKC_SHIFT | WKC_F5: ToolbarZoomInClick(w); break;
+ case WKC_NUM_MINUS: /* Fall through */
+ case WKC_MINUS: /* Fall through */
+ case WKC_SHIFT | WKC_MINUS: /* Fall through */
case WKC_SHIFT | WKC_F6: ToolbarZoomOutClick(w); break;
case WKC_SHIFT | WKC_F7: if (CanBuildVehicleInfrastructure(VEH_TRAIN)) ShowBuildRailToolbar(_last_built_railtype, -1); break;
case WKC_SHIFT | WKC_F8: ShowBuildRoadToolbar(_last_built_roadtype); break;
@@ -1662,6 +1668,8 @@ static void MainToolbarWndProc(Window *w, WindowEvent *e)
case WKC_CTRL | WKC_ALT | 'C': if (!_networking) ShowCheatWindow(); break;
case 'A': if (CanBuildVehicleInfrastructure(VEH_TRAIN)) ShowBuildRailToolbar(_last_built_railtype, 4); break; /* Invoke Autorail */
case 'L': ShowTerraformToolbar(); break;
+ case 'M': ShowSmallMap(); break;
+ case 'V': ShowExtraViewPortWindow(); break;
default: return;
}
e->we.keypress.cont = false;
diff --git a/src/video/cocoa_v.mm b/src/video/cocoa_v.mm
index 425b74d00..409d14215 100644
--- a/src/video/cocoa_v.mm
+++ b/src/video/cocoa_v.mm
@@ -330,7 +330,21 @@ static const VkMapping _vk_mapping[] = {
AS(QZ_KP_MINUS, WKC_NUM_MINUS),
AS(QZ_KP_PLUS, WKC_NUM_PLUS),
AS(QZ_KP_ENTER, WKC_NUM_ENTER),
- AS(QZ_KP_PERIOD, WKC_NUM_DECIMAL)
+ AS(QZ_KP_PERIOD, WKC_NUM_DECIMAL),
+
+ // Other non-letter keys
+ AS(QZ_SLASH, WKC_SLASH),
+ AS(QZ_SEMICOLON, WKC_SEMICOLON),
+ AS(QZ_EQUALS, WKC_EQUALS),
+ AS(QZ_LEFTBRACKET, WKC_L_BRACKET),
+ AS(QZ_BACKSLASH, WKC_BACKSLASH),
+ AS(QZ_RIGHTBRACKET, WKC_R_BRACKET),
+
+ AS(QZ_QUOTE, WKC_SINGLEQUOTE),
+ AS(QZ_COMMA, WKC_COMMA),
+ AS(QZ_MINUS, WKC_MINUS),
+ AS(QZ_PERIOD, WKC_PERIOD)
+
};
diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp
index b6cc38a64..61023965b 100644
--- a/src/video/sdl_v.cpp
+++ b/src/video/sdl_v.cpp
@@ -276,7 +276,21 @@ static const VkMapping _vk_mapping[] = {
AS(SDLK_KP_MINUS, WKC_NUM_MINUS),
AS(SDLK_KP_PLUS, WKC_NUM_PLUS),
AS(SDLK_KP_ENTER, WKC_NUM_ENTER),
- AS(SDLK_KP_PERIOD, WKC_NUM_DECIMAL)
+ AS(SDLK_KP_PERIOD, WKC_NUM_DECIMAL),
+
+ // Other non-letter keys
+ AS(SDLK_SLASH, WKC_SLASH),
+ AS(SDLK_SEMICOLON, WKC_SEMICOLON),
+ AS(SDLK_EQUALS, WKC_EQUALS),
+ AS(SDLK_LEFTBRACKET, WKC_L_BRACKET),
+ AS(SDLK_BACKSLASH, WKC_BACKSLASH),
+ AS(SDLK_RIGHTBRACKET, WKC_R_BRACKET),
+
+ AS(SDLK_QUOTE, WKC_SINGLEQUOTE),
+ AS(SDLK_COMMA, WKC_COMMA),
+ AS(SDLK_MINUS, WKC_MINUS),
+ AS(SDLK_PERIOD, WKC_PERIOD)
+
};
static uint32 ConvertSdlKeyIntoMy(SDL_keysym *sym)
diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp
index a1a987565..6a7608705 100644
--- a/src/video/win32_v.cpp
+++ b/src/video/win32_v.cpp
@@ -108,7 +108,20 @@ static const VkMapping _vk_mapping[] = {
AS(VK_MULTIPLY, WKC_NUM_MUL),
AS(VK_SUBTRACT, WKC_NUM_MINUS),
AS(VK_ADD, WKC_NUM_PLUS),
- AS(VK_DECIMAL, WKC_NUM_DECIMAL)
+ AS(VK_DECIMAL, WKC_NUM_DECIMAL),
+
+ // Other non-letter keys
+ AS(0xBF, WKC_SLASH),
+ AS(0xBA, WKC_SEMICOLON),
+ AS(0xBB, WKC_EQUALS),
+ AS(0xDB, WKC_L_BRACKET),
+ AS(0xDC, WKC_BACKSLASH),
+ AS(0xDD, WKC_R_BRACKET),
+
+ AS(0xDE, WKC_SINGLEQUOTE),
+ AS(0xBC, WKC_COMMA),
+ AS(0xBD, WKC_MINUS),
+ AS(0xBE, WKC_PERIOD)
};
static uint MapWindowsKey(uint sym)