Ignore key commands when the web view has focus. Fixes #3179

This commit is contained in:
Maurice Parker 2021-06-23 02:44:34 -05:00
parent 321e61b635
commit 86ca397221
2 changed files with 12 additions and 0 deletions

View File

@ -35,6 +35,12 @@ class MasterFeedViewController: UITableViewController, UndoableCommandRunner {
private let keyboardManager = KeyboardManager(type: .sidebar)
override var keyCommands: [UIKeyCommand]? {
// If the first responder is the WKWebView (PreloadedWebView) we don't want to supply any keyboard
// commands that the system is looking for by going up the responder chain. They will interfere with
// the WKWebViews built in hardware keyboard shortcuts, specifically the up and down arrow keys.
guard let current = UIResponder.currentFirstResponder, !(current is PreloadedWebView) else { return nil }
return keyboardManager.keyCommands
}

View File

@ -33,6 +33,12 @@ class MasterTimelineViewController: UITableViewController, UndoableCommandRunner
private let keyboardManager = KeyboardManager(type: .timeline)
override var keyCommands: [UIKeyCommand]? {
// If the first responder is the WKWebView (PreloadedWebView) we don't want to supply any keyboard
// commands that the system is looking for by going up the responder chain. They will interfere with
// the WKWebViews built in hardware keyboard shortcuts, specifically the up and down arrow keys.
guard let current = UIResponder.currentFirstResponder, !(current is PreloadedWebView) else { return nil }
return keyboardManager.keyCommands
}