From 6ca238fcb6290bb2eea9cfc8167db4b1e5e4b475 Mon Sep 17 00:00:00 2001 From: matthew Date: Wed, 10 Jul 2019 23:28:02 -0700 Subject: [PATCH] only keyboard shortcuts --- .../browser/actions/developerActions.ts | 20 ++++++++++--------- .../electron-browser/main.contribution.ts | 4 ++-- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/vs/workbench/browser/actions/developerActions.ts b/src/vs/workbench/browser/actions/developerActions.ts index e04954eba02..1903872e487 100644 --- a/src/vs/workbench/browser/actions/developerActions.ts +++ b/src/vs/workbench/browser/actions/developerActions.ts @@ -12,7 +12,6 @@ import { Event } from 'vs/base/common/event'; import { IDisposable, toDisposable, dispose, Disposable, DisposableStore } from 'vs/base/common/lifecycle'; import { getDomNodePagePosition, createStyleSheet, createCSSRule, append, $ } from 'vs/base/browser/dom'; import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; -import { ConfigurationService } from 'vs/platform/configuration/node/configurationService'; import { IContextKeyService } from 'vs/platform/contextkey/common/contextkey'; import { Context } from 'vs/platform/contextkey/browser/contextKeyService'; import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent'; @@ -99,7 +98,7 @@ export class ToggleScreencastModeAction extends Action { label: string, @IKeybindingService private readonly keybindingService: IKeybindingService, @IWorkbenchLayoutService private readonly layoutService: IWorkbenchLayoutService, - @IConfigurationService private readonly configurationService: ConfigurationService + @IConfigurationService private readonly configurationService: IConfigurationService ) { super(id, label); } @@ -168,21 +167,24 @@ export class ToggleScreencastModeAction extends Action { keyboardTimeout.dispose(); const event = new StandardKeyboardEvent(e); + const shortcut = this.keybindingService.softDispatch(event, event.target); + console.log(event.target); const keybinding = this.keybindingService.resolveKeyboardEvent(event); const label = keybinding.getLabel(); - if (!event.ctrlKey && !event.altKey && !event.metaKey && !event.shiftKey && this.keybindingService.mightProducePrintableCharacter(event) && label) { - if (!this.configurationService.getValue('screencastMode.onlyModifierKeys')) { + if (shortcut) { + keyboardMarker.textContent = label; + keyboardMarker.style.display = 'block'; + } else if (!this.configurationService.getValue('screencastMode.onlyKeyboardShortcuts')) { + if (this.keybindingService.mightProducePrintableCharacter(event) && label) { keyboardMarker.textContent += ' ' + label; keyboardMarker.style.display = 'block'; + } else if (!event.shiftKey) { + keyboardMarker.textContent = label; + keyboardMarker.style.display = 'block'; } - } else { - keyboardMarker.textContent = label; - keyboardMarker.style.display = 'block'; } - keyboardMarker.style.display = 'block'; - const promise = timeout(800); keyboardTimeout = toDisposable(() => promise.cancel()); diff --git a/src/vs/workbench/electron-browser/main.contribution.ts b/src/vs/workbench/electron-browser/main.contribution.ts index 4c0b47b7e86..79a7309ca3f 100644 --- a/src/vs/workbench/electron-browser/main.contribution.ts +++ b/src/vs/workbench/electron-browser/main.contribution.ts @@ -540,9 +540,9 @@ import product from 'vs/platform/product/node/product'; 'title': nls.localize('screencastModeConfigurationTitle', "Screencast Mode"), 'type': 'object', 'properties': { - 'screencastMode.onlyModifierKeys': { + 'screencastMode.onlyKeyboardShortcuts': { 'type': 'boolean', - 'description': nls.localize('screencastMode.onlyModifierKeys', "Only show character sequences with modifier keys in Screencast Mode."), + 'description': nls.localize('screencastMode.onlyKeyboardShortcuts', "Only show keyboard shortcuts in Screencast Mode."), 'default': false } } -- GitLab