src/vs/platform/keybinding/common/abstractKeybindingService.ts/AbstractKeybindingService/_singleModifierDispatch
class AbstractKeybindingService:	protected _singleModifierDispatch(e: IKeyboardEvent, target: IContextKeyServiceTarget): boolean {
		const keybinding = this.resolveKeyboardEvent(e);
		const [singleModifier,] = keybinding.getSingleModifierDispatchParts();

		if (singleModifier !== null && this._currentSingleModifier === null) {
			// we have a valid `singleModifier`, store it for the next keyup, but clear it in 300ms
			this._log(`+ Storing single modifier for possible chord ${singleModifier}.`);
			this._currentSingleModifier = singleModifier;
			this._currentSingleModifierClearTimeout.cancelAndSet(() => {
				this._log(`+ Clearing single modifier due to 300ms elapsed.`);
				this._currentSingleModifier = null;
			}, 300);
			return false;
		}

		if (singleModifier !== null && singleModifier === this._currentSingleModifier) {
			// bingo!
			this._log(`/ Dispatching single modifier chord ${singleModifier} ${singleModifier}`);
			this._currentSingleModifierClearTimeout.cancel();
			this._currentSingleModifier = null;
			return this._doDispatch(keybinding, target, /*isSingleModiferChord*/true);
		}

		this._currentSingleModifierClearTimeout.cancel();
		this._currentSingleModifier = null;
		return false;
	}