UNPKG

@keymanapp/common-types

Version:

Keyman Developer keyboard file types

116 lines 3.33 kB
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