Change:
Issue Type: <bBug</bI remapped command to [Alt + V]. And such keybinding doesn't work. KeybindingService log is as follows. Keybinding seems to pass through vscode to terminal since when I run in terminal it registers keypresses. VS Code version: Code 1.67.2 (, 2022-05-17T18:23:40.286Z) OS version: Linux x64 5.15.41-1-MANJARO Restricted Mode: No Remote OS version: Linux x64 4.19.119-30.2 <details<summarySystem Info</summary </detailsExtensions: none<details<summaryA/B Experiments</summary</details<!-- generated by issue reporter --
This is working fine for me, I do see the warning that I don't understand though. any insights into what could be happening here? Could the soft dispatch teh terminal does be causing problems with this ignore single modifier thing?
Yes, I think is not dispatched through the keybinding service in this case. Looking again at the OP log: And comparing it with the output I see when binding to : Notice how the OP's log does not contain the keydown event for (i.e. this line ), but there are logs about being dispatched. I think the logs about being dispatched relate to the call the terminal does, but it looks to me that the keybinding service doesn't really get to dispatch the keyboard event, so it doesn't execute the command. I see how is making the log confusing so I will push a change to improve logging to better distinguish between and the real dispatch.
do you have or set in your
Yes I have enabled, but I didn't override . As far as I understand is included in by default.
It is but when is set to true it overrides as a convenience setting for users who use a lot of shell-based keybindings. If you're getting into needing to customize , I'd recommend setting back to false and tweaking instead. I checked the docs and it looks like this is already explained so I don't think there's anything we need to do on our end: !
ok, thanks a lot for your help

Discussion:
} public softDispatch(e: IKeyboardEvent, target: IContextKeyServiceTarget): IResolveResult | null { <ins> this._log(`/ Soft dispatching keyboard event`); </ins> const keybinding = this.resolveKeyboardEvent(e); if (keybinding.isChord()) { console.warn('Unexpected keyboard event mapped to a chord');

const [firstPart,] = keybinding.getDispatchParts(); if (firstPart === null) { // cannot be dispatched, probably only modifier keys <ins> this._log(` Keyboard event cannot be dispatched`); </ins> return null; }

if (resolveResult && resolveResult.enterChord) { shouldPreventDefault = true; this._enterChordMode(firstPart, keypressLabel); <ins> this._log(`+ Entering chord mode...`); </ins> return shouldPreventDefault; } if (this._currentChord) { if (!resolveResult || !resolveResult.commandId) { <ins> this._log(`+ Leaving chord mode: Nothing bound to "${this._currentChord.label} ${keypressLabel}".`); </ins> this._notificationService.status(nls.localize('missing.chord', "The key combination ({0}, {1}) is not a command.", this._currentChord.label, keypressLabel), { hideAfter: 10 * 1000 /* 10s */ }); shouldPreventDefault = true; }

if (!resolveResult.bubble) { shouldPreventDefault = true; } <ins> this._log(`+ Invoking command ${resolveResult.commandId}.`); </ins> if (typeof resolveResult.commandArgs === 'undefined') { this._commandService.executeCommand(resolveResult.commandId).then(undefined, err => this._notificationService.warn(err)); } else {