Compare commits

...

2 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
83c83483ee Fix Quick Accent Y umlaut availability across language selection modes
Agent-Logs-Url: https://github.com/microsoft/PowerToys/sessions/c1eaede2-276c-4e81-ab45-64a502bd211e

Co-authored-by: niels9001 <9866362+niels9001@users.noreply.github.com>
2026-04-19 21:28:12 +00:00
copilot-swe-agent[bot]
c4faeeb829 Initial plan 2026-04-19 21:23:12 +00:00
2 changed files with 23 additions and 2 deletions

View File

@@ -744,6 +744,7 @@ namespace PowerAccent.Core
LetterKey.VK_I => new[] { "í" },
LetterKey.VK_O => new[] { "ó", "ő", "ö" },
LetterKey.VK_U => new[] { "ú", "ű", "ü" },
LetterKey.VK_Y => new[] { "ÿ", "ý" },
LetterKey.VK_COMMA => new[] { "„", "”", "»", "«" },
_ => Array.Empty<string>(),
};

View File

@@ -61,11 +61,31 @@ public class SettingsService
ExcludedApps = settings.Properties.ExcludedApps.Value;
_keyboardListener.UpdateExcludedApps(ExcludedApps);
SelectedLang = settings.Properties.SelectedLang.Value
var rawLanguageStrings = settings.Properties.SelectedLang.Value
.Split(',', StringSplitOptions.RemoveEmptyEntries)
.Select(lang => Enum.TryParse(lang, out Language selectedLangValue) ? selectedLangValue : Language.SPECIAL)
.Select(lang => lang.Trim())
.ToArray();
if (rawLanguageStrings.Any(lang => string.Equals(lang, "ALL", StringComparison.OrdinalIgnoreCase)))
{
SelectedLang = Enum.GetValues<Language>();
}
else
{
SelectedLang = rawLanguageStrings
.Select(lang =>
{
if (Enum.TryParse(lang, true, out Language selectedLangValue))
{
return selectedLangValue;
}
Logger.LogWarning($"Unknown QuickAccent language setting '{lang}', falling back to SPECIAL.");
return Language.SPECIAL;
})
.ToArray();
}
switch (settings.Properties.ToolbarPosition.Value)
{
case "Top center":