Keyboard Shortcut for opening command palette in VS Code?

For me, it was bound to the timer setting in Razer Cortex. turned timer off function off and was fine.


Why it happens

Most probably it because of your OS keybindings conflicts with VSCode keybindings. And most probably your OS keybinding (Ctrl+Shift in our case) is binded for something important (for example, changing of layout), and because of this system moves the focus from the app to system, and the app cannot receive keypress event.

Any app cannot receive Ctrl-Shift-* event, not only VSCode.

How to test

I'm using Ubuntu, and i set Ctrl+Shift combination for layout change. After that i open developer console (Developer: Toggle Keyboard Shortcuts Troubleshooting) and tested. Here is the log:

[2020-09-13 11:28:35.706] [renderer1] [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
[2020-09-13 11:28:35.706] [renderer1] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
[2020-09-13 11:28:35.706] [renderer1] [info] [KeybindingService]: \ Keyboard event cannot be dispatched.

What happens here? The app (VSCode) detects Left Ctrl press. But when i press on Left Shift, the system (Ubuntu) handles Any Ctrl+Any Shift combination for layout change. Because the system (Ubuntu) handled this important event, it doesn't sends this event in the app (VSCode). And because of this the app (VSCode) don't received Left Shift key press event, because it was interrupted by the system (Ubuntu).

If you seeing the same, then you know a reason of the problem.

Simplest solution

Change system Ctrl+Shift (by default it listens for Any - left or right) event to Right Ctrl+Right Shift (or left) event. In this case the system will listen only for right keys, and will send left keys in apps. You don't need to modify the app shortcuts (as long as they do not use exactly right or left keys).

Notice importance of Any (default), Left and Right :)

I'm using Right Ctrl+Right Shift for system layout change, and Left Ctrl+Left Shift+P for command palette in VSCode.

And it is works now:

[2020-09-13 11:57:47.607] [renderer1] [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 17, key: Control
[2020-09-13 11:57:47.607] [renderer1] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl], code: ControlLeft, keyCode: 5 ('Ctrl')
[2020-09-13 11:57:47.607] [renderer1] [info] [KeybindingService]: \ Keyboard event cannot be dispatched.
[2020-09-13 11:57:47.715] [renderer1] [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 16, key: Shift
[2020-09-13 11:57:47.715] [renderer1] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: ShiftLeft, keyCode: 4 ('Shift')
[2020-09-13 11:57:47.715] [renderer1] [info] [KeybindingService]: \ Keyboard event cannot be dispatched.
[2020-09-13 11:57:47.789] [renderer1] [info] [KeybindingService]: / Received  keydown event - modifiers: [ctrl,shift], code: KeyP, keyCode: 80, key: P
[2020-09-13 11:57:47.790] [renderer1] [info] [KeybindingService]: | Converted keydown event - modifiers: [ctrl,shift], code: KeyP, keyCode: 46 ('P')
[2020-09-13 11:57:47.790] [renderer1] [info] [KeybindingService]: | Resolving ctrl+shift+[KeyP]
[2020-09-13 11:57:47.790] [renderer1] [info] [KeybindingService]: \ From 3 keybinding entries, matched workbench.action.showCommands, when: no when condition, source: user.

It is well known bug on Linux systems

1, 2, 3, 4

Windows?

I have Ctrl+Shift combination in both systems: Windows and Ubuntu. But this problem happens only on Ubuntu. Windows works fine with it.


Well seems like f1 works instead of control+shift+p. Don't know why it lists that as the keyboard shortcut...

Edit: So on some of my computers ctrl + shift + p works fine. Not sure perhaps its a conflict with the mappings on particular laptops.