@keymanapp/common-types
Version:
Keyman Developer keyboard file types
116 lines • 3.33 kB
TypeScript
export interface KmpJsonFile {
system: KmpJsonFileSystem;
options: KmpJsonFileOptions;
info?: KmpJsonFileInfo;
files?: KmpJsonFileContentFile[];
lexicalModels?: KmpJsonFileLexicalModel[];
startMenu?: KmpJsonFileStartMenu;
keyboards?: KmpJsonFileKeyboard[];
relatedPackages?: KmpJsonRelatedPackage[];
}
export interface KmpJsonFileSystem {
keymanDeveloperVersion: string;
fileVersion: string;
}
export interface KmpJsonFileOptions {
readmeFile?: string;
graphicFile?: string;
licenseFile?: string;
welcomeFile?: string;
executeProgram?: string;
msiFilename?: string;
msiOptions?: string;
}
export interface KmpJsonFileInfo {
website?: KmpJsonFileInfoItem;
version?: KmpJsonFileInfoItem;
name?: KmpJsonFileInfoItem;
copyright?: KmpJsonFileInfoItem;
author?: KmpJsonFileInfoItem;
/**
* A Markdown description of the keyboard, intended for use in websites
* referencing the keyboard
*/
description?: KmpJsonFileInfoItem;
}
export interface KmpJsonFileInfoItem {
description: string;
url?: string;
}
export interface KmpJsonFileContentFile {
name: string;
description?: string;
copyLocation?: number;
}
export interface KmpJsonFileLexicalModel {
name: string;
id: string;
languages: KmpJsonFileLanguage[];
}
export interface KmpJsonFileLanguage {
name: string;
id: string;
}
export interface KmpJsonFileKeyboard {
name: string;
id: string;
version: string;
oskFont?: string;
displayFont?: string;
rtl?: boolean;
languages?: KmpJsonFileLanguage[];
examples?: KmpJsonFileExample[];
/**
* array of web font alternatives for OSK. should be same font data as oskFont
*/
webOskFonts?: string[];
/**
* array of web font alternatives for display. should be same font data as displayFont
*/
webDisplayFonts?: string[];
}
export interface KmpJsonFileStartMenu {
folder?: string;
addUninstallEntry?: boolean;
items?: KmpJsonFileStartMenuItem[];
}
export interface KmpJsonFileStartMenuItem {
name: string;
filename: string;
arguments?: string;
icon?: string;
location?: string;
}
export interface KmpJsonFileExample {
/**
* BCP 47 identifier for the example
*/
id: string;
/**
* A space-separated list of keys.
* - modifiers indicated with "+"
* - spacebar is "space"
* - plus key is "shift+=" or "plus" on US English (all other punctuation as per key cap).
* - Hardware modifiers are: "shift", "ctrl", "alt", "left-ctrl",
* "right-ctrl", "left-alt", "right-alt"
* - Key caps should generally be their character for desktop (Latin script
* case insensitive), or the actual key cap for touch
* - Caps Lock should be indicated with "caps-on", "caps-off"
*
* e.g. "shift+a b right-alt+c space plus z z z" represents something like: "Ab{AltGr+C} +zzz"
*/
keys: string;
/**
* The text that would be generated by typing those keys
*/
text?: string;
/**
* A short description of what the text means or represents
*/
note?: string;
}
export interface KmpJsonRelatedPackage {
id: string;
relationship: "deprecates" | "related";
}
//# sourceMappingURL=kmp-json-file.d.ts.map