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