diff --git a/Terminal.Gui/Core/SearchCollectionNavigator.cs b/Terminal.Gui/Core/SearchCollectionNavigator.cs
index 34424dc42..1ebb0dd19 100644
--- a/Terminal.Gui/Core/SearchCollectionNavigator.cs
+++ b/Terminal.Gui/Core/SearchCollectionNavigator.cs
@@ -129,5 +129,17 @@ namespace Terminal.Gui {
lastKeystroke = DateTime.MinValue;
}
+
+ ///
+ /// Returns true if is a searchable key
+ /// (e.g. letters, numbers etc) that is valid to pass to to this
+ /// class for search filtering
+ ///
+ ///
+ ///
+ public static bool IsCompatibleKey (KeyEvent kb)
+ {
+ return !kb.IsAlt && !kb.IsCapslock && !kb.IsCtrl && !kb.IsScrolllock && !kb.IsNumlock;
+ }
}
}
diff --git a/Terminal.Gui/Views/ListView.cs b/Terminal.Gui/Views/ListView.cs
index 1513cb7ed..2cf853f29 100644
--- a/Terminal.Gui/Views/ListView.cs
+++ b/Terminal.Gui/Views/ListView.cs
@@ -438,7 +438,7 @@ namespace Terminal.Gui {
}
// Enable user to find & select an item by typing text
- if (!kb.IsAlt && !kb.IsCapslock && !kb.IsCtrl && !kb.IsScrolllock && !kb.IsNumlock) {
+ if (SearchCollectionNavigator.IsCompatibleKey(kb)) {
if (navigator == null) {
navigator = new SearchCollectionNavigator (source.ToList ().Cast