From 5fab310e65f30514ec5d119af756f9a45e7e8454 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Tue, 5 Sep 2023 01:53:05 +0100 Subject: Implement data driven wear leveling (#21906) * DD encoder map, wear leveling * remove encoder map from DD let's avoid the support headache * wear leveling: specify the allowed drivers by name Co-authored-by: Ryan * Add additional params * Relocate under eeprom * disable parsing --------- Co-authored-by: Dimitris Mantzouranis Co-authored-by: Ryan --- data/mappings/info_config.hjson | 4 ++++ data/mappings/info_rules.hjson | 1 + data/schemas/keyboard.jsonschema | 14 +++++++++++++- 3 files changed, 18 insertions(+), 1 deletion(-) (limited to 'data') diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index ab9a4a0e45..c3db2e46a2 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -49,6 +49,10 @@ "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"}, "DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"}, + // EEPROM + "WEAR_LEVELING_BACKING_SIZE": {"info_key": "eeprom.wear_leveling.backing_size", "value_type": "int", "to_json": false}, + "WEAR_LEVELING_LOGICAL_SIZE": {"info_key": "eeprom.wear_leveling.logical_size", "value_type": "int", "to_json": false}, + // Indicators "LED_CAPS_LOCK_PIN": {"info_key": "indicators.caps_lock"}, "LED_NUM_LOCK_PIN": {"info_key": "indicators.num_lock"}, diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index 07191551da..6a0f0a3030 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -42,6 +42,7 @@ "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"}, "STENO_PROTOCOL": {"info_key": "stenography.protocol"}, "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"}, + "WEAR_LEVELING_DRIVER": {"info_key": "eeprom.wear_leveling.driver"}, "WS2812_DRIVER": {"info_key": "ws2812.driver"}, // Items we want flagged in lint diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 901caa75fe..0f0576b1c3 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -247,7 +247,19 @@ }, "eeprom": { "properties": { - "driver": {"type": "string"} + "driver": {"type": "string"}, + "wear_leveling": { + "type": "object", + "additionalProperties": false, + "properties": { + "driver": { + "type": "string", + "enum": ["custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"] + }, + "backing_size": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "logical_size": {"$ref": "qmk.definitions.v1#/unsigned_int"} + } + } } }, "encoder": { -- cgit v1.2.3 From 85c2b035079bc247fd9497721219bfccf4b31071 Mon Sep 17 00:00:00 2001 From: dztech Date: Sat, 16 Sep 2023 03:36:31 +0800 Subject: [Keyboard] Rename og60 to tofu60 (#21684) Co-authored-by: Duncan Sutherland Co-authored-by: Ryan --- data/mappings/keyboard_aliases.hjson | 3 +++ 1 file changed, 3 insertions(+) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 60c5deaad5..0d1f65d8b9 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -166,6 +166,9 @@ "dztech/volcano660": { "target": "ilumkb/volcano660" }, + "dztech/og60": { + "target": "dztech/tofu60" + }, "eek": { "target": "eek/silk_down" }, -- cgit v1.2.3 From 29ffe804b8edc1d1f896a57856752c56e3f0795d Mon Sep 17 00:00:00 2001 From: Duncan Sutherland Date: Thu, 21 Sep 2023 03:10:59 +0100 Subject: Modernize `dactyl_manuform/dmote` keyboard (#20427) Co-authored-by: Ryan --- data/mappings/keyboard_aliases.hjson | 3 +++ 1 file changed, 3 insertions(+) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 0d1f65d8b9..294e7ba094 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -202,6 +202,9 @@ "handwired/dactyl_manuform/6x6_kinesis": { "target": "handwired/dactyl_kinesis" }, + "handwired/dactyl_manuform/dmote/62key": { + "target": "handwired/dmote" + }, "handwired/ferris": { "target": "ferris/0_1" }, -- cgit v1.2.3 From 629ac9ae68dc1b4d60bd7e4d4905a9f877d99495 Mon Sep 17 00:00:00 2001 From: Richard Goulter Date: Thu, 21 Sep 2023 12:45:25 +0700 Subject: Add KPRepublic/BM40hsrgb rev2 (#16689) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan Co-authored-by: Joel Challis Co-authored-by: jack <0x6a73@protonmail.com> --- data/mappings/keyboard_aliases.hjson | 3 +++ 1 file changed, 3 insertions(+) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 294e7ba094..fbb25b0298 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -890,6 +890,9 @@ "kelowna/rgb64": { "target": "weirdo/kelowna/rgb64" }, + "kprepublic/bm40hsrgb": { + "target": "kprepublic/bm40hsrgb/rev1" + }, "kprepublic/bm65hsrgb_iso": { "target": "kprepublic/bm65hsrgb_iso/rev1" }, -- cgit v1.2.3 From a7afa58fb633e38cd39f8610d89182c04855a074 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Sun, 24 Sep 2023 22:39:18 -0700 Subject: YMDK Melody96 Break-Up (#22121) --- data/mappings/keyboard_aliases.hjson | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index fbb25b0298..7eec3217b6 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -1321,5 +1321,9 @@ }, "zinc/reva": { "target": "25keys/zinc/reva" + }, + // Moved during 2023 Q4 cycle + "ymdk/melody96": { + "target": "ymdk/melody96/soldered" } } -- cgit v1.2.3 From 80ccbdfd86b75689561c43d9344ccb3f15e4d094 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 27 Sep 2023 00:41:13 +0100 Subject: More data driven RGB/LED Matrix config (#21939) --- data/mappings/info_config.hjson | 8 ++++++++ data/schemas/keyboard.jsonschema | 8 ++++++++ 2 files changed, 16 insertions(+) (limited to 'data') diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index c3db2e46a2..e68a4439d0 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -67,7 +67,11 @@ "LEADER_TIMEOUT": {"info_key": "leader_key.timeout", "value_type": "int"}, // LED Matrix + "LED_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "led_matrix.sleep", "value_type": "bool"}, "LED_MATRIX_CENTER": {"info_key": "led_matrix.center_point", "value_type": "array.int"}, + "LED_MATRIX_KEYRELEASES": {"info_key": "led_matrix.react_on_keyup", "value_type": "bool"}, + "LED_MATRIX_LED_FLUSH_LIMIT": {"info_key": "led_matrix.led_flush_limit", "value_type": "int"}, + "LED_MATRIX_LED_PROCESS_LIMIT": {"info_key": "led_matrix.led_process_limit", "value_type": "int", "to_json": false}, "LED_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "led_matrix.max_brightness", "value_type": "int"}, "LED_MATRIX_SPD_STEP": {"info_key": "led_matrix.speed_steps", "value_type": "int"}, "LED_MATRIX_SPLIT": {"info_key": "led_matrix.split_count", "value_type": "array.int"}, @@ -104,8 +108,12 @@ "PS2_DATA_PIN": {"info_key": "ps2.data_pin"}, // RGB Matrix + "RGB_DISABLE_WHEN_USB_SUSPENDED": {"info_key": "rgb_matrix.sleep", "value_type": "bool"}, "RGB_MATRIX_CENTER": {"info_key": "rgb_matrix.center_point", "value_type": "array.int"}, "RGB_MATRIX_HUE_STEP": {"info_key": "rgb_matrix.hue_steps", "value_type": "int"}, + "RGB_MATRIX_KEYRELEASES": {"info_key": "rgb_matrix.react_on_keyup", "value_type": "bool"}, + "RGB_MATRIX_LED_FLUSH_LIMIT": {"info_key": "rgb_matrix.led_flush_limit", "value_type": "int"}, + "RGB_MATRIX_LED_PROCESS_LIMIT": {"info_key": "rgb_matrix.led_process_limit", "value_type": "int", "to_json": false}, "RGB_MATRIX_MAXIMUM_BRIGHTNESS": {"info_key": "rgb_matrix.max_brightness", "value_type": "int"}, "RGB_MATRIX_SAT_STEP": {"info_key": "rgb_matrix.sat_steps", "value_type": "int"}, "RGB_MATRIX_SPD_STEP": {"info_key": "rgb_matrix.speed_steps", "value_type": "int"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 1d9b7e7e6a..9c63ab8bcf 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -402,6 +402,10 @@ "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "react_on_keyup": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "sleep": {"type": "boolean"}, "split_count": { "type": "array", "minItems": 2, @@ -454,6 +458,10 @@ "sat_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "val_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "react_on_keyup": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "sleep": {"type": "boolean"}, "split_count": { "type": "array", "minItems": 2, -- cgit v1.2.3 From 4e86dca49d5b86cf47d6b43172f0d4b17f15cd3a Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 27 Sep 2023 03:57:37 +0100 Subject: Fix parsing/validation for 21939 (#22148) --- data/schemas/keyboard.jsonschema | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'data') diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 9c63ab8bcf..e0be8f5b97 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -404,7 +404,7 @@ "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, - "react_on_keyup": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "react_on_keyup": {"type": "boolean"}, "sleep": {"type": "boolean"}, "split_count": { "type": "array", @@ -460,7 +460,7 @@ "speed_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "led_flush_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "led_process_limit": {"$ref": "qmk.definitions.v1#/unsigned_int"}, - "react_on_keyup": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "react_on_keyup": {"type": "boolean"}, "sleep": {"type": "boolean"}, "split_count": { "type": "array", -- cgit v1.2.3 From 38f89dfc2f8535ca8721a9ab91db850e78273e2f Mon Sep 17 00:00:00 2001 From: adophoxia <100170946+adophoxia@users.noreply.github.com> Date: Tue, 3 Oct 2023 20:53:39 -0700 Subject: Update Keychron Q1v1 (#21993) Co-authored-by: Drashna Jaelre --- data/mappings/keyboard_aliases.hjson | 3 +++ 1 file changed, 3 insertions(+) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 7eec3217b6..626c3eb2f0 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -890,6 +890,9 @@ "kelowna/rgb64": { "target": "weirdo/kelowna/rgb64" }, + "keychron/q1": { + "target": "keychron/q1v1" + } "kprepublic/bm40hsrgb": { "target": "kprepublic/bm40hsrgb/rev1" }, -- cgit v1.2.3 From 5f33a251b32677cc2cbc71adf47b1e1969d15598 Mon Sep 17 00:00:00 2001 From: adophoxia <100170946+adophoxia@users.noreply.github.com> Date: Wed, 4 Oct 2023 21:59:06 -0700 Subject: Update Keychron Q0 (#22068) Co-authored-by: Ryan Co-authored-by: Duncan Sutherland --- data/mappings/keyboard_aliases.hjson | 3 +++ 1 file changed, 3 insertions(+) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 626c3eb2f0..c870d76d79 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -890,6 +890,9 @@ "kelowna/rgb64": { "target": "weirdo/kelowna/rgb64" }, + "keychron/q0": { + "target": "keychron/q0/base" + }, "keychron/q1": { "target": "keychron/q1v1" } -- cgit v1.2.3 From a7406a429eb726731fe2a69e284282994dc9cd0c Mon Sep 17 00:00:00 2001 From: adophoxia <100170946+adophoxia@users.noreply.github.com> Date: Wed, 4 Oct 2023 21:59:24 -0700 Subject: Update Keychron Q4 (#21996) --- data/mappings/keyboard_aliases.hjson | 3 +++ 1 file changed, 3 insertions(+) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index c870d76d79..8fc5e59925 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -896,6 +896,9 @@ "keychron/q1": { "target": "keychron/q1v1" } + "keychron/q4": { + "target": "keychron/q4/ansi" + } "kprepublic/bm40hsrgb": { "target": "kprepublic/bm40hsrgb/rev1" }, -- cgit v1.2.3 From 81d69a5798e4cebf75f7c6b5ab16c5ecb19f2ae2 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 9 Oct 2023 23:17:05 +0100 Subject: Resolve invalid keyboard alias targets (#22239) --- data/mappings/keyboard_aliases.hjson | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 992564702b..4e602b6856 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -904,10 +904,10 @@ "target": "keychron/q0/base" }, "keychron/q1": { - "target": "keychron/q1v1" + "target": "keychron/q1v1/ansi" } "keychron/q4": { - "target": "keychron/q4/ansi" + "target": "keychron/q4/ansi/v1" } "kprepublic/bm40hsrgb": { "target": "kprepublic/bm40hsrgb/rev1" -- cgit v1.2.3 From e4c54a9612318ea03accfb688c8440b62c5706e1 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sat, 21 Oct 2023 01:48:05 +0100 Subject: Support additional split sync items for info.json (#22193) --- data/mappings/info_config.hjson | 12 ++++++++++-- data/schemas/keyboard.jsonschema | 28 +++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 5 deletions(-) (limited to 'data') diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index e68a4439d0..4cebe906b4 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -146,13 +146,21 @@ // Split Keyboard "SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"}, "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"}, - "SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync_modifiers", "value_type": "bool"}, - "SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync_matrix_state", "value_type": "bool"}, "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"}, "SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"}, "SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"}, "SPLIT_WATCHDOG_ENABLE": {"info_key": "split.transport.watchdog", "value_type": "bool"}, "SPLIT_WATCHDOG_TIMEOUT": {"info_key": "split.transport.watchdog_timeout", "value_type": "int"}, + "SPLIT_ACTIVITY_ENABLE": {"info_key": "split.transport.sync.activity", "value_type": "bool"}, + "SPLIT_DETECTED_OS_ENABLE": {"info_key": "split.transport.sync.detected_os", "value_type": "bool"}, + "SPLIT_HAPTIC_ENABLE": {"info_key": "split.transport.sync.haptic", "value_type": "bool"}, + "SPLIT_LAYER_STATE_ENABLE": {"info_key": "split.transport.sync.layer_state", "value_type": "bool"}, + "SPLIT_LED_STATE_ENABLE": {"info_key": "split.transport.sync.indicators", "value_type": "bool"}, + "SPLIT_TRANSPORT_MIRROR": {"info_key": "split.transport.sync.matrix_state", "value_type": "bool"}, + "SPLIT_MODS_ENABLE": {"info_key": "split.transport.sync.modifiers", "value_type": "bool"}, + "SPLIT_OLED_ENABLE": {"info_key": "split.transport.sync.oled", "value_type": "bool"}, + "SPLIT_ST7565_ENABLE": {"info_key": "split.transport.sync.st7565", "value_type": "bool"}, + "SPLIT_WPM_ENABLE": {"info_key": "split.transport.sync.wpm", "value_type": "bool"}, // Tapping "HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "bool"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index e0be8f5b97..8ff94fb9f2 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -663,10 +663,32 @@ "type": "string", "enum": ["custom", "i2c", "serial", "serial_usart"] }, - "sync_matrix_state": {"type": "boolean"}, - "sync_modifiers": {"type": "boolean"}, + "sync": { + "type": "object", + "additionalProperties": false, + "properties": { + "activity": {"type": "boolean"}, + "detected_os": {"type": "boolean"}, + "haptic": {"type": "boolean"}, + "layer_state": {"type": "boolean"}, + "indicators": {"type": "boolean"}, + "matrix_state": {"type": "boolean"}, + "modifiers": {"type": "boolean"}, + "oled": {"type": "boolean"}, + "st7565": {"type": "boolean"}, + "wpm": {"type": "boolean"} + } + } "watchdog": {"type": "boolean"}, - "watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} + "watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "sync_matrix_state": { + "type": "boolean", + "$comment": "Deprecated: use sync.matrix_state instead" + }, + "sync_modifiers": { + "type": "boolean", + "$comment": "Deprecated: use sync.modifiers instead" + } } }, "usb_detect": { -- cgit v1.2.3 From 4410e6b3bf2554b0b6bb73445dd3ce6bdabe028e Mon Sep 17 00:00:00 2001 From: Andrey Tutolmin <45759479+tutolmin@users.noreply.github.com> Date: Sun, 22 Oct 2023 13:44:44 +0300 Subject: Russian typewriter keymap file for popular legacy layout (#21174) Co-authored-by: Andrei Tutolmin --- .../extras/keycodes_russian_typewriter_0.0.1.hjson | 291 +++++++++++++++++++++ 1 file changed, 291 insertions(+) create mode 100644 data/constants/keycodes/extras/keycodes_russian_typewriter_0.0.1.hjson (limited to 'data') diff --git a/data/constants/keycodes/extras/keycodes_russian_typewriter_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_russian_typewriter_0.0.1.hjson new file mode 100644 index 0000000000..6ad03c58e5 --- /dev/null +++ b/data/constants/keycodes/extras/keycodes_russian_typewriter_0.0.1.hjson @@ -0,0 +1,291 @@ +{ + "aliases": { +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ | │ № │ - │ / │ " │ : │ , │ . │ _ │ ? │ % │ ! │ ; │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ъ │ ) │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ │ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ Ё │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + "KC_GRV": { + "key": "RU_PIPE", + "label": "|", + } + "KC_1": { + "key": "RU_NUM", + "label": "№", + } + "KC_2": { + "key": "RU_MINS", + "label": "-", + } + "KC_3": { + "key": "RU_SLSH", + "label": "/", + } + "KC_4": { + "key": "RU_DQUO", + "label": "\"", + } + "KC_5": { + "key": "RU_COLN", + "label": ":", + } + "KC_6": { + "key": "RU_COMM", + "label": ",", + } + "KC_7": { + "key": "RU_DOT", + "label": ".", + } + "KC_8": { + "key": "RU_UNDS", + "label": "_", + } + "KC_9": { + "key": "RU_QUES", + "label": "?", + } + "KC_0": { + "key": "RU_PERC", + "label": "%", + } + "KC_MINS": { + "key": "RU_EXLM", + "label": "!", + } + "KC_EQL": { + "key": "RU_SCLN", + "label": ";", + } + "KC_Q": { + "key": "RU_SHTI", + "label": "Й", + } + "KC_W": { + "key": "RU_TSE", + "label": "Ц", + } + "KC_E": { + "key": "RU_U", + "label": "У", + } + "KC_R": { + "key": "RU_KA", + "label": "К", + } + "KC_T": { + "key": "RU_IE", + "label": "Е", + } + "KC_Y": { + "key": "RU_EN", + "label": "Н", + } + "KC_U": { + "key": "RU_GHE", + "label": "Г", + } + "KC_I": { + "key": "RU_SHA", + "label": "Ш", + } + "KC_O": { + "key": "RU_SHCH", + "label": "Щ", + } + "KC_P": { + "key": "RU_ZE", + "label": "З", + } + "KC_LBRC": { + "key": "RU_HA", + "label": "Х", + } + "KC_RBRC": { + "key": "RU_HARD", + "label": "Ъ", + } + "KC_BSLS": { + "key": "RU_RPRN", + "label": ")", + } + "KC_A": { + "key": "RU_EF", + "label": "Ф", + } + "KC_S": { + "key": "RU_YERU", + "label": "Ы", + } + "KC_D": { + "key": "RU_VE", + "label": "В", + } + "KC_F": { + "key": "RU_A", + "label": "А", + } + "KC_G": { + "key": "RU_PE", + "label": "П", + } + "KC_H": { + "key": "RU_ER", + "label": "Р", + } + "KC_J": { + "key": "RU_O", + "label": "О", + } + "KC_K": { + "key": "RU_EL", + "label": "Л", + } + "KC_L": { + "key": "RU_DE", + "label": "Д", + } + "KC_SCLN": { + "key": "RU_ZHE", + "label": "Ж", + } + "KC_QUOT": { + "key": "RU_E", + "label": "Э", + } + "KC_Z": { + "key": "RU_YA", + "label": "Я", + } + "KC_X": { + "key": "RU_CHE", + "label": "Ч", + } + "KC_C": { + "key": "RU_ES", + "label": "С", + } + "KC_V": { + "key": "RU_EM", + "label": "М", + } + "KC_B": { + "key": "RU_I", + "label": "И", + } + "KC_N": { + "key": "RU_TE", + "label": "Т", + } + "KC_M": { + "key": "RU_SOFT", + "label": "Ь", + } + "KC_COMM": { + "key": "RU_BE", + "label": "Б", + } + "KC_DOT": { + "key": "RU_YU", + "label": "Ю", + } + "KC_SLSH": { + "key": "RU_YO", + "label": "Ё", + } +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ + │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ = │ \ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ ( │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + "S(RU_PIPE)": { + "key": "RU_PLUS", + "label": "+", + } + "S(RU_NUM)": { + "key": "RU_1", + "label": "1", + } + "S(RU_MINS)": { + "key": "RU_2", + "label": "2", + } + "S(RU_SLSH)": { + "key": "RU_3", + "label": "3", + } + "S(RU_DQUO)": { + "key": "RU_4", + "label": "4", + } + "S(RU_COLN)": { + "key": "RU_5", + "label": "5", + } + "S(RU_COMM)": { + "key": "RU_6", + "label": "6", + } + "S(RU_DOT)": { + "key": "RU_7", + "label": "7", + } + "S(RU_UNDS)": { + "key": "RU_8", + "label": "8", + } + "S(RU_QUES)": { + "key": "RU_9", + "label": "9", + } + "S(RU_PERC)": { + "key": "RU_0", + "label": "0", + } + "S(RU_EXLM)": { + "key": "RU_EQL", + "label": "=", + } + "S(RU_SCLN)": { + "key": "RU_BSLS", + "label": "\\", + } + "S(RU_RPRN)": { + "key": "RU_LPRN", + "label": "(", + } +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ │ │ │ │ │ │ │ ₽ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ + "ALGR(RU_UNDS)": { + "key": "RU_RUBL", + "label": "₽", + } + } +} -- cgit v1.2.3 From 1e9b299fb0511e82ae60a4b39a1b277f4ea21afd Mon Sep 17 00:00:00 2001 From: studiokestra <74369928+studiokestra@users.noreply.github.com> Date: Sun, 22 Oct 2023 08:56:46 -0600 Subject: Rename LINE FRIENDS TKL keyboard (#22310) --- data/mappings/keyboard_aliases.hjson | 3 +++ 1 file changed, 3 insertions(+) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 4e602b6856..2e79431965 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -1236,6 +1236,9 @@ "stella": { "target": "hnahkb/stella" }, + "studiokestra/line_tkl": { + "target": "studiokestra/line_friends_tkl" + }, "suihankey/alpha": { "target": "kakunpc/suihankey/alpha" }, -- cgit v1.2.3 From 896d3dc497a89f3a5fb7765e735d1f335b86898f Mon Sep 17 00:00:00 2001 From: jack <0x6A73@pm.me> Date: Wed, 25 Oct 2023 03:15:27 -0600 Subject: Add DD mappings for locking switch (#22242) Co-authored-by: Ryan --- data/mappings/info_config.hjson | 4 ++++ data/schemas/keyboard.jsonschema | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'data') diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index 4cebe906b4..03c52df948 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -79,6 +79,10 @@ "LED_MATRIX_VAL_STEP": {"info_key": "led_matrix.val_steps", "value_type": "int"}, "LED_MATRIX_LED_COUNT": {"info_key": "led_matrix.led_count", "value_type": "int", "to_json": false}, + // Locking Switch + "LOCKING_SUPPORT_ENABLE": {"info_key": "qmk.locking.enabled", "value_type": "bool"}, + "LOCKING_RESYNC_ENABLE": {"info_key": "qmk.locking.resync", "value_type": "bool"}, + // LUFA Bootloader "QMK_ESC_INPUT": {"info_key": "qmk_lufa_bootloader.esc_input"}, "QMK_ESC_OUTPUT": {"info_key": "qmk_lufa_bootloader.esc_output"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 8ff94fb9f2..c120099745 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -756,7 +756,15 @@ "properties": { "keys_per_scan": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "tap_keycode_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, - "tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"} + "tap_capslock_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "locking": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": {"type": "boolean"}, + "resync": {"type": "boolean"} + } + } } }, "qmk_lufa_bootloader": { -- cgit v1.2.3 From 98530cad3ba8733d8a100e0bc5f3cf47339c4b3e Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Sun, 29 Oct 2023 01:09:02 +0100 Subject: Implement data driven dip switches (#22017) * Add data driven dip switches * Autogen weak matrix_mask --- data/mappings/info_config.hjson | 4 ++++ data/mappings/info_rules.hjson | 1 + data/schemas/keyboard.jsonschema | 38 +++++++++++++++++++++++++++++++++++++- 3 files changed, 42 insertions(+), 1 deletion(-) (limited to 'data') diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index 66aca35e94..9b65c73084 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -45,6 +45,10 @@ // Combos "COMBO_TERM": {"info_key": "combo.term", "value_type": "int"}, + "DIP_SWITCH_MATRIX_GRID": {"info_key": "dip_switch.matrix_grid", "value_type": "array.array.int", "to_json": false}, + "DIP_SWITCH_PINS": {"info_key": "dip_switch.pins", "value_type": "array"}, + "DIP_SWITCH_PINS_RIGHT": {"info_key": "split.dip_switch.right.pins", "value_type": "array"}, + // Dynamic Keymap "DYNAMIC_KEYMAP_EEPROM_MAX_ADDR": {"info_key": "dynamic_keymap.eeprom_max_addr", "value_type": "int"}, "DYNAMIC_KEYMAP_LAYER_COUNT": {"info_key": "dynamic_keymap.layer_count", "value_type": "int"}, diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson index 6a0f0a3030..02fc2bee9d 100644 --- a/data/mappings/info_rules.hjson +++ b/data/mappings/info_rules.hjson @@ -17,6 +17,7 @@ "BOOTLOADER": {"info_key": "bootloader", "warn_duplicate": false}, "BOOTMAGIC_ENABLE": {"info_key": "bootmagic.enabled", "value_type": "bool"}, "CAPS_WORD_ENABLE": {"info_key": "caps_word.enabled", "value_type": "bool"}, + "DIP_SWITCH_ENABLE": {"info_key": "dip_switch.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"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index c120099745..540ce4e42a 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -20,7 +20,15 @@ } } } - } + }, + "dip_switch_config": { + "type": "object", + "properties": { + "pins": { + "$ref": "qmk.definitions.v1#/mcu_pin_array" + } + } + }, }, "type": "object", "not": { "required": [ "vendorId", "productId" ] }, // reject via keys... @@ -245,6 +253,25 @@ "type": "array", "items": {"$ref": "qmk.definitions.v1#/filename"} }, + "dip_switch": { + "$ref": "#/definitions/dip_switch_config", + "properties": { + "enabled": {"type": "boolean"}, + "matrix_grid": { + "type": "array", + "minItems": 1, + "items": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "integer", + "minimum": 0 + } + } + } + } + }, "eeprom": { "properties": { "driver": {"type": "string"}, @@ -636,6 +663,15 @@ } } }, + "dip_switch": { + "type": "object", + "additionalProperties": false, + "properties": { + "right": { + "$ref": "#/definitions/dip_switch_config" + } + } + }, "encoder": { "type": "object", "additionalProperties": false, -- cgit v1.2.3 From 17c3182b1cc98adb5385c7c5223c775fce4d4dd9 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 30 Oct 2023 00:49:56 +0000 Subject: Remove use of broken split.main (#22363) --- data/schemas/keyboard.jsonschema | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'data') diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 540ce4e42a..20216a7f86 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -681,10 +681,6 @@ } } }, - "main": { - "type": "string", - "enum": ["eeprom", "left", "matrix_grid", "pin", "right"] - }, "soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, "soft_serial_speed": { "type": "integer", @@ -735,6 +731,11 @@ "polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"} } + }, + "main": { + "type": "string", + "enum": ["eeprom", "left", "matrix_grid", "pin", "right"], + "$comment": "Deprecated: use config.h options for now" } } }, -- cgit v1.2.3 From a19ae3d78466588caa9caf7c38d1617932255733 Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 1 Nov 2023 00:55:48 +0000 Subject: Add dd mapping for hardware based split handedness (#22369) --- data/mappings/info_config.hjson | 2 ++ data/schemas/keyboard.jsonschema | 21 +++++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) (limited to 'data') diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index 9b65c73084..2ad0135950 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -154,6 +154,8 @@ // Split Keyboard "SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"}, "SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"}, + "SPLIT_HAND_MATRIX_GRID": {"info_key": "split.handedness.matrix_grid", "value_type": "array", "to_c": false}, + "SPLIT_HAND_PIN": {"info_key": "split.handedness.pin"}, "SPLIT_USB_DETECT": {"info_key": "split.usb_detect.enabled", "value_type": "bool"}, "SPLIT_USB_TIMEOUT": {"info_key": "split.usb_detect.timeout", "value_type": "int"}, "SPLIT_USB_TIMEOUT_POLL": {"info_key": "split.usb_detect.polling_interval", "value_type": "int"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 20216a7f86..188e0a5b3c 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -640,10 +640,6 @@ } } }, - "matrix_grid": { - "type": "array", - "items": {"$ref": "qmk.definitions.v1#/mcu_pin"} - }, "matrix_pins": { "type": "object", "additionalProperties": false, @@ -681,6 +677,18 @@ } } }, + "handedness": { + "type": "object", + "additionalProperties": false, + "properties": { + "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "matrix_grid": { + "$ref": "qmk.definitions.v1#/mcu_pin_array", + "minItems": 2, + "maxItems": 2 + } + } + }, "soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, "soft_serial_speed": { "type": "integer", @@ -736,6 +744,11 @@ "type": "string", "enum": ["eeprom", "left", "matrix_grid", "pin", "right"], "$comment": "Deprecated: use config.h options for now" + }, + "matrix_grid": { + "type": "array", + "items": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "$comment": "Deprecated: use split.handedness.matrix_grid instead" } } }, -- cgit v1.2.3 From fbbb221a31a4890a3302a4b169465d9efb0c59ed Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Wed, 1 Nov 2023 01:26:24 +0000 Subject: Implement data driven lighting defaults (#21825) --- data/mappings/info_config.hjson | 16 +++++++++++++++ data/schemas/keyboard.jsonschema | 43 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+) (limited to 'data') diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson index 2ad0135950..26b437b513 100644 --- a/data/mappings/info_config.hjson +++ b/data/mappings/info_config.hjson @@ -29,6 +29,9 @@ "BACKLIGHT_PIN": {"info_key": "backlight.pin"}, "BACKLIGHT_PINS": {"info_key": "backlight.pins", "value_type": "array"}, "BREATHING_PERIOD": {"info_key": "backlight.breathing_period", "value_type": "int"}, + "BACKLIGHT_DEFAULT_ON": {"info_key": "backlight.default.on", "value_type": "bool"}, + "BACKLIGHT_DEFAULT_BREATHING": {"info_key": "backlight.default.breathing", "value_type": "bool"}, + "BACKLIGHT_DEFAULT_LEVEL": {"info_key": "backlight.default.brightness", "value_type": "int"}, // Bootmagic "BOOTMAGIC_LITE_COLUMN": {"info_key": "bootmagic.matrix.1", "value_type": "int"}, @@ -82,6 +85,9 @@ "LED_MATRIX_TIMEOUT": {"info_key": "led_matrix.timeout", "value_type": "int"}, "LED_MATRIX_VAL_STEP": {"info_key": "led_matrix.val_steps", "value_type": "int"}, "LED_MATRIX_LED_COUNT": {"info_key": "led_matrix.led_count", "value_type": "int", "to_json": false}, + "LED_MATRIX_DEFAULT_ON": {"info_key": "led_matrix.default.on", "value_type": "bool"}, + "LED_MATRIX_DEFAULT_VAL": {"info_key": "led_matrix.default.val", "value_type": "int"}, + "LED_MATRIX_DEFAULT_SPD": {"info_key": "led_matrix.default.speed", "value_type": "int"}, // Locking Switch "LOCKING_SUPPORT_ENABLE": {"info_key": "qmk.locking.enabled", "value_type": "bool"}, @@ -129,6 +135,11 @@ "RGB_MATRIX_TIMEOUT": {"info_key": "rgb_matrix.timeout", "value_type": "int"}, "RGB_MATRIX_VAL_STEP": {"info_key": "rgb_matrix.val_steps", "value_type": "int"}, "RGB_MATRIX_LED_COUNT": {"info_key": "rgb_matrix.led_count", "value_type": "int", "to_json": false}, + "RGB_MATRIX_DEFAULT_ON": {"info_key": "rgb_matrix.default.on", "value_type": "bool"}, + "RGB_MATRIX_DEFAULT_HUE": {"info_key": "rgb_matrix.default.hue", "value_type": "int"}, + "RGB_MATRIX_DEFAULT_SAT": {"info_key": "rgb_matrix.default.sat", "value_type": "int"}, + "RGB_MATRIX_DEFAULT_VAL": {"info_key": "rgb_matrix.default.val", "value_type": "int"}, + "RGB_MATRIX_DEFAULT_SPD": {"info_key": "rgb_matrix.default.speed", "value_type": "int"}, // RGBLight "RGBLED_NUM": {"info_key": "rgblight.led_count", "value_type": "int"}, @@ -144,6 +155,11 @@ "RGBLIGHT_SLEEP": {"info_key": "rgblight.sleep", "value_type": "bool"}, "RGBLIGHT_SPLIT": {"info_key": "rgblight.split", "value_type": "bool"}, "RGBLIGHT_VAL_STEP": {"info_key": "rgblight.brightness_steps", "value_type": "int"}, + "RGBLIGHT_DEFAULT_ON": {"info_key": "rgblight.default.on", "value_type": "bool"}, + "RGBLIGHT_DEFAULT_HUE": {"info_key": "rgblight.default.hue", "value_type": "int"}, + "RGBLIGHT_DEFAULT_SAT": {"info_key": "rgblight.default.sat", "value_type": "int"}, + "RGBLIGHT_DEFAULT_VAL": {"info_key": "rgblight.default.val", "value_type": "int"}, + "RGBLIGHT_DEFAULT_SPD": {"info_key": "rgblight.default.speed", "value_type": "int"}, "RGBW": {"info_key": "rgblight.rgbw", "value_type": "bool"}, // Secure diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 188e0a5b3c..9fc455530c 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -136,6 +136,15 @@ "type": "string", "enum": ["pwm", "software", "timer", "custom"] }, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "breathing": {"type": "boolean"}, + "brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, "breathing": {"type": "boolean"}, "breathing_period": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, "levels": { @@ -418,6 +427,16 @@ "type": "boolean" } }, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "animation": {"type": "string"}, + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, "driver": {"type": "string"}, "center_point": { "type": "array", @@ -472,6 +491,18 @@ "type": "boolean" } }, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "animation": {"type": "string"}, + "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, "driver": {"type": "string"}, "center_point": { "type": "array", @@ -530,6 +561,18 @@ } }, "brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"}, + "default": { + "type": "object", + "additionalProperties": false, + "properties": { + "on": {"type": "boolean"}, + "animation": {"type": "string"}, + "hue": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "sat": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}, + "speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"} + } + }, "driver": { "type": "string", "enum": ["apa102", "custom", "ws2812"] -- cgit v1.2.3 From 0a94c2951fa3f4f7ca928c0cb5119ec5d7000132 Mon Sep 17 00:00:00 2001 From: Logan Butler <8854426+MatchstickWorks@users.noreply.github.com> Date: Tue, 31 Oct 2023 20:12:20 -0700 Subject: [Keyboard] matchstickworks/southpad - Move files to rev1, add rev2 (#21574) Co-authored-by: Duncan Sutherland Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- data/mappings/keyboard_aliases.hjson | 3 +++ 1 file changed, 3 insertions(+) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 2e79431965..038d4d588e 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -407,6 +407,9 @@ "maartenwut/wonderland": { "target": "evyd13/wonderland" }, + "matchstickworks/southpad": { + "target": "matchstickworks/southpad/rev2/" + }, "matrix/m12og": { "target": "matrix/m12og/rev1" }, -- cgit v1.2.3 From 75e1a0d61062a63198c12491a4c471ed32217d78 Mon Sep 17 00:00:00 2001 From: Jeayo Keh Date: Thu, 9 Nov 2023 01:45:24 +0800 Subject: [Keyboard] Rename soda/{mango,pocket} (#22151) Co-authored-by: Joel Challis --- data/mappings/keyboard_aliases.hjson | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index 038d4d588e..debbf2c047 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -1215,6 +1215,12 @@ "setta21": { "target": "salicylic_acid3/setta21" }, + "soda/mango": { + "target": "magic_force/mf17" + }, + "soda/pocket": { + "target": "magic_force/mf34" + }, "space_space/rev1": { "target": "qpockets/space_space/rev1" }, -- cgit v1.2.3 From e279c78ba3054ebc2e294dd91ea98341cc509d1e Mon Sep 17 00:00:00 2001 From: Joel Challis Date: Mon, 20 Nov 2023 15:41:48 +0000 Subject: Enable linking of encoders to switch within layout macros (#22264) --- data/schemas/keyboard.jsonschema | 1 + 1 file changed, 1 insertion(+) (limited to 'data') diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index 9fc455530c..2996958084 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -348,6 +348,7 @@ "additionalProperties": false, "required": ["x", "y"], "properties": { + "encoder": {"$ref": "qmk.definitions.v1#/unsigned_int"}, "label": { "type": "string", "pattern": "^[^\\n]*$" -- cgit v1.2.3 From 5501e804ff8d41ce656061b91896c4ac8c681d78 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 28 Nov 2023 07:53:43 +1100 Subject: QMK Userspace (#22222) Co-authored-by: Duncan Sutherland --- data/schemas/definitions.jsonschema | 18 ++++++++++++++++++ data/schemas/user_repo_v0.jsonschema | 14 ++++++++++++++ data/schemas/user_repo_v1.jsonschema | 22 ++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 data/schemas/user_repo_v0.jsonschema create mode 100644 data/schemas/user_repo_v1.jsonschema (limited to 'data') diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema index 441e6395cf..ea29343d0a 100644 --- a/data/schemas/definitions.jsonschema +++ b/data/schemas/definitions.jsonschema @@ -177,5 +177,23 @@ "type": "integer", "minimum": 0, "maximum": 1 + }, + "keyboard_keymap_tuple": { + "type": "array", + "prefixItems": [ + { "$ref": "#/keyboard" }, + { "$ref": "#/filename" } + ], + "unevaluatedItems": false + }, + "json_file_path": { + "type": "string", + "pattern": "^[0-9a-z_/\\-]+\\.json$" + }, + "build_target": { + "oneOf": [ + { "$ref": "#/keyboard_keymap_tuple" }, + { "$ref": "#/json_file_path" } + ] } } diff --git a/data/schemas/user_repo_v0.jsonschema b/data/schemas/user_repo_v0.jsonschema new file mode 100644 index 0000000000..b18ac50428 --- /dev/null +++ b/data/schemas/user_repo_v0.jsonschema @@ -0,0 +1,14 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema#", + "$id": "qmk.user_repo.v0", + "title": "User Repository Information", + "type": "object", + "required": [ + "userspace_version" + ], + "properties": { + "userspace_version": { + "type": "string", + }, + } +} diff --git a/data/schemas/user_repo_v1.jsonschema b/data/schemas/user_repo_v1.jsonschema new file mode 100644 index 0000000000..6cdf758685 --- /dev/null +++ b/data/schemas/user_repo_v1.jsonschema @@ -0,0 +1,22 @@ +{ + "$schema": "https://json-schema.org/draft/2020-12/schema#", + "$id": "qmk.user_repo.v1", + "title": "User Repository Information", + "type": "object", + "required": [ + "userspace_version", + "build_targets" + ], + "properties": { + "userspace_version": { + "type": "string", + "enum": ["1.0"] + }, + "build_targets": { + "type": "array", + "items": { + "$ref": "qmk.definitions.v1#/build_target" + } + } + } +} -- cgit v1.2.3 From 07e7dd8fc138958e6af70ba7db65de0e3b1f3146 Mon Sep 17 00:00:00 2001 From: Nick Brassel Date: Tue, 28 Nov 2023 15:51:56 +1100 Subject: `develop` 2023q4 changelog (#22552) Co-authored-by: Drashna Jaelre Co-authored-by: Ryan --- data/mappings/keyboard_aliases.hjson | 3 +++ 1 file changed, 3 insertions(+) (limited to 'data') diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson index debbf2c047..90f32ee6ac 100644 --- a/data/mappings/keyboard_aliases.hjson +++ b/data/mappings/keyboard_aliases.hjson @@ -143,6 +143,9 @@ "daisy": { "target": "ktec/daisy" }, + "dp3000": { + "target": "dp3000/rev1" + }, "drakon": { "target": "jagdpietr/drakon" }, -- cgit v1.2.3