提交 6ca238fc 编写于 作者: M matthew

only keyboard shortcuts

上级 b41712ec
......@@ -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<boolean>('screencastMode.onlyModifierKeys')) {
if (shortcut) {
keyboardMarker.textContent = label;
keyboardMarker.style.display = 'block';
} else if (!this.configurationService.getValue<boolean>('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());
......
......@@ -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
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册