~ruther/qmk_firmware

d333a25868039292a327a141dc90c0015b7fd017 — Joel Challis 11 months ago 42f6161
Add audio driver to keyboard.json schema (#23616)

39 files changed, 59 insertions(+), 22 deletions(-)

M data/mappings/info_rules.hjson
M data/schemas/keyboard.jsonschema
M docs/reference_info_json.md
M keyboards/adafruit/macropad/keyboard.json
M keyboards/adafruit/macropad/rules.mk
M keyboards/arrowmechanics/wings/keyboard.json
M keyboards/arrowmechanics/wings/rules.mk
M keyboards/boardsource/equals/48/keyboard.json
M keyboards/boardsource/equals/48/rules.mk
M keyboards/boardsource/equals/60/keyboard.json
M keyboards/boardsource/equals/60/rules.mk
M keyboards/boardsource/unicorne/keyboard.json
M keyboards/boardsource/unicorne/rules.mk
M keyboards/custommk/cmk11/keyboard.json
D keyboards/custommk/cmk11/rules.mk
M keyboards/custommk/ergostrafer/keyboard.json
D keyboards/custommk/ergostrafer/rules.mk
M keyboards/custommk/evo70_r2/keyboard.json
M keyboards/custommk/evo70_r2/rules.mk
M keyboards/handwired/macroboard/f411/keyboard.json
D keyboards/handwired/macroboard/f411/rules.mk
M keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json
M keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk
M keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json
M keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk
M keyboards/nack/keyboard.json
D keyboards/nack/rules.mk
M keyboards/planck/ez/info.json
M keyboards/planck/ez/rules.mk
M keyboards/quokka/keyboard.json
M keyboards/quokka/rules.mk
M keyboards/rgbkb/sol3/rev1/keyboard.json
M keyboards/rgbkb/sol3/rules.mk
M keyboards/tzarc/djinn/info.json
M keyboards/tzarc/djinn/rules.mk
M keyboards/yanghu/unicorne/info.json
M keyboards/yanghu/unicorne/rules.mk
M keyboards/zsa/moonlander/keyboard.json
M keyboards/zsa/moonlander/rules.mk
M data/mappings/info_rules.hjson => data/mappings/info_rules.hjson +1 -0
@@ 11,6 11,7 @@
    // 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

    "AUDIO_DRIVER": {"info_key": "audio.driver"},
    "BACKLIGHT_DRIVER": {"info_key": "backlight.driver"},
    "BLUETOOTH_DRIVER": {"info_key": "bluetooth.driver"},
    "BOARD": {"info_key": "board"},

M data/schemas/keyboard.jsonschema => data/schemas/keyboard.jsonschema +4 -0
@@ 133,6 133,10 @@
                        "clicky": {"type": "boolean"}
                    }
                },
                "driver": {
                    "type": "string",
                    "enum": ["dac_additive", "dac_basic", "pwm_software", "pwm_hardware"]
                },
                "macro_beep": {"type": "boolean"},
                "pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
                "power_control": {

M docs/reference_info_json.md => docs/reference_info_json.md +2 -0
@@ 118,6 118,8 @@ Configures the [Audio](feature_audio.md) feature.
        * `clicky`
            * The default audio clicky enabled state.
            * Default: `true`
    * `driver`
        * The driver to use. Must be one of `dac_additive`, `dac_basic`, `pwm_software`, `pwm_hardware`.
    * `macro_beep`
        * Play a short beep for `\a` (ASCII `BEL`) characters in Send String macros.
        * Default: `false`

M keyboards/adafruit/macropad/keyboard.json => keyboards/adafruit/macropad/keyboard.json +1 -0
@@ 19,6 19,7 @@
        "oled": true
    },
    "audio": {
        "driver": "pwm_hardware",
        "power_control": {
            "pin": "GP14"
        }

M keyboards/adafruit/macropad/rules.mk => keyboards/adafruit/macropad/rules.mk +0 -1
@@ 1,2 1,1 @@
AUDIO_DRIVER = pwm_hardware
OLED_TRANSPORT = spi

M keyboards/arrowmechanics/wings/keyboard.json => keyboards/arrowmechanics/wings/keyboard.json +3 -0
@@ 17,6 17,9 @@
        "mousekey": true,
        "rgb_matrix": true
    },
    "audio": {
        "driver": "pwm_hardware"
    },
    "matrix_pins": {
        "cols": ["GP8", "GP9", "GP10", "GP11", "GP12", "GP13", "GP14", "GP15", "GP16"],
        "rows": ["GP22", "GP21", "GP20", "GP19", "GP18", "GP17"]

M keyboards/arrowmechanics/wings/rules.mk => keyboards/arrowmechanics/wings/rules.mk +0 -1
@@ 1,2 1,1 @@
SERIAL_DRIVER = vendor
AUDIO_DRIVER = pwm_hardware

M keyboards/boardsource/equals/48/keyboard.json => keyboards/boardsource/equals/48/keyboard.json +3 -0
@@ 10,6 10,9 @@
        "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11"],
        "rows": ["GP12", "GP13", "GP16", "GP17"]
    },
    "audio": {
        "driver": "pwm_hardware"
    },
    "ws2812": {
        "driver": "vendor",
        "pin": "GP21"

M keyboards/boardsource/equals/48/rules.mk => keyboards/boardsource/equals/48/rules.mk +0 -1
@@ 1,2 1,1 @@
AUDIO_DRIVER = pwm_hardware
QUANTUM_PAINTER_DRIVERS += st7735_spi

M keyboards/boardsource/equals/60/keyboard.json => keyboards/boardsource/equals/60/keyboard.json +3 -0
@@ 10,6 10,9 @@
        "cols": ["GP0", "GP1", "GP2", "GP3", "GP4", "GP5", "GP6", "GP7", "GP8", "GP9", "GP10", "GP11"],
        "rows": ["GP12", "GP13", "GP16", "GP17", "GP18"]
    },
    "audio": {
        "driver": "pwm_hardware"
    },
    "ws2812": {
        "driver": "vendor",
        "pin": "GP21"

M keyboards/boardsource/equals/60/rules.mk => keyboards/boardsource/equals/60/rules.mk +0 -1
@@ 1,2 1,1 @@
AUDIO_DRIVER = pwm_hardware
QUANTUM_PAINTER_DRIVERS += st7735_spi

M keyboards/boardsource/unicorne/keyboard.json => keyboards/boardsource/unicorne/keyboard.json +3 -0
@@ 32,6 32,9 @@
        "pid": "0x7563",
        "vid": "0x4273"
    },
    "audio": {
        "driver": "pwm_hardware"
    },
    "ws2812": {
        "driver": "vendor",
        "pin": "GP29"

M keyboards/boardsource/unicorne/rules.mk => keyboards/boardsource/unicorne/rules.mk +0 -1
@@ 1,3 1,2 @@
SERIAL_DRIVER = vendor
AUDIO_DRIVER = pwm_hardware
POINTING_DEVICE_DRIVER = analog_joystick

M keyboards/custommk/cmk11/keyboard.json => keyboards/custommk/cmk11/keyboard.json +3 -0
@@ 18,6 18,9 @@
        "nkro": true,
        "rgb_matrix": true
    },
    "audio": {
        "driver": "pwm_hardware"
    },
    "matrix_pins": {
        "cols": ["B0", "A1", "A2", "A3", "A6", "B10"],
        "rows": ["A5", "A4"]

D keyboards/custommk/cmk11/rules.mk => keyboards/custommk/cmk11/rules.mk +0 -1
@@ 1,1 0,0 @@
AUDIO_DRIVER = pwm_hardware

M keyboards/custommk/ergostrafer/keyboard.json => keyboards/custommk/ergostrafer/keyboard.json +3 -0
@@ 17,6 17,9 @@
        "encoder": true,
        "audio": true
    },
    "audio": {
        "driver": "pwm_hardware"
    },
    "matrix_pins": {
        "cols": ["B0", "A1", "A2", "A3", "A6", "B6", "B10"],
        "rows": ["C13", "C14", "C15", "B1", "A7", "A5"]

D keyboards/custommk/ergostrafer/rules.mk => keyboards/custommk/ergostrafer/rules.mk +0 -1
@@ 1,1 0,0 @@
AUDIO_DRIVER = pwm_hardware

M keyboards/custommk/evo70_r2/keyboard.json => keyboards/custommk/evo70_r2/keyboard.json +3 -0
@@ 51,6 51,9 @@
            "twinkle": true
        }
    },
    "audio": {
        "driver": "pwm_hardware"
    },
    "ws2812": {
        "driver": "pwm",
        "pin": "A10"

M keyboards/custommk/evo70_r2/rules.mk => keyboards/custommk/evo70_r2/rules.mk +0 -2
@@ 1,5 1,3 @@
AUDIO_DRIVER = pwm_hardware

# project specific files
SRC += matrix.c 


M keyboards/handwired/macroboard/f411/keyboard.json => keyboards/handwired/macroboard/f411/keyboard.json +3 -0
@@ 9,6 9,9 @@
        "rows": ["A15", "B3", "B4", "B5", "B7"]
    },
    "diode_direction": "COL2ROW",
    "audio": {
        "driver": "pwm_hardware"
    },
    "ws2812": {
        "driver": "pwm"
    },

