logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git

keymap.jsonschema (2814B)


  1. {
  2. "$schema": "https://json-schema.org/draft/2020-12/schema#",
  3. "$id": "qmk.keymap.v1",
  4. "title": "Keymap Information",
  5. "type": "object",
  6. "properties": {
  7. "author": {"type": "string"},
  8. "converter": {
  9. "type": "string",
  10. "minLength": 1,
  11. "pattern": "^[a-z][0-9a-z_]*$"
  12. },
  13. "host_language": {"$ref": "./definitions.jsonschema#/text_identifier"},
  14. "keyboard": {"$ref": "./definitions.jsonschema#/text_identifier"},
  15. "keymap": {"$ref": "./definitions.jsonschema#/text_identifier"},
  16. "layout": {"$ref": "./definitions.jsonschema#/layout_macro"},
  17. "layers": {
  18. "type": "array",
  19. "items": {
  20. "type": "array",
  21. "items": {"type": "string"}
  22. }
  23. },
  24. "encoders": {
  25. "type": "array",
  26. "items": {
  27. "type": "array",
  28. "items": {
  29. "type": "object",
  30. "required": ["ccw", "cw"],
  31. "properties": {
  32. "ccw": {"type": "string"},
  33. "cw": {"type": "string"}
  34. }
  35. }
  36. }
  37. },
  38. "macros": {
  39. "type": "array",
  40. "items": {
  41. "type": "array",
  42. "items": {
  43. "oneOf": [
  44. {
  45. "type": "string"
  46. },
  47. {
  48. "type": "object",
  49. "additionalProperties": false,
  50. "properties": {
  51. "action": {
  52. "type": "string",
  53. "enum": ["beep", "delay", "down", "tap", "up"]
  54. },
  55. "keycodes": {
  56. "type": "array",
  57. "items": {
  58. "$ref": "./definitions.jsonschema#/text_identifier"
  59. }
  60. },
  61. "duration": {
  62. "$ref": "./definitions.jsonschema#/unsigned_int"
  63. }
  64. }
  65. }
  66. ]
  67. }
  68. }
  69. },
  70. "keycodes": {"$ref": "./definitions.jsonschema#/keycode_decl_array"},
  71. "config": {"$ref": "./keyboard.jsonschema#"},
  72. "notes": {
  73. "type": "string"
  74. },
  75. "modules": {
  76. "type": "array",
  77. "items": {
  78. "type": "string"
  79. }
  80. }
  81. }
  82. }