From 5e9782f5d4bbb39a43c22283ebf62952c23180fb Mon Sep 17 00:00:00 2001 From: Torben Kohlmeier Date: Sat, 22 Feb 2025 13:47:51 +0100 Subject: [PATCH 1/3] package list key down: ignore modifier keys --- src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs index 9c54cdc7d7..54db7757ff 100644 --- a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs +++ b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs @@ -492,8 +492,8 @@ private void SelectAndScrollTo(int index) public void PackageList_KeyDown(object sender, KeyRoutedEventArgs e) { - string key = ((char)e.Key).ToString().ToLower(); - if ("abcdefghijklmnopqrsztuvwxyz1234567890".IndexOf(key) > -1) + string key = e.Key.ToString().ToLower(); + if (key.Length == 1 && "abcdefghijklmnopqrsztuvwxyz1234567890".Contains(key)) { if (Environment.TickCount - LastKeyDown > QUERY_SEPARATION_TIME) { From 04f9b830cfb6d7b7baa9faa7a32740f0c80bab61 Mon Sep 17 00:00:00 2001 From: Torben Kohlmeier Date: Tue, 25 Feb 2025 21:32:27 +0100 Subject: [PATCH 2/3] use CharacterReceived instead of KeyDown --- .../Pages/SoftwarePages/AbstractPackagesPage.xaml | 2 +- .../Pages/SoftwarePages/AbstractPackagesPage.xaml.cs | 9 ++++----- 2 files changed, 5 insertions(+), 6 deletions(-) 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 54db7757ff..c3d7821fb7 100644 --- a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs +++ b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs @@ -490,18 +490,17 @@ private void SelectAndScrollTo(int index) )); } - public void PackageList_KeyDown(object sender, KeyRoutedEventArgs e) + public void PackageList_CharacterReceived(object sender, CharacterReceivedRoutedEventArgs e) { - string key = e.Key.ToString().ToLower(); - if (key.Length == 1 && "abcdefghijklmnopqrsztuvwxyz1234567890".Contains(key)) + if ("abcdefghijklmnopqrsztuvwxyz1234567890".IndexOf(e.Character) > -1) { if (Environment.TickCount - LastKeyDown > QUERY_SEPARATION_TIME) { - TypeQuery = key; + TypeQuery = e.Character.ToString(); } else { - TypeQuery += key; + TypeQuery += e.Character.ToString(); } int IdQueryIndex = -1; From ea897df55b4a9f5ea793fb6abf06afdb330f4baa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=AD=20Climent?= Date: Wed, 26 Feb 2025 14:54:56 +0100 Subject: [PATCH 3/3] Make filter work when caps is enabled --- .../Pages/SoftwarePages/AbstractPackagesPage.xaml.cs | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs index c3d7821fb7..c85d969fec 100644 --- a/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs +++ b/src/UniGetUI/Pages/SoftwarePages/AbstractPackagesPage.xaml.cs @@ -492,15 +492,18 @@ private void SelectAndScrollTo(int index) public void PackageList_CharacterReceived(object sender, CharacterReceivedRoutedEventArgs e) { - if ("abcdefghijklmnopqrsztuvwxyz1234567890".IndexOf(e.Character) > -1) + char ch = Char.ToLower(e.Character); + + if (('a' <= ch && ch <= 'z') + || ('0' <= ch && ch <= '9')) { if (Environment.TickCount - LastKeyDown > QUERY_SEPARATION_TIME) { - TypeQuery = e.Character.ToString(); + TypeQuery = ch.ToString(); } else { - TypeQuery += e.Character.ToString(); + TypeQuery += ch.ToString(); } int IdQueryIndex = -1;