qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

keycodes.jsonschema (1557B)


      1 {
      2     "$schema": "https://json-schema.org/draft/2020-12/schema#",
      3     "$id": "qmk.keycodes.v1",
      4     "title": "Keycode Information",
      5     "type": "object",
      6     "definitions": {
      7         "define": {
      8             "type": "string",
      9             "minLength": 2,
     10             "maxLength": 50,
     11             "pattern": "^[A-Z][A-Zs_0-9]*$"
     12         }
     13     },
     14     "properties": {
     15         "ranges": {
     16             "type": "object",
     17             "propertyNames": {
     18                 "type": "string"
     19             },
     20             "additionalProperties": {
     21                 "type": "object",
     22                 "required": [
     23                     "define"
     24                 ],
     25                 "properties": {
     26                     "define": {"$ref": "#/definitions/define"}
     27                 }
     28             }
     29         },
     30         "keycodes": {
     31             "type": "object",
     32             "propertyNames": {
     33                 "$ref": "./definitions.jsonschema#/hex_number_4d"
     34             },
     35             "additionalProperties": {
     36                 "type": "object", // use './definitions.jsonschema#/keycode_decl' when problem keycodes are removed
     37                 "required": [
     38                     "key"
     39                 ],
     40                 "properties": {
     41                     "key": {"$ref": "#/definitions/define"},
     42                     "aliases": {
     43                         "type": "array",
     44                         "minItems": 1,
     45                         "items": {
     46                             "type": "string"
     47                         }
     48                     }
     49                 }
     50             }
     51         }
     52     }
     53 }