From 67ccf997c77808221412b5784ed0e51b4e20e72e Mon Sep 17 00:00:00 2001 From: Garv Changrani <154041471+Garvity@users.noreply.github.com> Date: Tue, 20 May 2025 14:25:22 +0530 Subject: [PATCH] Fix #24388, #24448: shortcut keys are not localised (#24440) #ieeesoc * fix: resolve issue where shortcut keys were not localised * fix: correct Caps Lock shortcut misassigned to numpad dot * Update changelog.txt * Keep strings ordered by key * Remove duplicate entries * Add another changelog entry --------- Co-authored-by: Aaron van Geffen --- distribution/changelog.txt | 2 ++ src/openrct2-ui/UiStringIds.h | 14 ++++++++++++++ src/openrct2-ui/input/ShortcutInput.cpp | 14 +++++++++++++- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 9d8b4c28ce..e3008cc1e3 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -14,9 +14,11 @@ - Fix: [#24362] When upgrading from an older version on Windows, old versions of official objects are not always removed. - Fix: [#24366] Zero G Rolls have some incorrect vehicle yaw rotations. - Fix: [#24371] Fix divide by zero in the scenery window when there is no scenery. +- Fix: [#24388] Shortcut keys are not localised based on the user’s language settings. - Fix: [#24403] Park fences draw underneath and through opaque water. - Fix: [#24406] The network status window uses an undefined string for its title. - Fix: [#24444] In the object load error window, the guide text overlaps when the title bar is enlarged. +- Fix: [#24448] Shortcuts involving the Caps Lock key are wrongly localised to NumPad Dot. 0.4.22 (2025-05-04) ------------------------------------------------------------------------ diff --git a/src/openrct2-ui/UiStringIds.h b/src/openrct2-ui/UiStringIds.h index 03642a47c4..8f12ff45f0 100644 --- a/src/openrct2-ui/UiStringIds.h +++ b/src/openrct2-ui/UiStringIds.h @@ -125,11 +125,14 @@ namespace OpenRCT2 STR_SHORTCUT_ADJUST_LAND = 2511, STR_SHORTCUT_ADJUST_WATER = 2512, STR_SHORTCUT_ADVANCE_TO_NEXT_TICK = 6268, + STR_SHORTCUT_ALT = 2543, STR_SHORTCUT_BACKSPACE = 2533, STR_SHORTCUT_BUILD_NEW_RIDE = 2515, STR_SHORTCUT_BUILD_PATHS = 2514, STR_SHORTCUT_BUILD_SCENERY = 2513, STR_SHORTCUT_CANCEL_CONSTRUCTION_MODE = 2495, + STR_SHORTCUT_CAPSLOCK = 2671, + STR_SHORTCUT_CLEAR = 2537, STR_SHORTCUT_CLEAR_SCENERY = 6134, STR_SHORTCUT_CLOSE_ALL_FLOATING_WINDOWS = 2494, STR_SHORTCUT_CLOSE_TOP_MOST_WINDOW = 2493, @@ -152,13 +155,17 @@ namespace OpenRCT2 STR_SHORTCUT_DECREASE_Y_COORD = 6344, STR_SHORTCUT_DELETE = 2571, STR_SHORTCUT_DOWN = 2565, + STR_SHORTCUT_END = 2560, STR_SHORTCUT_ESCAPE = 2552, + STR_SHORTCUT_EXECUTE = 2568, STR_SHORTCUT_GIANT_SCREENSHOT = 6456, STR_SHORTCUT_GRIDLINES_DISPLAY_TOGGLE = 6161, STR_SHORTCUT_HEIGHT_MARKS_ON_LAND_TOGGLE = 2508, STR_SHORTCUT_HEIGHT_MARKS_ON_PATHS_TOGGLE = 2510, STR_SHORTCUT_HEIGHT_MARKS_ON_RIDE_TRACKS_TOGGLE = 2509, + STR_SHORTCUT_HELP = 2572, STR_SHORTCUT_HIGHLIGHT_PATH_ISSUES_TOGGLE = 6234, + STR_SHORTCUT_HOME = 2561, STR_SHORTCUT_INCREASE_ELEM_HEIGHT = 6345, STR_SHORTCUT_INCREASE_GAME_SPEED = 5450, STR_SHORTCUT_INCREASE_X_COORD = 6341, @@ -171,6 +178,7 @@ namespace OpenRCT2 STR_SHORTCUT_JOY_RIGHT = 6426, STR_SHORTCUT_JOY_UP = 6427, STR_SHORTCUT_LEFT = 2562, + STR_SHORTCUT_MENU = 2618, STR_SHORTCUT_MOD_ALT = 6419, STR_SHORTCUT_MOD_CTRL = 6416, STR_SHORTCUT_MOD_GUI = 6422, @@ -189,6 +197,7 @@ namespace OpenRCT2 STR_SHORTCUT_MOVE_ELEMENT_DOWN = 6340, STR_SHORTCUT_MOVE_ELEMENT_UP = 6339, STR_SHORTCUT_MUTE_SOUND = 5804, + STR_SHORTCUT_NUMLOCK = 2669, STR_SHORTCUT_NUMPAD_0 = 2621, STR_SHORTCUT_NUMPAD_1 = 2622, STR_SHORTCUT_NUMPAD_2 = 2623, @@ -211,9 +220,11 @@ namespace OpenRCT2 STR_SHORTCUT_OPEN_TILE_INSPECTOR = 6267, STR_SHORTCUT_OPEN_TRANSPARENCY_OPTIONS = 6483, STR_SHORTCUT_PASTE_ELEMENT = 6337, + STR_SHORTCUT_PAUSE = 2544, STR_SHORTCUT_PAUSE_GAME = 2496, STR_SHORTCUT_PGDN = 2559, STR_SHORTCUT_PGUP = 2558, + STR_SHORTCUT_PRINT = 2567, STR_SHORTCUT_REDUCE_GAME_SPEED = 5449, STR_SHORTCUT_REMOVE_BASE_LAND_TOGGLE = 2502, STR_SHORTCUT_REMOVE_ELEMENT = 6338, @@ -226,6 +237,7 @@ namespace OpenRCT2 STR_SHORTCUT_SCALE_DOWN = 6334, STR_SHORTCUT_SCALE_UP = 6333, STR_SHORTCUT_SCREENSHOT = 2524, + STR_SHORTCUT_SCROLL = 2670, STR_SHORTCUT_SCROLL_MAP_DOWN = 5471, STR_SHORTCUT_SCROLL_MAP_LEFT = 5470, STR_SHORTCUT_SCROLL_MAP_RIGHT = 5472, @@ -237,6 +249,7 @@ namespace OpenRCT2 STR_SHORTCUT_SEE_THROUGH_STAFF_TOGGLE = 6487, STR_SHORTCUT_SEE_THROUGH_VEGETATION_TOGGLE = 6484, STR_SHORTCUT_SEE_THROUGH_VEHICLES_TOGGLE = 6485, + STR_SHORTCUT_SELECT = 2566, STR_SHORTCUT_SEND_MESSAGE = 5493, STR_SHORTCUT_SHOW_FINANCIAL_INFORMATION = 2516, STR_SHORTCUT_SHOW_GUEST_LIST = 2520, @@ -247,6 +260,7 @@ namespace OpenRCT2 STR_SHORTCUT_SHOW_RESEARCH_INFORMATION = 2517, STR_SHORTCUT_SHOW_RIDES_LIST = 2518, STR_SHORTCUT_SHOW_STAFF_LIST = 2521, + STR_SHORTCUT_SNAPSHOT = 2569, STR_SHORTCUT_SORT_ELEMENTS = 6624, STR_SHORTCUT_SPACEBAR = 2557, STR_SHORTCUT_TAB = 2534, diff --git a/src/openrct2-ui/input/ShortcutInput.cpp b/src/openrct2-ui/input/ShortcutInput.cpp index 9edea2eb97..c9b09b136e 100644 --- a/src/openrct2-ui/input/ShortcutInput.cpp +++ b/src/openrct2-ui/input/ShortcutInput.cpp @@ -246,7 +246,19 @@ std::string_view ShortcutInput::GetLocalisedKeyName(uint32_t key) { SDLK_KP_9, STR_SHORTCUT_NUMPAD_9 }, { SDLK_KP_0, STR_SHORTCUT_NUMPAD_0 }, { SDLK_KP_PERIOD, STR_SHORTCUT_NUMPAD_PERIOD }, - { SDLK_CAPSLOCK, STR_SHORTCUT_NUMPAD_PERIOD }, + { SDLK_CAPSLOCK, STR_SHORTCUT_CAPSLOCK }, + { SDLK_CLEAR, STR_SHORTCUT_CLEAR }, + { SDLK_PAUSE, STR_SHORTCUT_PAUSE }, + { SDLK_END, STR_SHORTCUT_END }, + { SDLK_HOME, STR_SHORTCUT_HOME }, + { SDLK_SELECT, STR_SHORTCUT_SELECT }, + { SDLK_PRINTSCREEN, STR_SHORTCUT_PRINT }, + { SDLK_EXECUTE, STR_SHORTCUT_EXECUTE }, + { SDLK_SYSREQ, STR_SHORTCUT_SNAPSHOT }, + { SDLK_HELP, STR_SHORTCUT_HELP }, + { SDLK_MENU, STR_SHORTCUT_MENU }, + { SDLK_NUMLOCKCLEAR, STR_SHORTCUT_NUMLOCK }, + { SDLK_SCROLLLOCK, STR_SHORTCUT_SCROLL }, }; auto r = _keys.find(key);