Skip to content

Commit 9767f54

Browse files
committed
fix: add Ctrl+N/P to quick switcher and database switcher, simplify changelog
1 parent 4fe567d commit 9767f54

3 files changed

Lines changed: 5 additions & 7 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010
### Added
1111

12-
- Tab key focus navigation for connection list, quick switcher, and database switcher
13-
- Ctrl+N/P as alternative to Ctrl+J/K for navigating lists
14-
- Auto-focus search field in quick switcher and database switcher dialogs
12+
- Keyboard focus navigation (Tab, Ctrl+J/K/N/P, arrow keys) for connection list, quick switcher, and database switcher
1513

1614
## [0.22.1] - 2026-03-22
1715

TablePro/Views/DatabaseSwitcher/DatabaseSwitcherSheet.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,12 +138,12 @@ struct DatabaseSwitcherSheet: View {
138138
moveSelection(up: false)
139139
return .handled
140140
}
141-
.onKeyPress(characters: .init(charactersIn: "j"), phases: .down) { keyPress in
141+
.onKeyPress(characters: .init(charactersIn: "jn"), phases: [.down, .repeat]) { keyPress in
142142
guard keyPress.modifiers.contains(.control) else { return .ignored }
143143
moveSelection(up: false)
144144
return .handled
145145
}
146-
.onKeyPress(characters: .init(charactersIn: "k"), phases: .down) { keyPress in
146+
.onKeyPress(characters: .init(charactersIn: "kp"), phases: [.down, .repeat]) { keyPress in
147147
guard keyPress.modifiers.contains(.control) else { return .ignored }
148148
moveSelection(up: true)
149149
return .handled

TablePro/Views/QuickSwitcher/QuickSwitcherView.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,12 +80,12 @@ internal struct QuickSwitcherSheet: View {
8080
viewModel.moveDown()
8181
return .handled
8282
}
83-
.onKeyPress(characters: .init(charactersIn: "j"), phases: .down) { keyPress in
83+
.onKeyPress(characters: .init(charactersIn: "jn"), phases: [.down, .repeat]) { keyPress in
8484
guard keyPress.modifiers.contains(.control) else { return .ignored }
8585
viewModel.moveDown()
8686
return .handled
8787
}
88-
.onKeyPress(characters: .init(charactersIn: "k"), phases: .down) { keyPress in
88+
.onKeyPress(characters: .init(charactersIn: "kp"), phases: [.down, .repeat]) { keyPress in
8989
guard keyPress.modifiers.contains(.control) else { return .ignored }
9090
viewModel.moveUp()
9191
return .handled

0 commit comments

Comments
 (0)