diff options
Diffstat (limited to 'data')
| -rw-r--r-- | data/mappings/defaults.hjson | 5 | ||||
| -rw-r--r-- | data/mappings/info_config.hjson | 11 | ||||
| -rw-r--r-- | data/mappings/info_rules.hjson | 2 | ||||
| -rw-r--r-- | data/mappings/keyboard_aliases.hjson | 12 | ||||
| -rw-r--r-- | data/schemas/definitions.jsonschema | 32 | ||||
| -rw-r--r-- | data/schemas/keyboard.jsonschema | 42 | ||||
| -rw-r--r-- | data/schemas/keycodes.jsonschema | 10 | ||||
| -rw-r--r-- | data/schemas/keymap.jsonschema | 1 | 
8 files changed, 103 insertions, 12 deletions
diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson index 93da6161d6..090cbe4be9 100644 --- a/data/mappings/defaults.hjson +++ b/data/mappings/defaults.hjson @@ -74,6 +74,11 @@              "processor": "RP2040",              "bootloader": "rp2040",              "board": "QMK_PM2040" +        }, +        "liatris": { +            "processor": "RP2040", +            "bootloader": "rp2040", +            "board": "QMK_PM2040"          }      }  } diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index 46108e6fe6..30b9b75330 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -10,6 +10,9 @@      // deprecated: Default `false`. Set to `true` to turn on warning when a value exists      // invalid: Default `false`. Set to `true` to generate errors when a value exists      // replace_with: use with a key marked deprecated or invalid to designate a replacement +    "APA102_DI_PIN": {"info_key": "apa102.data_pin"}, +    "APA102_CI_PIN": {"info_key": "apa102.clock_pin"}, +    "APA102_DEFAULT_BRIGHTNESS": {"info_key": "apa102.default_brightness", "value_type": "int"},      "AUDIO_VOICES": {"info_key": "audio.voices", "value_type": "bool"},      "BACKLIGHT_BREATHING": {"info_key": "backlight.breathing", "value_type": "bool"},      "BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"}, @@ -25,6 +28,7 @@      "BOOTMAGIC_LITE_COLUMN_RIGHT": {"info_key": "split.bootmagic.matrix.1", "value_type": "int"},      "BOTH_SHIFTS_TURNS_ON_CAPS_WORD": {"info_key": "caps_word.both_shifts_turns_on", "value_type": "bool"},      "CAPS_WORD_IDLE_TIMEOUT": {"info_key": "caps_word.idle_timeout", "value_type": "int"}, +    "CAPS_WORD_INVERT_ON_SHIFT": {"info_key": "caps_word.invert_on_shift", "value_type": "bool"},      "COMBO_COUNT": {"info_key": "combo.count", "value_type": "int"},      "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"},      "DEBOUNCE": {"info_key": "debounce", "value_type": "int"}, @@ -69,7 +73,6 @@      "PS2_DATA_PIN": {"info_key": "ps2.data_pin"},      "RETRO_TAPPING": {"info_key": "tapping.retro", "value_type": "bool"},      "RETRO_TAPPING_PER_KEY": {"info_key": "tapping.retro_per_key", "value_type": "bool"}, -    "RGB_DI_PIN": {"info_key": "rgblight.pin"},      "RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"},      "RGBLED_SPLIT": {"info_key": "rgblight.split_count", "value_type": "array.int"},      "RGBLIGHT_LAYER_BLINK": {"info_key": "rgblight.layers.blink", "value_type": "bool"}, @@ -116,8 +119,12 @@      "USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},      "USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},      "USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"}, +    "WS2812_DI_PIN": {"info_key": "ws2812.pin"}, +    "WS2812_I2C_ADDRESS": {"info_key": "ws2812.i2c_address", "value_type": "hex"}, +    "WS2812_I2C_TIMEOUT": {"info_key": "ws2812.i2c_timeout", "value_type": "int"},      // Items we want flagged in lint +    "RGB_DI_PIN": {"info_key": "rgblight.pin", "invalid": true, "replace_with": "WS2812_DI_PIN or APA102_DI_PIN"},      "NO_ACTION_MACRO": {"info_key": "_invalid.no_action_macro", "invalid": true},      "NO_ACTION_FUNCTION": {"info_key": "_invalid.no_action_function", "invalid": true},      "DESCRIPTION": {"info_key": "_invalid.usb_description", "invalid": true}, @@ -128,7 +135,7 @@      "QMK_KEYS_PER_SCAN": {"info_key": "qmk.keys_per_scan", "value_type": "int", "deprecated": true},      "TAPPING_FORCE_HOLD": {"info_key": "tapping.force_hold", "value_type": "bool", "deprecated": true},      "TAPPING_FORCE_HOLD_PER_KEY": {"info_key": "tapping.force_hold_per_key", "value_type": "bool", "deprecated": true}, -    "IGNORE_MOD_TAP_INTERRUPT": {"info_key": "_deprecated.ignore_mod_tap_interrupt", "value_type": "bool", "deprecated": true}, +    "IGNORE_MOD_TAP_INTERRUPT": {"info_key": "_invalid.ignore_mod_tap_interrupt", "value_type": "bool", "invalid": true},      "IGNORE_MOD_TAP_INTERRUPT_PER_KEY": {"info_key": "_invalid.ignore_mod_tap_interrupt_per_key", "invalid": true}      // USB params, need to mark as failure when specified in config.h, rather than deprecated diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index 7c3780504c..0b252175f3 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -17,6 +17,7 @@      "BACKLIGHT_DRIVER": {"info_key": "backlight.driver"},      "CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"},      "DEBOUNCE_TYPE": {"info_key": "build.debounce_type"}, +    "EEPROM_DRIVER": {"info_key": "eeprom.driver"},      "ENCODER_ENABLE": {"info_key": "encoder.enabled", "value_type": "bool"},      "FIRMWARE_FORMAT": {"info_key": "build.firmware_format"},      "KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"}, @@ -38,6 +39,7 @@      "PS2_ENABLE": {"info_key": "ps2.enabled", "value_type": "bool"},      "PS2_MOUSE_ENABLE": {"info_key": "ps2.mouse_enabled", "value_type": "bool"},      "PS2_DRIVER": {"info_key": "ps2.driver"}, +    "WS2812_DRIVER": {"info_key": "ws2812.driver"},      "PLATFORM_KEY": {"info_key": "platform_key", "to_json": false}, diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 5fe31c4fb1..f005bb34c3 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -149,6 +149,15 @@      "durgod/k320": {          "target": "durgod/k3x0/k320"      }, +    "durgod/hades": { +        "target": "durgod/dgk6x/hades_ansi" +    }, +    "durgod/hades_ansi": { +        "target": "durgod/dgk6x/hades_ansi" +    }, +    "durgod/hades_iso": { +        "target": "durgod/dgk6x/hades_iso" +    },      "dztech/dz60rgb": {          "target": "dztech/dz60rgb/v1"      }, @@ -248,6 +257,9 @@      "idobo": {          "target": "idobao/id75"      }, +    "jacky_studio/piggy60": { +        "target": "jacky_studio/piggy60/rev1" +    },      "jj40": {          "target": "kprepublic/jj40"      }, diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index 94a94157c0..b9c64a55ec 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -71,6 +71,38 @@          "type": "string",          "pattern": "^[0-9a-z][0-9a-z_/]*$"      }, +    "keycode": { +        "type": "string", +        "minLength": 2, +        "maxLength": 50, +        "pattern": "^[A-Z][A-Zs_0-9]*$" +    }, +    "keycode_short": { +        "type": "string", +        "minLength": 2, +        "maxLength": 7, +        "pattern": "^[A-Z][A-Zs_0-9]*$" +    }, +    "keycode_decl": { +        "type": "object", +        "required": [ +            "key" +        ], +        "properties": { +            "key": {"$ref": "#/keycode"}, +            "label": {"$ref": "#/text_identifier"}, +            "aliases": { +                "type": "array", +                "minItems": 1, +                "items": {"$ref": "#/keycode_short"} +            } +        } +    }, +    "keycode_decl_array": { +        "type": "array", +        "minItems": 1 +        "items": {"$ref": "#/keycode_decl"} +    },      "mcu_pin_array": {          "type": "array",          "items": {"$ref": "#/mcu_pin"} diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 2afc1ed516..d608e8f796 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -35,7 +35,7 @@          },          "development_board": {              "type": "string", -            "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios"] +            "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris"]          },          "pin_compatible": {              "type": "string", @@ -96,6 +96,19 @@                  "unknown"              ]          }, +        "apa102": { +            "type": "object", +            "additionalProperties": false, +            "properties": { +                "data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, +                "clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, +                "default_brightness": { +                    "type": "integer", +                    "minimum": 0, +                    "maximum": 31 +                } +            } +        },          "audio": {              "type": "object",              "additionalProperties": false, @@ -214,7 +227,8 @@                  "enabled": {"type": "boolean"},                  "both_shifts_turns_on": {"type": "boolean"},                  "double_tap_shift_turns_on": {"type": "boolean"}, -                "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} +                "idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, +                "invert_on_shift": {"type": "boolean"}              }          },          "combo": { @@ -228,6 +242,11 @@              "type": "array",              "items": {"$ref": "qmk.definitions.v1#/filename"}          }, +        "eeprom": { +            "properties": { +                "driver": {"type": "string"} +            } +        },          "encoder": {              "$ref": "#/definitions/encoder_config",              "properties": { @@ -246,6 +265,7 @@                  "on_state": {"$ref": "qmk.definitions.v1#/bit"}              }          }, +        "keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},          "layout_aliases": {              "type": "object",              "additionalProperties": {"$ref": "qmk.definitions.v1#/layout_macro"} @@ -472,7 +492,10 @@                  },                  "led_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},                  "max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, -                "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, +                "pin": { +                    "$ref": "qmk.definitions.v1#/mcu_pin", +                    "$comment": "Deprecated: use ws2812.pin instead" +                },                  "rgbw": {"type": "boolean"},                  "saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},                  "sleep": {"type": "boolean"}, @@ -686,6 +709,19 @@                  "led": {"$ref": "qmk.definitions.v1#/mcu_pin"},                  "speaker": {"$ref": "qmk.definitions.v1#/mcu_pin"}              } +        }, +        "ws2812": { +            "type": "object", +            "additionalProperties": false, +            "properties": { +                "driver": { +                    "type": "string", +                    "enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"] +                }, +                "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, +                "i2c_address": {"$ref": "qmk.definitions.v1#/hex_number_2d"}, +                "i2c_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} +            }          }      }  } diff --git a/data/schemas/keycodes.jsonschema b/data/schemas/keycodes.jsonschema index 77a8347b3b..df6ce95a83 100644 --- a/data/schemas/keycodes.jsonschema +++ b/data/schemas/keycodes.jsonschema @@ -8,11 +8,7 @@              "type": "string",              "minLength": 2,              "maxLength": 50, -            "pattern": "^[A-Zs_0-9]*$" -        }, -        "hex_number_4d": { -            "type": "string", -            "pattern": "^0x[0-9A-F]{4}$" +            "pattern": "^[A-Z][A-Zs_0-9]*$"          }      },      "properties": { @@ -34,10 +30,10 @@          "keycodes": {              "type": "object",              "propertyNames": { -                "$ref": "#/definitions/hex_number_4d" +                "$ref": "qmk.definitions.v1#/hex_number_4d"              },              "additionalProperties": { -                "type": "object", +                "type": "object", // use 'qmk.definitions.v1#/keycode_decl' when problem keycodes are removed                  "required": [                      "key"                  ], diff --git a/data/schemas/keymap.jsonschema b/data/schemas/keymap.jsonschema index 73aa7c5c22..7233e896e9 100644 --- a/data/schemas/keymap.jsonschema +++ b/data/schemas/keymap.jsonschema @@ -67,6 +67,7 @@                  }              }          }, +        "keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},          "config": {"$ref": "qmk.keyboard.v1"},          "notes": {              "type": "string"  | 