D keyboards/handwired/macroboard/f411/rules.mk => keyboards/handwired/macroboard/f411/rules.mk +0 -1
@@ 1,1 0,0 @@
AUDIO_DRIVER = pwm_hardware

M keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json => keyboards/handwired/tractyl_manuform/5x6_right/f303/keyboard.json +3 -0
@@ 12,6 12,9 @@
        "led_count": 20,
        "split_count": [10, 10]
    },
    "audio": {
        "driver": "dac_additive"
    },
    "ws2812": {
        "pin": "A6",
        "driver": "pwm"

M keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk => keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk +0 -1
@@ 1,4 1,3 @@
# KEYBOARD_SHARED_EP = yes

SERIAL_DRIVER = usart
AUDIO_DRIVER  = dac_additive

M keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json => keyboards/handwired/tractyl_manuform/5x6_right/f411/keyboard.json +3 -0
@@ 15,6 15,9 @@
    "build": {
        "debounce_type": "asym_eager_defer_pk"
    },
    "audio": {
        "driver": "pwm_hardware"
    },
    "ws2812": {
        "pin": "A1",
        "driver": "pwm"

M keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk => keyboards/handwired/tractyl_manuform/5x6_right/f411/rules.mk +0 -1
@@ 2,4 2,3 @@ KEYBOARD_SHARED_EP = yes
MOUSE_SHARED_EP    = yes

SERIAL_DRIVER = usart
AUDIO_DRIVER  = pwm_hardware

M keyboards/nack/keyboard.json => keyboards/nack/keyboard.json +3 -0
@@ 17,6 17,9 @@
        "rgb_matrix": true,
        "unicode": true
    },
    "audio": {
        "driver": "dac_basic"
    },
    "ws2812": {
        "pin": "B5",
        "driver": "spi"

D keyboards/nack/rules.mk => keyboards/nack/rules.mk +0 -1
@@ 1,1 0,0 @@
AUDIO_DRIVER = dac_basic

M keyboards/planck/ez/info.json => keyboards/planck/ez/info.json +3 -0
@@ 75,6 75,9 @@
    "rows": ["A10", "A9", "A8", "B15", "C13", "C14", "C15", "A2"]
  },
  "diode_direction": "COL2ROW",
  "audio": {
    "driver": "dac_additive"
  },
  "encoder": {
    "rotary": [
      {"pin_a": "B12", "pin_b": "B13"}

M keyboards/planck/ez/rules.mk => keyboards/planck/ez/rules.mk +0 -2
@@ 1,5 1,3 @@
AUDIO_DRIVER = dac_additive

RGBLIGHT_SUPPORTED = no
BAKCLIGHT_SUPPORTED = no


M keyboards/quokka/keyboard.json => keyboards/quokka/keyboard.json +3 -0
@@ 13,6 13,9 @@
        "oled": true,
        "rgb_matrix": true
    },
    "audio": {
        "driver": "pwm_hardware"
    },
    "matrix_pins": {
        "cols": ["GP8", "GP7", "GP6", "GP5", "GP4"],
        "rows": ["GP10", "GP19", "GP20", "GP18"]

M keyboards/quokka/rules.mk => keyboards/quokka/rules.mk +0 -1
@@ 1,2 1,1 @@
AUDIO_DRIVER = pwm_hardware
SERIAL_DRIVER = vendor

M keyboards/rgbkb/sol3/rev1/keyboard.json => keyboards/rgbkb/sol3/rev1/keyboard.json +3 -0
@@ 24,6 24,9 @@
            "twinkle": true
        }
    },
    "audio": {
        "driver": "dac_additive"
    },
    "ws2812": {
        "pin": "B5",
        "driver": "pwm"

M keyboards/rgbkb/sol3/rules.mk => keyboards/rgbkb/sol3/rules.mk +0 -1
@@ 14,7 14,6 @@ CONSOLE_ENABLE = no        # Console for debug
COMMAND_ENABLE = no         # Commands for debug and configuration
NKRO_ENABLE = yes           # Enable N-Key Rollover
AUDIO_ENABLE = yes          # Audio output
AUDIO_DRIVER = dac_additive

DYNAMIC_MACRO_ENABLE = yes
DIP_SWITCH_ENABLE = yes

M keyboards/tzarc/djinn/info.json => keyboards/tzarc/djinn/info.json +3 -0
@@ 31,6 31,9 @@
    "rows": ["B13", "B14", "B15", "C6", "C7", "C8"],
    "cols": ["C0", "C1", "C2", "C3", "A0", "A1", "A2"]
  },
  "audio": {
    "driver": "pwm_software"
  },
  "backlight": {
    "pin": "A7",
    "levels": 4

M keyboards/tzarc/djinn/rules.mk => keyboards/tzarc/djinn/rules.mk +0 -2
@@ 4,8 4,6 @@ SERIAL_DRIVER = usart

CIE1931_CURVE = yes

AUDIO_DRIVER = pwm_software

QUANTUM_PAINTER_DRIVERS = ili9341_spi

SRC += \

M keyboards/yanghu/unicorne/info.json => keyboards/yanghu/unicorne/info.json +3 -0
@@ 18,6 18,9 @@
    "oled": true,
    "rgblight": true
  },
  "audio": {
    "driver": "pwm_hardware"
  },
  "rgblight": {
    "led_count": 8,
    "animations": {

M keyboards/yanghu/unicorne/rules.mk => keyboards/yanghu/unicorne/rules.mk +0 -2
@@ 1,3 1,1 @@
AUDIO_DRIVER = pwm_hardware

DEFAULT_FOLDER = yanghu/unicorne/f411

M keyboards/zsa/moonlander/keyboard.json => keyboards/zsa/moonlander/keyboard.json +3 -0
@@ 22,6 22,9 @@
        "rgb_matrix": true,
        "swap_hands": true
    },
    "audio": {
        "driver": "dac_additive"
    },
    "dynamic_keymap": {
        "layer_count": 8
    },

M keyboards/zsa/moonlander/rules.mk => keyboards/zsa/moonlander/rules.mk +0 -1
@@ 1,4 1,3 @@
AUDIO_DRIVER = dac_additive
CUSTOM_MATRIX = lite

# project specific files

Do not follow this link