You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
1.5 KiB

  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": "qmk.definitions.v1#/hex_number_4d"
  34. },
  35. "additionalProperties": {
  36. "type": "object", // use 'qmk.definitions.v1#/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. }