Files
agent/config-serializer/config-schema.json
2016-07-16 17:45:39 +02:00

164 lines
10 KiB
JSON

{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "UHK Configuration",
"description": "UHK Configuration",
"type": "object",
"properties": {
"prologue": {
"description": "Prologue",
"type": "integer"
},
"keymaps": {
"description": "Array of keymaps",
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"description": "Id of the keymap",
"type": "integer"
},
"isDefault": {
"type": "boolean"
},
"layers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"modules": {
"type": "array",
"items": {
"type": "object",
"properties": {
"keyActions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"keyActionType": {
"type": "string",
"enum": [
"none",
"keystroke",
"switchLayer",
"switchKeymap",
"playMacro",
"mouse"
]
}
},
"required": [
"keyActionType"
],
"oneOf": [
{
"properties": {
"keyActionType": {
"type": "string",
"enum": [
"mouse"
]
},
"mouseAction": {
"type": "string",
"enum": [
"leftClick",
"middleClick",
"rightClick",
"moveUp",
"moveDown",
"moveLeft",
"moveRight",
"scrollUp",
"scrollDown",
"scrollLeft",
"scrollRight",
"accelerate",
"decelerate"
]
}
}
},
{
"type": "object",
"properties": {
"keyActionType": {
"type": "string",
"enum": [
"keystroke"
]
},
"scancode": {
"type": "integer"
}
}
},
{
"type": "object",
"properties": {
"keyActionType": {
"type": "string",
"enum": [
"switchLayer"
]
},
"layer": {
"type": "string"
},
"toggle": {
"type": "boolean"
}
}
},
{
"type": "object",
"properties": {
"keyActionType": {
"type": "string",
"enum": [
"switchKeymap"
]
},
"keymapId": {
"type": "integer"
}
}
},
{
"properties": {
"keyActionType": {
"type": "string",
"enum": [
"playMacro"
]
},
"macroId": {
"type": "integer"
}
}
},
{
"properties": {
"keyActionType": {
"type": "string",
"enum": [
"none"
]
}
}
}
]
}
}
}
}
}
}
}
}
}
}
}
}
}