1+ {
2+ "$schema" : " http://json-schema.org/schema#" ,
3+ "$ref" : " #/definitions/KeyboardInfo" ,
4+
5+ "definitions" : {
6+ "KeyboardInfo" : {
7+ "type" : " object" ,
8+ "properties" : {
9+ "id" : { "type" : " string" },
10+ "name" : { "type" : " string" },
11+ "authorName" : { "type" : " string" },
12+ "authorEmail" : { "type" : " string" , "format" : " email" },
13+ "description" : { "type" : " string" },
14+ "license" : { "type" : " string" , "enum" : [" freeware" , " shareware" , " commercial" , " mit" , " other" ] },
15+ "languages" : { "anyOf" : [
16+ { "type" : " array" , "items" : { "type" : " string" }, "uniqueItems" : true },
17+ { "$ref" : " #/definitions/KeyboardLanguageInfo" }
18+ ]},
19+ "lastModifiedDate" : { "type" : " string" , "format" : " date-time" },
20+ "packageFilename" : { "type" : " string" , "pattern" : " \\ .km[xp]$" },
21+ "packageFileSize" : { "type" : " number" },
22+ "jsFilename" : { "type" : " string" , "pattern" : " \\ .js$" },
23+ "jsFileSize" : { "type" : " number" },
24+ "isRTL" : { "type" : " boolean" },
25+ "encodings" : { "type" : " array" , "items" : { "type" : " string" , "enum" : [" ansi" , " unicode" ] }, "additionalItems" : false },
26+ "packageIncludes" : { "type" : " array" , "items" : { "type" : " string" , "enum" : [" welcome" , " documentation" , " fonts" , " visualKeyboard" ] }, "additionalItems" : false },
27+ "version" : { "type" : " string" },
28+ "minKeymanVersion" : { "type" : " string" , "pattern" : " ^\\ d+\\ .\\ d$" },
29+ "helpLink" : { "type" : " string" , "pattern" : " ^https://help\\ .keyman\\ .com/keyboard/" },
30+ "platformSupport" : { "$ref" : " #/definitions/KeyboardPlatformInfo" },
31+ "sourcePath" : { "type" : " string" , "pattern" : " ^(release|legacy|experimental)/.+/.+$" },
32+ "related" : { "type" : " object" , "patternProperties" : {
33+ "." : { "$ref" : " #/definitions/KeyboardRelatedInfo" }
34+ },
35+ "additionalProperties" : false
36+ },
37+ "deprecated" : { "type" : " boolean" }
38+ },
39+ "required" : [ " id" , " name" , " license" , " languages" , " lastModifiedDate" , " platformSupport" ]
40+ },
41+
42+ "KeyboardLanguageInfo" : {
43+ "type" : " object" ,
44+ "patternProperties" : {
45+ "." : { "$ref" : " #/definitions/KeyboardLanguageInfoItem" }
46+ },
47+ "additionalProperties" : false
48+ },
49+
50+ "KeyboardLanguageInfoItem" : {
51+ "type" : " object" ,
52+ "properties" : {
53+ "font" : { "$ref" : " #/definitions/KeyboardFontInfo" },
54+ "oskFont" : { "$ref" : " #/definitions/KeyboardFontInfo" },
55+ "examples" : { "type" : " array" , "items" : { "$ref" : " #/definitions/KeyboardExampleInfo" } },
56+ "displayName" : { "type" : " string" },
57+ "languageName" : { "type" : " string" },
58+ "scriptName" : { "type" : " string" },
59+ "regionName" : { "type" : " string" }
60+ },
61+ "required" : [],
62+ "additionalProperties" : false
63+ },
64+
65+ "KeyboardFontInfo" : {
66+ "type" : " object" ,
67+ "properties" : {
68+ "family" : { "type" : " string" },
69+ "source" : { "type" : " array" , "items" : { "type" : " string" } }
70+ },
71+ "required" : [" family" , " source" ],
72+ "additionalProperties" : false
73+ },
74+
75+ "KeyboardExampleInfo" : {
76+ "type" : " object" ,
77+ "properties" : {
78+ "keys" : {
79+ "type" : " array" ,
80+ "items" : { "$ref" : " #/definitions/KeyboardExampleKeyInfo" }
81+ },
82+ "text" : { "type" : " string" },
83+ "note" : { "type" : " string" }
84+ },
85+ "required" : [" keys" , " text" ],
86+ "additionalProperties" : false
87+ },
88+
89+ "KeyboardExampleKeyInfo" : {
90+ "type" : " object" ,
91+ "properties" : {
92+ "key" : { "type" : " string" },
93+ "modifiers" : {
94+ "type" : " array" ,
95+ "items" : { "type" : " string" }
96+ }
97+ },
98+ "required" : [" key" ],
99+ "additionalProperties" : false
100+ },
101+
102+ "KeyboardPlatformInfo" : {
103+ "type" : " object" ,
104+ "patternProperties" : {
105+ "^(windows|macos|desktopWeb|ios|android|mobileWeb|linux)$" : { "type" : " string" , "enum" : [" dictionary" , " full" , " basic" , " none" ] }
106+ },
107+ "required" : [],
108+ "additionalProperties" : false
109+ },
110+
111+ "KeyboardRelatedInfo" : {
112+ "type" : " object" ,
113+ "properties" : {
114+ "deprecates" : { "type" : " boolean" },
115+ "deprecatedBy" : { "type" : " boolean" }
116+ },
117+ "required" : [],
118+ "additionalProperties" : false
119+ }
120+ }
121+ }
0 commit comments