diff --git a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts index 9b42fe15a1f0717a5801d4d7b2bad0180ee5f289..b1586672c323a227b82f04ca56096a48b5320775 100644 --- a/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts +++ b/src/vs/workbench/services/keybinding/electron-browser/keybindingService.ts @@ -23,7 +23,7 @@ import { IKeybindingRule, KeybindingsRegistry } from 'vs/platform/keybinding/com import { Registry } from 'vs/platform/platform'; import { ITelemetryService } from 'vs/platform/telemetry/common/telemetry'; import { keybindingsTelemetry } from 'vs/platform/telemetry/common/telemetryUtils'; -import { getNativeLabelProvider, getNativeAriaLabelProvider } from 'vs/workbench/services/keybinding/electron-browser/nativeKeymap'; +import { getCurrentKeyboardLayout, getNativeLabelProvider, getNativeAriaLabelProvider } from 'vs/workbench/services/keybinding/electron-browser/nativeKeymap'; import { IMessageService } from 'vs/platform/message/common/message'; import { ConfigWatcher } from 'vs/base/node/config'; import { IEnvironmentService } from 'vs/platform/environment/common/environment'; @@ -166,6 +166,8 @@ export class WorkbenchKeybindingService extends AbstractKeybindingService { })); keybindingsTelemetry(telemetryService, this); + let data = getCurrentKeyboardLayout(); + telemetryService.publicLog('keyboardLayout', data); } private _safeGetConfig(): IUserFriendlyKeybinding[] { diff --git a/src/vs/workbench/services/keybinding/electron-browser/nativeKeymap.ts b/src/vs/workbench/services/keybinding/electron-browser/nativeKeymap.ts index c985edf48b208011a4211112a167757a415b8824..643cc6a157a91284b00c8e6f2f619e4f1f6a075e 100644 --- a/src/vs/workbench/services/keybinding/electron-browser/nativeKeymap.ts +++ b/src/vs/workbench/services/keybinding/electron-browser/nativeKeymap.ts @@ -24,6 +24,10 @@ let getNativeKeymap = (function () { }; })(); +export function getCurrentKeyboardLayout() { + return nativeKeymap.getCurrentKeyboardLayout(); +} + // See https://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx // See https://github.com/Microsoft/node-native-keymap/blob/master/deps/chromium/keyboard_codes_win.h const NATIVE_KEY_CODE_TO_KEY_CODE: { [nativeKeyCode: string]: KeyCode; } = {