Skip to content

Commit 3a52eb2

Browse files
committed
Support ctrl+p/ctrl+n navigation in quickOpenWidget
1 parent b01fb0b commit 3a52eb2

1 file changed

Lines changed: 19 additions & 1 deletion

File tree

src/vs/base/parts/quickopen/browser/quickOpenWidget.ts

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ import {StandardKeyboardEvent} from 'vs/base/browser/keyboardEvent';
2525
import {DefaultController, ClickBehavior} from 'vs/base/parts/tree/browser/treeDefaults';
2626
import DOM = require('vs/base/browser/dom');
2727
import {IActionProvider} from 'vs/base/parts/tree/browser/actionsRenderer';
28-
import {KeyCode, KeyMod} from 'vs/base/common/keyCodes';
28+
import {KeyCode, KeyMod, CommonKeybindings} from 'vs/base/common/keyCodes';
2929
import {IDisposable, dispose} from 'vs/base/common/lifecycle';
3030
import {ScrollbarVisibility} from 'vs/base/browser/ui/scrollbar/scrollableElementOptions';
3131

@@ -155,6 +155,15 @@ export class QuickOpenWidget implements IModelProvider {
155155
DOM.addDisposableListener(this.inputBox.inputElement, DOM.EventType.KEY_DOWN, (e: KeyboardEvent) => {
156156
let keyboardEvent: StandardKeyboardEvent = new StandardKeyboardEvent(e);
157157

158+
if (platform.isMacintosh) {
159+
if (keyboardEvent.equals(CommonKeybindings.WINCTRL_N)) {
160+
keyboardEvent.keyCode = KeyCode.DownArrow;
161+
}
162+
else if (keyboardEvent.equals(CommonKeybindings.WINCTRL_P)) {
163+
keyboardEvent.keyCode = KeyCode.UpArrow;
164+
}
165+
}
166+
158167
// Do not handle Tab: It is used to navigate between elements without mouse
159168
if (keyboardEvent.keyCode === KeyCode.Tab) {
160169
return;
@@ -227,6 +236,15 @@ export class QuickOpenWidget implements IModelProvider {
227236
return;
228237
}
229238

239+
if (platform.isMacintosh) {
240+
if (keyboardEvent.equals(CommonKeybindings.WINCTRL_N)) {
241+
keyboardEvent.keyCode = KeyCode.DownArrow;
242+
}
243+
else if (keyboardEvent.equals(CommonKeybindings.WINCTRL_P)) {
244+
keyboardEvent.keyCode = KeyCode.UpArrow;
245+
}
246+
}
247+
230248
// Support keyboard navigation in quick navigation mode
231249
if (keyboardEvent.keyCode === KeyCode.DownArrow || keyboardEvent.keyCode === KeyCode.UpArrow || keyboardEvent.keyCode === KeyCode.PageDown || keyboardEvent.keyCode === KeyCode.PageUp) {
232250
DOM.EventHelper.stop(e, true);

0 commit comments

Comments
 (0)