diff --git a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml index 9d66ca548b..a44affa94b 100644 --- a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml +++ b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml @@ -13,7 +13,7 @@ Name="ABSTRACT_PAGE" NavigationCacheMode="Required" xmlns:animations="using:CommunityToolkit.WinUI.Animations" xmlns:pkgClasses="using:UniGetUI.PackageEngine.PackageClasses" - KeyDown="{x:Bind PackageList_KeyDown}"> + CharacterReceived="{x:Bind PackageList_CharacterReceived}"> diff --git a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs index 9c54cdc7d7..c85d969fec 100644 --- a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs +++ b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs @@ -490,18 +490,20 @@ private void SelectAndScrollTo(int index) )); } - public void PackageList_KeyDown(object sender, KeyRoutedEventArgs e) + public void PackageList_CharacterReceived(object sender, CharacterReceivedRoutedEventArgs e) { - string key = ((char)e.Key).ToString().ToLower(); - if ("abcdefghijklmnopqrsztuvwxyz1234567890".IndexOf(key) > -1) + char ch = Char.ToLower(e.Character); + + if (('a' <= ch && ch <= 'z') + || ('0' <= ch && ch <= '9')) { if (Environment.TickCount - LastKeyDown > QUERY_SEPARATION_TIME) { - TypeQuery = key; + TypeQuery = ch.ToString(); } else { - TypeQuery += key; + TypeQuery += ch.ToString(); } int IdQueryIndex = -1;