8332a6abc9
native-keymap and keytar are only used in the electron process, so we don't need them. This allows us to drop our dependencies on libx11-dev, libxkbfile-dev, and libsecret-dev.
76 lines
2.1 KiB
TypeScript
76 lines
2.1 KiB
TypeScript
/*---------------------------------------------------------------------------------------------
|
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
*--------------------------------------------------------------------------------------------*/
|
|
|
|
// NOTE@coder: copy from native-keymap
|
|
// only used in electron-main, so we remove it to avoid pulling X11 in at build time.
|
|
// these types are required during compile, but functions are never used
|
|
|
|
declare module 'native-keymap' {
|
|
export interface IWindowsKeyMapping {
|
|
vkey: string;
|
|
value: string;
|
|
withShift: string;
|
|
withAltGr: string;
|
|
withShiftAltGr: string;
|
|
}
|
|
export interface IWindowsKeyboardMapping {
|
|
[code: string]: IWindowsKeyMapping;
|
|
}
|
|
export interface ILinuxKeyMapping {
|
|
value: string;
|
|
withShift: string;
|
|
withAltGr: string;
|
|
withShiftAltGr: string;
|
|
}
|
|
export interface ILinuxKeyboardMapping {
|
|
[code: string]: ILinuxKeyMapping;
|
|
}
|
|
export interface IMacKeyMapping {
|
|
value: string;
|
|
valueIsDeadKey: boolean;
|
|
withShift: string;
|
|
withShiftIsDeadKey: boolean;
|
|
withAltGr: string;
|
|
withAltGrIsDeadKey: boolean;
|
|
withShiftAltGr: string;
|
|
withShiftAltGrIsDeadKey: boolean;
|
|
}
|
|
export interface IMacKeyboardMapping {
|
|
[code: string]: IMacKeyMapping;
|
|
}
|
|
|
|
export type IKeyboardMapping = IWindowsKeyboardMapping | ILinuxKeyboardMapping | IMacKeyboardMapping;
|
|
|
|
export function getKeyMap(): IKeyboardMapping;
|
|
|
|
export interface IWindowsKeyboardLayoutInfo {
|
|
name: string;
|
|
id: string;
|
|
text: string;
|
|
}
|
|
|
|
export interface ILinuxKeyboardLayoutInfo {
|
|
model: string;
|
|
layout: string;
|
|
variant: string;
|
|
options: string;
|
|
rules: string;
|
|
}
|
|
|
|
export interface IMacKeyboardLayoutInfo {
|
|
id: string;
|
|
localizedName: string;
|
|
lang: string;
|
|
}
|
|
|
|
export type IKeyboardLayoutInfo = IWindowsKeyboardLayoutInfo | ILinuxKeyboardLayoutInfo | IMacKeyboardLayoutInfo;
|
|
|
|
export function getCurrentKeyboardLayout(): IKeyboardLayoutInfo;
|
|
|
|
export function onDidChangeKeyboardLayout(callback: () => void): void;
|
|
|
|
export function isISOKeyboard(): boolean | undefined;
|
|
}
|