From 0237ff0c62d4278df3c0c93f5f85f84c1a0ed519 Mon Sep 17 00:00:00 2001 From: Marek Kraus Date: Wed, 31 Aug 2022 09:16:07 +0200 Subject: [Core] Rework PS/2 driver selection (#17892) * [Core] Rework PS/2 driver selection Enabling and selecting PS/2 driver was using old approach, so it was reworked to current approach, inspired by Serial and WS2812 driver selections. * [Keyboard] Update keyboards using PS/2 to use new PS/2 driver selection * [Docs] Update PS/2 documentation to use new PS/2 driver selection * Fix indentation * [Core] Add PS2 to data driver * Fix oversight in property name Co-authored-by: Drashna Jaelre * Add PS/2 pins to data driven mappings Co-authored-by: Drashna Jaelre --- data/mappings/info_config.json | 2 ++ data/mappings/info_rules.json | 3 +++ data/schemas/keyboard.jsonschema | 14 ++++++++++++++ 3 files changed, 19 insertions(+) (limited to 'data') diff --git a/data/mappings/info_config.json b/data/mappings/info_config.json index d0f67f4e3a..cc13a7cea4 100644 --- a/data/mappings/info_config.json +++ b/data/mappings/info_config.json @@ -52,6 +52,8 @@ "ONESHOT_TAP_TOGGLE": {"info_key": "oneshot.tap_toggle", "value_type": "int"}, "PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "bool"}, "PERMISSIVE_HOLD_PER_KEY": {"info_key": "tapping.permissive_hold_per_key", "value_type": "bool"}, + "PS2_CLOCK_PIN": {"info_key": "ps2.clock_pin"}, + "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"}, diff --git a/data/mappings/info_rules.json b/data/mappings/info_rules.json index 87a4b795b6..eaeafeda79 100644 --- a/data/mappings/info_rules.json +++ b/data/mappings/info_rules.json @@ -32,6 +32,9 @@ "WAIT_FOR_USB": {"info_key": "usb.wait_for", "value_type": "bool"}, "STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"}, "STENO_PROTOCOL": {"info_key": "stenography.protocol"}, + "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"}, # Items we want flagged in lint "CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"}, diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema index e425d13dd8..d0375fcdc4 100644 --- a/data/schemas/keyboard.jsonschema +++ b/data/schemas/keyboard.jsonschema @@ -390,6 +390,20 @@ } } }, + "ps2": { + "type": "object", + "additionalProperties": false, + "properties": { + "enabled": {"type": "boolean"}, + "mouse_enabled": {"type": "boolean"}, + "clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}, + "driver": { + "type": "string", + "enum": ["busywait", "interrupt", "usart", "vendor"] + } + } + }, "split": { "type": "object", "additionalProperties": false, -- cgit v1.2.3