diff --git a/src/modules/poweraccent/PowerAccent.Core/Languages.cs b/src/modules/poweraccent/PowerAccent.Core/Languages.cs index 18e4093d3b..57a48675c0 100644 --- a/src/modules/poweraccent/PowerAccent.Core/Languages.cs +++ b/src/modules/poweraccent/PowerAccent.Core/Languages.cs @@ -11,19 +11,23 @@ namespace PowerAccent.Core { ALL, CUR, + CY, CZ, DE, FR, + HR, HU, IS, IT, MI, + NL, PI, PL, PT, RO, SK, SP, + SV, TK, } @@ -35,19 +39,23 @@ namespace PowerAccent.Core { case Language.ALL: return GetDefaultLetterKeyALL(letter); // ALL case Language.CUR: return GetDefaultLetterKeyCUR(letter); // Currency + case Language.CY: return GetDefaultLetterKeyCY(letter); // Welsh case Language.CZ: return GetDefaultLetterKeyCZ(letter); // Czech case Language.DE: return GetDefaultLetterKeyDE(letter); // German case Language.FR: return GetDefaultLetterKeyFR(letter); // French + case Language.HR: return GetDefaultLetterKeyHR(letter); // Croatian case Language.HU: return GetDefaultLetterKeyHU(letter); // Hungarian case Language.IS: return GetDefaultLetterKeyIS(letter); // Iceland case Language.IT: return GetDefaultLetterKeyIT(letter); // Italian case Language.MI: return GetDefaultLetterKeyMI(letter); // Maori + case Language.NL: return GetDefaultLetterKeyNL(letter); // Dutch case Language.PI: return GetDefaultLetterKeyPI(letter); // Pinyin case Language.PL: return GetDefaultLetterKeyPL(letter); // Polish case Language.PT: return GetDefaultLetterKeyPT(letter); // Portuguese case Language.RO: return GetDefaultLetterKeyRO(letter); // Romanian case Language.SK: return GetDefaultLetterKeySK(letter); // Slovak case Language.SP: return GetDefaultLetterKeySP(letter); // Spain + case Language.SV: return GetDefaultLetterKeySV(letter); // Swedish case Language.TK: return GetDefaultLetterKeyTK(letter); // Turkish } @@ -178,6 +186,24 @@ namespace PowerAccent.Core return Array.Empty(); } + // Croatian + private static char[] GetDefaultLetterKeyHR(LetterKey letter) + { + switch (letter) + { + case LetterKey.VK_C: + return new char[] { 'ć', 'č' }; + case LetterKey.VK_D: + return new char[] { 'đ' }; + case LetterKey.VK_S: + return new char[] { 'š' }; + case LetterKey.VK_Z: + return new char[] { 'ž' }; + } + + return Array.Empty(); + } + // French private static char[] GetDefaultLetterKeyFR(LetterKey letter) { @@ -272,6 +298,30 @@ namespace PowerAccent.Core return Array.Empty(); } + // Dutch + private static char[] GetDefaultLetterKeyNL(LetterKey letter) + { + switch (letter) + { + case LetterKey.VK_A: + return new char[] { 'á', 'à', 'ä' }; + case LetterKey.VK_C: + return new char[] { 'ç' }; + case LetterKey.VK_E: + return new char[] { 'é', 'è', 'ë', 'ê', '€' }; + case LetterKey.VK_I: + return new char[] { 'í', 'ï', 'î' }; + case LetterKey.VK_N: + return new char[] { 'ñ' }; + case LetterKey.VK_O: + return new char[] { 'ó', 'ö', 'ô' }; + case LetterKey.VK_U: + return new char[] { 'ú', 'ü', 'û' }; + } + + return Array.Empty(); + } + // Pinyin private static char[] GetDefaultLetterKeyPI(LetterKey letter) { @@ -547,5 +597,41 @@ namespace PowerAccent.Core return Array.Empty(); } + + // Welsh + private static char[] GetDefaultLetterKeyCY(LetterKey letter) + { + switch (letter) + { + case LetterKey.VK_A: + return new char[] { 'â' }; + case LetterKey.VK_E: + return new char[] { 'ê' }; + case LetterKey.VK_I: + return new char[] { 'î' }; + case LetterKey.VK_O: + return new char[] { 'ô' }; + case LetterKey.VK_U: + return new char[] { 'û' }; + case LetterKey.VK_Y: + return new char[] { 'ŷ' }; + } + + return Array.Empty(); + } + + // Swedish + private static char[] GetDefaultLetterKeySV(LetterKey letter) + { + switch (letter) + { + case LetterKey.VK_A: + return new char[] { 'å', 'ä' }; + case LetterKey.VK_O: + return new char[] { 'ö' }; + } + + return Array.Empty(); + } } } diff --git a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw index 18e7d2ac42..3559dba43f 100644 --- a/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw +++ b/src/settings-ui/Settings.UI/Strings/en-us/Resources.resw @@ -2563,6 +2563,9 @@ Activate by holding the key for the character you want to add an accent to, then Currency + + Croatian + Czech @@ -2575,6 +2578,9 @@ Activate by holding the key for the character you want to add an accent to, then Maori + + Dutch + Pinyin @@ -2590,6 +2596,9 @@ Activate by holding the key for the character you want to add an accent to, then Spanish + + Swedish + Turkish @@ -2605,6 +2614,9 @@ Activate by holding the key for the character you want to add an accent to, then Italian + + Welsh + Quick and simple utility for managing hosts file. "Hosts" refers to the system hosts file, do not loc diff --git a/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs b/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs index c00c667e7e..6a3a88f2cd 100644 --- a/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs +++ b/src/settings-ui/Settings.UI/ViewModels/PowerAccentViewModel.cs @@ -25,7 +25,9 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels { "ALL", "CUR", + "HR", "CZ", + "NL", "FR", "DE", "HU", @@ -38,7 +40,9 @@ namespace Microsoft.PowerToys.Settings.UI.ViewModels "RO", "SK", "SP", + "SV", "TK", + "CY", }; private readonly string[] _toolbarOptions = diff --git a/src/settings-ui/Settings.UI/Views/PowerAccentPage.xaml b/src/settings-ui/Settings.UI/Views/PowerAccentPage.xaml index ceb6027b05..4c88564196 100644 --- a/src/settings-ui/Settings.UI/Views/PowerAccentPage.xaml +++ b/src/settings-ui/Settings.UI/Views/PowerAccentPage.xaml @@ -53,7 +53,9 @@ + + @@ -66,7 +68,9 @@ + +