Browse Source

Add DD mappings for locking switch (#22242)

Co-authored-by: Ryan <fauxpark@gmail.com>
jack 2 years ago
parent
commit
896d3dc497
3 changed files with 20 additions and 1 deletions
  1. 4 0
      data/mappings/info_config.hjson
  2. 9 1
      data/schemas/keyboard.jsonschema
  3. 7 0
      docs/reference_info_json.md

+ 4 - 0
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"},

+ 9 - 1
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": {

+ 7 - 0
docs/reference_info_json.md

@@ -60,6 +60,13 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/<k
     }
     ```
 * `qmk`
+    * `locking`
+        * `enabled`
+            * Enable locking switch support.
+            * Default: `false`
+        * `resync`
+            * Keep switch state consistent with keyboard LED state.
+            * Default: `false`
     * `tap_capslock_delay`
         * The delay between keydown and keyup for Caps Lock tap events in milliseconds.
         * Default: `80` (80 ms)