From 2217e33d02ef1643a4299e67de79b105f160a7cd Mon Sep 17 00:00:00 2001 From: Greenlamp Date: Fri, 17 May 2024 12:27:56 +0200 Subject: [PATCH] display alt icon if main is deleted --- src/configs/configHandler.ts | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/src/configs/configHandler.ts b/src/configs/configHandler.ts index bb7ac5d17c7..9ebfd326d21 100644 --- a/src/configs/configHandler.ts +++ b/src/configs/configHandler.ts @@ -96,24 +96,17 @@ export function getIconForLatestInput(configs, source, devices, settingName) { let config; if (source === 'gamepad') config = configs[devices[Device.GAMEPAD]]; else config = configs[devices[Device.KEYBOARD]]; - return getIconWithSettingName(config, settingName); -} - -/** - * Retrieves the setting name associated with the specified button. - * - * @param config - The configuration object containing settings. - * @param button - The button to search for. - * @param alt - A flag indicating if the search is for an alternate setting. - * @returns The setting name associated with the specified button. - */ -export function getSettingNameWithButton(config, button, alt = false) { - return Object.keys(config.settings).find(k => { - const a = !alt && !k.includes("ALT_"); - const b = alt && k.includes("ALT_"); - const c = config.settings[k] === button; - return (a || b) && c; - }); + const icon = getIconWithSettingName(config, settingName); + if (!icon) { + const isAlt = settingName.includes("ALT_"); + let altSettingName; + if (isAlt) + altSettingName = settingName.split("ALT_").splice(1)[0]; + else + altSettingName = `ALT_${settingName}`; + return getIconWithSettingName(config, altSettingName); + } + return icon; } export function assign(config, settingNameTarget, keycode): boolean {