{ "$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" ] } } } ] } } } } } } } } } } } } }