From 53e890272405e95b88695ff2128696db31038ad0 Mon Sep 17 00:00:00 2001 From: Miodec Date: Mon, 31 Oct 2022 19:10:47 +0100 Subject: [PATCH] fixed a bug where emulator sync, layout default and opposite shift keymap would cause errors --- frontend/src/ts/test/shift-tracker.ts | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/frontend/src/ts/test/shift-tracker.ts b/frontend/src/ts/test/shift-tracker.ts index 9c068fc59..875518121 100644 --- a/frontend/src/ts/test/shift-tracker.ts +++ b/frontend/src/ts/test/shift-tracker.ts @@ -51,9 +51,14 @@ function dynamicKeymapLegendStyle(uppercase: boolean): void { async function buildKeymapStrings(): Promise { if (keymapStrings.keymap === Config.keymapLayout) return; + const layoutName = + Config.keymapLayout === "overrideSync" + ? Config.layout + : Config.keymapLayout; + let layout; try { - layout = await Misc.getLayout(Config.keymapLayout); + layout = await Misc.getLayout(layoutName); } catch (e) { Notifications.add( Misc.createErrorMessage(e, "Failed to track shift state"), @@ -194,7 +199,12 @@ export async function isUsingOppositeShift( ): Promise { if (!leftState && !rightState) return null; - if (Config.oppositeShiftMode === "on") { + if ( + Config.oppositeShiftMode === "on" || + (Config.oppositeShiftMode === "keymap" && + Config.keymapLayout === "overrideSync" && + Config.layout === "default") + ) { if ( !rightSideKeys.includes(event.code) && !leftSideKeys.includes(event.code)