mirror of
https://github.com/qmk/qmk_firmware.git
synced 2025-07-27 03:21:15 +00:00
Merge remote-tracking branch 'upstream/master' into bootstrap
This commit is contained in:
commit
d4cb53e264
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@ -38,4 +38,4 @@ body:
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Additional Context
|
||||
description: Add any other relevant information about the problem here.
|
||||
description: Add any other relevant information about the problem here.
|
||||
|
27
.vscode/settings.json
vendored
27
.vscode/settings.json
vendored
@ -10,6 +10,13 @@
|
||||
"**/*.uf2": true
|
||||
},
|
||||
"files.associations": {
|
||||
// QMK Filetypes
|
||||
"keyboard.json": "jsonc",
|
||||
"info.json": "jsonc",
|
||||
"keymap.json": "jsonc",
|
||||
"qmk.json": "jsonc",
|
||||
"qmk_module.json": "jsonc",
|
||||
// Standard filetypes
|
||||
"*.h": "c",
|
||||
"*.c": "c",
|
||||
"*.inc": "c",
|
||||
@ -28,7 +35,23 @@
|
||||
"[json]": {
|
||||
"editor.formatOnSave": false
|
||||
},
|
||||
"clangd.arguments": [
|
||||
"--header-insertion=never"
|
||||
"clangd.arguments": ["--header-insertion=never"],
|
||||
"json.schemas": [
|
||||
{
|
||||
"fileMatch": ["qmk.json"],
|
||||
"url": "./data/schemas/user_repo_v1_1.jsonschema"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["qmk_module.json"],
|
||||
"url": "./data/schemas/community_module.jsonschema"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["keyboard.json", "info.json"],
|
||||
"url": "./data/schemas/keyboard.jsonschema"
|
||||
},
|
||||
{
|
||||
"fileMatch": ["keymap.json"],
|
||||
"url": "./data/schemas/keymap.jsonschema"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
1
Makefile
1
Makefile
@ -59,6 +59,7 @@ ifeq ($(ROOT_DIR),)
|
||||
endif
|
||||
|
||||
include paths.mk
|
||||
include $(BUILDDEFS_PATH)/support.mk
|
||||
|
||||
TEST_OUTPUT_DIR := $(BUILD_DIR)/test
|
||||
ERROR_FILE := $(BUILD_DIR)/error_occurred
|
||||
|
@ -25,8 +25,6 @@ $(TEST_OUTPUT)_SRC := \
|
||||
tests/test_common/test_driver.cpp \
|
||||
tests/test_common/keyboard_report_util.cpp \
|
||||
tests/test_common/mouse_report_util.cpp \
|
||||
tests/test_common/keycode_util.cpp \
|
||||
tests/test_common/keycode_table.cpp \
|
||||
tests/test_common/test_fixture.cpp \
|
||||
tests/test_common/test_keymap_key.cpp \
|
||||
tests/test_common/test_logger.cpp \
|
||||
|
@ -11,6 +11,7 @@ endif
|
||||
.DEFAULT_GOAL := all
|
||||
|
||||
include paths.mk
|
||||
include $(BUILDDEFS_PATH)/support.mk
|
||||
include $(BUILDDEFS_PATH)/message.mk
|
||||
|
||||
# Helper to add defines with a 'QMK_' prefix
|
||||
@ -97,21 +98,12 @@ endif
|
||||
|
||||
|
||||
# Pull in rules.mk files from all our subfolders
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_5)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_4)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_3)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_2)/rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/rules.mk)","")
|
||||
include $(KEYBOARD_PATH_1)/rules.mk
|
||||
endif
|
||||
-include $(KEYBOARD_PATH_5)/rules.mk
|
||||
-include $(KEYBOARD_PATH_4)/rules.mk
|
||||
-include $(KEYBOARD_PATH_3)/rules.mk
|
||||
-include $(KEYBOARD_PATH_2)/rules.mk
|
||||
-include $(KEYBOARD_PATH_1)/rules.mk
|
||||
|
||||
# Create dependencies on DD keyboard config - structure validated elsewhere
|
||||
DD_CONFIG_FILES :=
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/info.json)","")
|
||||
@ -260,6 +252,9 @@ generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/
|
||||
endif
|
||||
|
||||
# Community modules
|
||||
COMMUNITY_RULES_MK = $(shell $(QMK_BIN) generate-community-modules-rules-mk -kb $(KEYBOARD) --quiet --escape --output $(INTERMEDIATE_OUTPUT)/src/community_rules.mk $(KEYMAP_JSON))
|
||||
include $(COMMUNITY_RULES_MK)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/community_modules.h: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-community-modules-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(KEYMAP_JSON))
|
||||
@ -280,10 +275,19 @@ $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h: $(KEYMAP_JSON) $(D
|
||||
$(eval CMD=$(QMK_BIN) generate-community-modules-introspection-h -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/led_matrix_community_modules.inc: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-led-matrix-community-modules-inc -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/led_matrix_community_modules.inc $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
$(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc: $(KEYMAP_JSON) $(DD_CONFIG_FILES)
|
||||
@$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
|
||||
$(eval CMD=$(QMK_BIN) generate-rgb-matrix-community-modules-inc -kb $(KEYBOARD) --quiet --output $(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc $(KEYMAP_JSON))
|
||||
@$(BUILD_CMD)
|
||||
|
||||
SRC += $(INTERMEDIATE_OUTPUT)/src/community_modules.c
|
||||
|
||||
generated-files: $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(INTERMEDIATE_OUTPUT)/src/community_modules.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h
|
||||
|
||||
generated-files: $(INTERMEDIATE_OUTPUT)/src/community_modules.h $(INTERMEDIATE_OUTPUT)/src/community_modules.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.c $(INTERMEDIATE_OUTPUT)/src/community_modules_introspection.h $(INTERMEDIATE_OUTPUT)/src/led_matrix_community_modules.inc $(INTERMEDIATE_OUTPUT)/src/rgb_matrix_community_modules.inc
|
||||
|
||||
include $(BUILDDEFS_PATH)/converters.mk
|
||||
|
||||
@ -487,21 +491,11 @@ ifneq ("$(CONVERTER)","")
|
||||
endif
|
||||
|
||||
# Pull in post_rules.mk files from all our subfolders
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_1)/post_rules.mk)","")
|
||||
include $(KEYBOARD_PATH_1)/post_rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_2)/post_rules.mk)","")
|
||||
include $(KEYBOARD_PATH_2)/post_rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_3)/post_rules.mk)","")
|
||||
include $(KEYBOARD_PATH_3)/post_rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_4)/post_rules.mk)","")
|
||||
include $(KEYBOARD_PATH_4)/post_rules.mk
|
||||
endif
|
||||
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_rules.mk)","")
|
||||
include $(KEYBOARD_PATH_5)/post_rules.mk
|
||||
endif
|
||||
-include $(KEYBOARD_PATH_1)/post_rules.mk
|
||||
-include $(KEYBOARD_PATH_2)/post_rules.mk
|
||||
-include $(KEYBOARD_PATH_3)/post_rules.mk
|
||||
-include $(KEYBOARD_PATH_4)/post_rules.mk
|
||||
-include $(KEYBOARD_PATH_5)/post_rules.mk
|
||||
|
||||
define post_rules_mk_community_module_includer
|
||||
ifneq ("$(wildcard $(1)/post_rules.mk)","")
|
||||
|
@ -7,6 +7,7 @@ endif
|
||||
OPT = g
|
||||
|
||||
include paths.mk
|
||||
include $(BUILDDEFS_PATH)/support.mk
|
||||
include $(BUILDDEFS_PATH)/message.mk
|
||||
|
||||
TARGET=test/$(TEST_OUTPUT)
|
||||
|
@ -30,6 +30,8 @@ QUANTUM_SRC += \
|
||||
$(QUANTUM_DIR)/logging/sendchar.c \
|
||||
$(QUANTUM_DIR)/process_keycode/process_default_layer.c \
|
||||
|
||||
include $(QUANTUM_DIR)/nvm/rules.mk
|
||||
|
||||
VPATH += $(QUANTUM_DIR)/logging
|
||||
# Fall back to lib/printf if there is no platform provided print
|
||||
ifeq ("$(wildcard $(PLATFORM_PATH)/$(PLATFORM_KEY)/printf.mk)","")
|
||||
@ -169,80 +171,82 @@ endif
|
||||
|
||||
VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi wear_leveling legacy_stm32_flash
|
||||
EEPROM_DRIVER ?= vendor
|
||||
ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),)
|
||||
ifneq ($(strip $(EEPROM_DRIVER)),none)
|
||||
ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid EEPROM_DRIVER,EEPROM_DRIVER="$(EEPROM_DRIVER)" is not a valid EEPROM driver)
|
||||
else
|
||||
OPT_DEFS += -DEEPROM_ENABLE
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
|
||||
COMMON_VPATH += $(DRIVER_PATH)/eeprom
|
||||
COMMON_VPATH += $(PLATFORM_COMMON_DIR)
|
||||
ifeq ($(strip $(EEPROM_DRIVER)), custom)
|
||||
# Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM
|
||||
SRC += eeprom_driver.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), wear_leveling)
|
||||
# Wear-leveling EEPROM implementation
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), i2c)
|
||||
# External I2C EEPROM implementation
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
SRC += eeprom_driver.c eeprom_i2c.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), spi)
|
||||
# External SPI EEPROM implementation
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
SRC += eeprom_driver.c eeprom_spi.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
|
||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), transient)
|
||||
# Transient EEPROM implementation -- no data storage but provides runtime area for it
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
||||
SRC += eeprom_driver.c eeprom_transient.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), vendor)
|
||||
# Vendor-implemented EEPROM
|
||||
OPT_DEFS += -DEEPROM_VENDOR
|
||||
ifeq ($(PLATFORM),AVR)
|
||||
# Automatically provided by avr-libc, nothing required
|
||||
else ifeq ($(PLATFORM),CHIBIOS)
|
||||
ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
|
||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
||||
else ifneq ($(filter $(MCU_SERIES),STM32F1xx STM32F3xx STM32F4xx STM32L4xx STM32G4xx WB32F3G71xx WB32FQ95xx AT32F415 GD32VF103),)
|
||||
# Wear-leveling EEPROM implementation, backed by MCU flash
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||
WEAR_LEVELING_DRIVER ?= embedded_flash
|
||||
else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
|
||||
# True EEPROM on STM32L0xx, L1xx
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1
|
||||
SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
|
||||
else ifneq ($(filter $(MCU_SERIES),RP2040),)
|
||||
# Wear-leveling EEPROM implementation, backed by RP2040 flash
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||
WEAR_LEVELING_DRIVER ?= rp2040_flash
|
||||
else ifneq ($(filter $(MCU_SERIES),KL2x K20x),)
|
||||
# Teensy EEPROM implementations
|
||||
OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM
|
||||
SRC += eeprom_kinetis_flexram.c
|
||||
else
|
||||
# Fall back to transient, i.e. non-persistent
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
||||
SRC += eeprom_driver.c eeprom_transient.c
|
||||
else
|
||||
OPT_DEFS += -DEEPROM_ENABLE
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/eeprom
|
||||
COMMON_VPATH += $(DRIVER_PATH)/eeprom
|
||||
COMMON_VPATH += $(PLATFORM_COMMON_DIR)
|
||||
ifeq ($(strip $(EEPROM_DRIVER)), custom)
|
||||
# Custom EEPROM implementation -- only needs to implement init/erase/read_block/write_block
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_CUSTOM
|
||||
SRC += eeprom_driver.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), wear_leveling)
|
||||
# Wear-leveling EEPROM implementation
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), i2c)
|
||||
# External I2C EEPROM implementation
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_I2C
|
||||
I2C_DRIVER_REQUIRED = yes
|
||||
SRC += eeprom_driver.c eeprom_i2c.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), spi)
|
||||
# External SPI EEPROM implementation
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_SPI
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
SRC += eeprom_driver.c eeprom_spi.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), legacy_stm32_flash)
|
||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), transient)
|
||||
# Transient EEPROM implementation -- no data storage but provides runtime area for it
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
||||
SRC += eeprom_driver.c eeprom_transient.c
|
||||
else ifeq ($(strip $(EEPROM_DRIVER)), vendor)
|
||||
# Vendor-implemented EEPROM
|
||||
OPT_DEFS += -DEEPROM_VENDOR
|
||||
ifeq ($(PLATFORM),AVR)
|
||||
# Automatically provided by avr-libc, nothing required
|
||||
else ifeq ($(PLATFORM),CHIBIOS)
|
||||
ifneq ($(filter %_STM32F072xB %_STM32F042x6, $(MCU_SERIES)_$(MCU_LDSCRIPT)),)
|
||||
# STM32 Emulated EEPROM, backed by MCU flash (soon to be deprecated)
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_LEGACY_EMULATED_FLASH
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||
COMMON_VPATH += $(DRIVER_PATH)/flash
|
||||
SRC += eeprom_driver.c eeprom_legacy_emulated_flash.c legacy_flash_ops.c
|
||||
else ifneq ($(filter $(MCU_SERIES),STM32F1xx STM32F3xx STM32F4xx STM32L4xx STM32G0xx STM32G4xx WB32F3G71xx WB32FQ95xx AT32F415 GD32VF103),)
|
||||
# Wear-leveling EEPROM implementation, backed by MCU flash
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||
WEAR_LEVELING_DRIVER ?= embedded_flash
|
||||
else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
|
||||
# True EEPROM on STM32L0xx, L1xx
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_STM32_L0_L1
|
||||
SRC += eeprom_driver.c eeprom_stm32_L0_L1.c
|
||||
else ifneq ($(filter $(MCU_SERIES),RP2040),)
|
||||
# Wear-leveling EEPROM implementation, backed by RP2040 flash
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_WEAR_LEVELING
|
||||
SRC += eeprom_driver.c eeprom_wear_leveling.c
|
||||
WEAR_LEVELING_DRIVER ?= rp2040_flash
|
||||
else ifneq ($(filter $(MCU_SERIES),KL2x K20x),)
|
||||
# Teensy EEPROM implementations
|
||||
OPT_DEFS += -DEEPROM_KINETIS_FLEXRAM
|
||||
SRC += eeprom_kinetis_flexram.c
|
||||
else
|
||||
# Fall back to transient, i.e. non-persistent
|
||||
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
|
||||
SRC += eeprom_driver.c eeprom_transient.c
|
||||
endif
|
||||
else ifeq ($(PLATFORM),TEST)
|
||||
# Test harness "EEPROM"
|
||||
OPT_DEFS += -DEEPROM_TEST_HARNESS
|
||||
SRC += eeprom.c
|
||||
endif
|
||||
else ifeq ($(PLATFORM),TEST)
|
||||
# Test harness "EEPROM"
|
||||
OPT_DEFS += -DEEPROM_TEST_HARNESS
|
||||
SRC += eeprom.c
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@ -263,18 +267,14 @@ ifneq ($(strip $(WEAR_LEVELING_DRIVER)),none)
|
||||
ifeq ($(strip $(WEAR_LEVELING_DRIVER)), embedded_flash)
|
||||
OPT_DEFS += -DHAL_USE_EFL
|
||||
SRC += wear_leveling_efl.c
|
||||
POST_CONFIG_H += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/wear_leveling/wear_leveling_efl_config.h
|
||||
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), spi_flash)
|
||||
FLASH_DRIVER := spi
|
||||
SRC += wear_leveling_flash_spi.c
|
||||
POST_CONFIG_H += $(DRIVER_PATH)/wear_leveling/wear_leveling_flash_spi_config.h
|
||||
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), rp2040_flash)
|
||||
SRC += wear_leveling_rp2040_flash.c
|
||||
POST_CONFIG_H += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_PATH)/wear_leveling/wear_leveling_rp2040_flash_config.h
|
||||
else ifeq ($(strip $(WEAR_LEVELING_DRIVER)), legacy)
|
||||
COMMON_VPATH += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/flash
|
||||
SRC += legacy_flash_ops.c wear_leveling_legacy.c
|
||||
POST_CONFIG_H += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/wear_leveling/wear_leveling_legacy_config.h
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@ -635,6 +635,11 @@ ifeq ($(strip $(VIA_ENABLE)), yes)
|
||||
TRI_LAYER_ENABLE := yes
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(RAW_ENABLE)), yes)
|
||||
OPT_DEFS += -DRAW_ENABLE
|
||||
SRC += raw_hid.c
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(DYNAMIC_KEYMAP_ENABLE)), yes)
|
||||
SEND_STRING_ENABLE := yes
|
||||
endif
|
||||
@ -717,6 +722,7 @@ ifeq ($(strip $(LIB8TION_ENABLE)), yes)
|
||||
# ATmegaxxU2 does not have hardware MUL instruction - lib8tion must be told to use software multiplication routines
|
||||
OPT_DEFS += -DLIB8_ATTINY
|
||||
endif
|
||||
OPT_DEFS += -DFASTLED_SCALE8_FIXED=1 -DFASTLED_BLEND_FIXED=1
|
||||
SRC += $(LIB_PATH)/lib8tion/lib8tion.c
|
||||
endif
|
||||
|
||||
@ -888,19 +894,19 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
|
||||
OPT_DEFS += -DBLUETOOTH_ENABLE
|
||||
OPT_DEFS += -DBLUETOOTH_$(strip $(shell echo $(BLUETOOTH_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
NO_USB_STARTUP_CHECK := yes
|
||||
CONNECTION_ENABLE := yes
|
||||
COMMON_VPATH += $(DRIVER_PATH)/bluetooth
|
||||
SRC += outputselect.c process_connection.c
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
|
||||
|
||||
ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le)
|
||||
SPI_DRIVER_REQUIRED = yes
|
||||
ANALOG_DRIVER_REQUIRED = yes
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluetooth_drivers.c
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluefruit_le.cpp
|
||||
endif
|
||||
|
||||
ifeq ($(strip $(BLUETOOTH_DRIVER)), rn42)
|
||||
UART_DRIVER_REQUIRED = yes
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluetooth.c
|
||||
SRC += $(DRIVER_PATH)/bluetooth/bluetooth_drivers.c
|
||||
SRC += $(DRIVER_PATH)/bluetooth/rn42.c
|
||||
endif
|
||||
endif
|
||||
@ -934,6 +940,28 @@ ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
|
||||
endif
|
||||
endif
|
||||
|
||||
VALID_BATTERY_DRIVER_TYPES := adc custom vendor
|
||||
|
||||
BATTERY_DRIVER ?= adc
|
||||
ifeq ($(strip $(BATTERY_DRIVER_REQUIRED)), yes)
|
||||
ifeq ($(filter $(BATTERY_DRIVER),$(VALID_BATTERY_DRIVER_TYPES)),)
|
||||
$(call CATASTROPHIC_ERROR,Invalid BATTERY_DRIVER,BATTERY_DRIVER="$(BATTERY_DRIVER)" is not a valid battery driver)
|
||||
endif
|
||||
|
||||
OPT_DEFS += -DBATTERY_DRIVER
|
||||
OPT_DEFS += -DBATTERY_$(strip $(shell echo $(BATTERY_DRIVER) | tr '[:lower:]' '[:upper:]'))
|
||||
|
||||
COMMON_VPATH += $(DRIVER_PATH)/battery
|
||||
|
||||
SRC += battery.c
|
||||
SRC += battery_$(strip $(BATTERY_DRIVER)).c
|
||||
|
||||
# add extra deps
|
||||
ifeq ($(strip $(BATTERY_DRIVER)), adc)
|
||||
ANALOG_DRIVER_REQUIRED = yes
|
||||
endif
|
||||
endif
|
||||
|
||||
VALID_WS2812_DRIVER_TYPES := bitbang custom i2c pwm spi vendor
|
||||
|
||||
WS2812_DRIVER ?= bitbang
|
||||
|
@ -168,7 +168,7 @@ MOVE_DEP = mv -f $(patsubst %.o,%.td,$@) $(patsubst %.o,%.d,$@)
|
||||
|
||||
# For a ChibiOS build, ensure that the board files have the hook overrides injected
|
||||
define BOARDSRC_INJECT_HOOKS
|
||||
$(INTERMEDIATE_OUTPUT)/$(patsubst %.c,%.o,$(patsubst ./%,%,$1)): INIT_HOOK_CFLAGS += -include $(TOP_DIR)/tmk_core/protocol/chibios/init_hooks.h
|
||||
$(INTERMEDIATE_OUTPUT)/$(patsubst %.c,%.o,$(patsubst ./%,%,$1)): FILE_SPECIFIC_CFLAGS += -include $(TOP_DIR)/tmk_core/protocol/chibios/init_hooks.h
|
||||
endef
|
||||
$(foreach LOBJ, $(BOARDSRC), $(eval $(call BOARDSRC_INJECT_HOOKS,$(LOBJ))))
|
||||
|
||||
@ -289,10 +289,10 @@ $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN)
|
||||
ifneq ($$(VERBOSE_C_INCLUDE),)
|
||||
$$(if $$(filter $$(notdir $$(VERBOSE_C_INCLUDE)),$$(notdir $$<)),$$(eval CC_EXEC += -H))
|
||||
endif
|
||||
$$(eval CMD := $$(CC_EXEC) -c $$($1_CFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||
$$(eval CMD := $$(CC_EXEC) -c $$($1_CFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||
@$$(BUILD_CMD)
|
||||
ifneq ($$(DUMP_C_MACROS),)
|
||||
$$(eval CMD := $$(CC) -E -dM $$($1_CFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$<)
|
||||
$$(eval CMD := $$(CC) -E -dM $$($1_CFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$<)
|
||||
@$$(if $$(filter $$(notdir $$(DUMP_C_MACROS)),$$(notdir $$<)),$$(BUILD_CMD))
|
||||
endif
|
||||
|
||||
@ -300,13 +300,13 @@ $1/%.o : %.c $1/%.d $1/cflags.txt $1/compiler.txt | $(BEGIN)
|
||||
$1/%.o : %.cpp $1/%.d $1/cxxflags.txt $1/compiler.txt | $(BEGIN)
|
||||
@mkdir -p $$(@D)
|
||||
@$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD)
|
||||
$$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||
$$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||
@$$(BUILD_CMD)
|
||||
|
||||
$1/%.o : %.cc $1/%.d $1/cxxflags.txt $1/compiler.txt | $(BEGIN)
|
||||
@mkdir -p $$(@D)
|
||||
@$$(SILENT) || printf "$$(MSG_COMPILING_CXX) $$<" | $$(AWK_CMD)
|
||||
$$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(INIT_HOOK_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||
$$(eval CMD=$$(CC) -c $$($1_CXXFLAGS) $$(FILE_SPECIFIC_CFLAGS) $$(GENDEPFLAGS) $$< -o $$@ && $$(MOVE_DEP))
|
||||
@$$(BUILD_CMD)
|
||||
|
||||
# Assemble: create object files from assembler source files.
|
||||
|
@ -1,10 +1,3 @@
|
||||
# Note for new boards -- CTPC and CONVERT_TO_PROTON_C are deprecated terms
|
||||
# and should not be replicated for new boards. These will be removed from
|
||||
# documentation as well as existing keymaps in due course.
|
||||
ifneq ($(findstring yes, $(CTPC)$(CONVERT_TO_PROTON_C)),)
|
||||
$(call CATASTROPHIC_ERROR,The `CONVERT_TO_PROTON_C` and `CTPC` options are now deprecated. `CONVERT_TO=proton_c` should be used instead.)
|
||||
endif
|
||||
|
||||
ifneq (,$(filter $(MCU),atmega32u4))
|
||||
# TODO: opt in rather than assume everything uses a pro micro
|
||||
PIN_COMPATIBLE ?= promicro
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"license": "GPL-2.0-or-later",
|
||||
"devDependencies": {
|
||||
"vite": "^5.4.18",
|
||||
"vite": "^5.4.19",
|
||||
"vitepress": "^1.1.0",
|
||||
"vitepress-plugin-tabs": "^0.5.0",
|
||||
"vue": "^3.4.24"
|
||||
|
@ -766,10 +766,10 @@ tabbable@^6.2.0:
|
||||
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
|
||||
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
|
||||
|
||||
vite@^5.2.9, vite@^5.4.18:
|
||||
version "5.4.18"
|
||||
resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.18.tgz#b5af357f9d5ebb2e0c085779b7a37a77f09168a4"
|
||||
integrity sha512-1oDcnEp3lVyHCuQ2YFelM4Alm2o91xNoMncRm1U7S+JdYfYOvbiGZ3/CxGttrOu2M/KcGz7cRC2DoNUA6urmMA==
|
||||
vite@^5.2.9, vite@^5.4.19:
|
||||
version "5.4.19"
|
||||
resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.19.tgz#20efd060410044b3ed555049418a5e7d1998f959"
|
||||
integrity sha512-qO3aKv3HoQC8QKiNSTuUM1l9o/XX3+c+VTgLHbJWHZGeTPVAg2XwazI9UWzoxjIJCGCV2zU60uqMzjeLZuULqA==
|
||||
dependencies:
|
||||
esbuild "^0.21.3"
|
||||
postcss "^8.4.43"
|
||||
|
@ -25,6 +25,7 @@ GENERIC_FEATURES = \
|
||||
CAPS_WORD \
|
||||
COMBO \
|
||||
COMMAND \
|
||||
CONNECTION \
|
||||
CRC \
|
||||
DEFERRED_EXEC \
|
||||
DIGITIZER \
|
||||
@ -34,6 +35,7 @@ GENERIC_FEATURES = \
|
||||
DYNAMIC_TAPPING_TERM \
|
||||
GRAVE_ESC \
|
||||
HAPTIC \
|
||||
KEYCODE_STRING \
|
||||
KEY_LOCK \
|
||||
KEY_OVERRIDE \
|
||||
LAYER_LOCK \
|
||||
@ -60,6 +62,7 @@ define HANDLE_GENERIC_FEATURE
|
||||
SRC += $$(wildcard $$(QUANTUM_DIR)/process_keycode/process_$2.c)
|
||||
SRC += $$(wildcard $$(QUANTUM_DIR)/$2/$2.c)
|
||||
SRC += $$(wildcard $$(QUANTUM_DIR)/$2.c)
|
||||
SRC += $$(wildcard $$(QUANTUM_DIR)/nvm/$$(NVM_DRIVER_LOWER)/nvm_$2.c)
|
||||
VPATH += $$(wildcard $$(QUANTUM_DIR)/$2/)
|
||||
OPT_DEFS += -D$1_ENABLE
|
||||
endef
|
||||
|
11
builddefs/support.mk
Normal file
11
builddefs/support.mk
Normal file
@ -0,0 +1,11 @@
|
||||
# Helper to determine if a compiler option is supported
|
||||
# Args:
|
||||
# $(1) = option to test, if successful will be output
|
||||
# $(2) = option to use if $(1) is not supported
|
||||
# $(3) = additional arguments to pass to the compiler during the test, but aren't contained in the output
|
||||
cc-option = $(shell \
|
||||
if { echo 'int main(){return 0;}' | $(CC) $(1) $(3) -o /dev/null -x c /dev/null >/dev/null 2>&1; }; \
|
||||
then echo "$(1)"; else echo "$(2)"; fi)
|
||||
|
||||
# Helper to pass comma character to make functions (use with `$(,)` to pass in `$(call ...)` arguments)
|
||||
, := ,
|
@ -372,4 +372,4 @@
|
||||
"label": "~",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -629,4 +629,4 @@
|
||||
"label": "(narrow non-breaking space)",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -376,4 +376,4 @@
|
||||
"label": "₢",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -638,4 +638,4 @@
|
||||
"label": "÷",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -299,4 +299,4 @@
|
||||
"label": "?",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -400,4 +400,4 @@
|
||||
"label": "§",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -432,4 +432,4 @@
|
||||
"label": "*",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -356,4 +356,4 @@
|
||||
"label": "µ",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -299,4 +299,4 @@
|
||||
"label": ":",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -314,4 +314,4 @@
|
||||
"label": "@",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -299,4 +299,4 @@
|
||||
"label": "\"",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -364,4 +364,4 @@
|
||||
"label": "ž",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -593,4 +593,4 @@
|
||||
"label": "…",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -356,4 +356,4 @@
|
||||
"label": "µ",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -364,4 +364,4 @@
|
||||
"label": "¤",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -620,4 +620,4 @@
|
||||
"label": "≠",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -673,4 +673,4 @@
|
||||
"label": "±",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -356,4 +356,4 @@
|
||||
"label": "µ",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -653,4 +653,4 @@
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -388,4 +388,4 @@
|
||||
"label": "©",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -344,4 +344,4 @@
|
||||
"label": "÷",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -432,4 +432,4 @@
|
||||
"label": "*",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -352,4 +352,4 @@
|
||||
"label": "µ",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -352,4 +352,4 @@
|
||||
"label": "´ (dead)",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -361,4 +361,4 @@
|
||||
"label": "}",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -681,4 +681,4 @@
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -685,4 +685,4 @@
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -327,4 +327,4 @@
|
||||
"label": "_",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -307,4 +307,4 @@
|
||||
"label": "?",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -437,4 +437,4 @@
|
||||
"label": "¨ (dead)",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -372,4 +372,4 @@
|
||||
"label": "\\",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -365,4 +365,4 @@
|
||||
"label": "+",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -214,4 +214,4 @@
|
||||
"label": "(layer 4)",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -113,4 +113,4 @@
|
||||
"key": "NO_MU"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -299,4 +299,4 @@
|
||||
"label": "?",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -352,4 +352,4 @@
|
||||
"label": "µ",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -83,4 +83,4 @@
|
||||
"key": "PV_U"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -70,4 +70,4 @@
|
||||
"key": "PD_U"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -352,4 +352,4 @@
|
||||
"label": "Ń",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -352,4 +352,4 @@
|
||||
"label": "€",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -617,4 +617,4 @@
|
||||
"label": "–",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -441,4 +441,4 @@
|
||||
"label": "»",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -288,4 +288,4 @@
|
||||
"label": "₽",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -304,4 +304,4 @@
|
||||
"label": "€",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -404,4 +404,4 @@
|
||||
"label": "§",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -440,4 +440,4 @@
|
||||
"label": "}",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -400,4 +400,4 @@
|
||||
"label": "§",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -356,4 +356,4 @@
|
||||
"label": "}",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -356,4 +356,4 @@
|
||||
"label": "}",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -340,4 +340,4 @@
|
||||
"label": "`",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -356,4 +356,4 @@
|
||||
"label": "µ",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -639,4 +639,4 @@
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -637,4 +637,4 @@
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -639,4 +639,4 @@
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -637,4 +637,4 @@
|
||||
"label": "—",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -376,4 +376,4 @@
|
||||
"label": "\\",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -376,4 +376,4 @@
|
||||
"label": "\\",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -477,4 +477,4 @@
|
||||
"label": "º",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -372,4 +372,4 @@
|
||||
"label": "` (dead)",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -350,4 +350,4 @@
|
||||
"label": "Á"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -292,4 +292,4 @@
|
||||
"label": "ґ",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -585,4 +585,4 @@
|
||||
"label": "̉ (dead)",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -505,4 +505,4 @@
|
||||
"label": "¢",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -573,4 +573,4 @@
|
||||
"label": "̉ (dead)",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -299,4 +299,4 @@
|
||||
"label": "?",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -299,4 +299,4 @@
|
||||
"label": "?",
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -93,4 +93,4 @@
|
||||
"key": "SAFE_RANGE"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -225,4 +225,4 @@
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -246,4 +246,4 @@
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -225,4 +225,4 @@
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -37,4 +37,4 @@
|
||||
"key": "SQ_SCLR"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -17,4 +17,4 @@
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -248,4 +248,4 @@
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -66,4 +66,4 @@
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
55
data/constants/module_hooks/1.1.0.hjson
Normal file
55
data/constants/module_hooks/1.1.0.hjson
Normal file
@ -0,0 +1,55 @@
|
||||
{
|
||||
pointing_device_init: {
|
||||
ret_type: void
|
||||
args: void
|
||||
guard: defined(POINTING_DEVICE_ENABLE)
|
||||
}
|
||||
pointing_device_task: {
|
||||
ret_type: report_mouse_t
|
||||
args: report_mouse_t mouse_report
|
||||
call_params: mouse_report
|
||||
guard: defined(POINTING_DEVICE_ENABLE)
|
||||
header: report.h
|
||||
}
|
||||
rgb_matrix_indicators: {
|
||||
ret_type: bool
|
||||
args: void
|
||||
guard: defined(RGB_MATRIX_ENABLE)
|
||||
header: rgb_matrix.h
|
||||
}
|
||||
rgb_matrix_indicators_advanced: {
|
||||
ret_type: bool
|
||||
args: uint8_t led_min, uint8_t led_max
|
||||
call_params: led_min, led_max
|
||||
guard: defined(RGB_MATRIX_ENABLE)
|
||||
header: rgb_matrix.h
|
||||
}
|
||||
led_matrix_indicators: {
|
||||
ret_type: bool
|
||||
args: void
|
||||
guard: defined(LED_MATRIX_ENABLE)
|
||||
header: led_matrix.h
|
||||
}
|
||||
led_matrix_indicators_advanced: {
|
||||
ret_type: bool
|
||||
args: uint8_t led_min, uint8_t led_max
|
||||
call_params: led_min, led_max
|
||||
guard: defined(LED_MATRIX_ENABLE)
|
||||
header: led_matrix.h
|
||||
}
|
||||
default_layer_state_set: {
|
||||
ret_type: layer_state_t
|
||||
args: layer_state_t state
|
||||
call_params: state
|
||||
guard: !defined(NO_ACTION_LAYER)
|
||||
header: action_layer.h
|
||||
}
|
||||
layer_state_set: {
|
||||
ret_type: layer_state_t
|
||||
args: layer_state_t state
|
||||
call_params: state
|
||||
guard: !defined(NO_ACTION_LAYER)
|
||||
header: action_layer.h
|
||||
}
|
||||
|
||||
}
|
3
data/constants/module_hooks/1.1.1.hjson
Normal file
3
data/constants/module_hooks/1.1.1.hjson
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
// This version exists to signify addition of LED/RGB effect support.
|
||||
}
|
@ -64,6 +64,9 @@
|
||||
"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},
|
||||
|
||||
// host
|
||||
"NKRO_DEFAULT_ON": {"info_key": "host.default.nkro", "value_type": "bool"},
|
||||
|
||||
// Layer locking
|
||||
"LAYER_LOCK_IDLE_TIMEOUT": {"info_key": "layer_lock.timeout", "value_type": "int"},
|
||||
|
||||
@ -201,6 +204,7 @@
|
||||
|
||||
// Tapping
|
||||
"CHORDAL_HOLD": {"info_key": "tapping.chordal_hold", "value_type": "flag"},
|
||||
"FLOW_TAP_TERM": {"info_key": "tapping.flow_tap_term", "value_type": "int"},
|
||||
"HOLD_ON_OTHER_KEY_PRESS": {"info_key": "tapping.hold_on_other_key_press", "value_type": "flag"},
|
||||
"HOLD_ON_OTHER_KEY_PRESS_PER_KEY": {"info_key": "tapping.hold_on_other_key_press_per_key", "value_type": "flag"},
|
||||
"PERMISSIVE_HOLD": {"info_key": "tapping.permissive_hold", "value_type": "flag"},
|
||||
@ -214,7 +218,6 @@
|
||||
"TAPPING_TOGGLE": {"info_key": "tapping.toggle", "value_type": "int"},
|
||||
|
||||
// USB
|
||||
"FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "flag"},
|
||||
"USB_MAX_POWER_CONSUMPTION": {"info_key": "usb.max_power", "value_type": "int"},
|
||||
"USB_POLLING_INTERVAL_MS": {"info_key": "usb.polling_interval", "value_type": "int"},
|
||||
"USB_SUSPEND_WAKEUP_DELAY": {"info_key": "usb.suspend_wakeup_delay", "value_type": "int"},
|
||||
@ -252,6 +255,7 @@
|
||||
"PRODUCT": {"info_key": "keyboard_name", "warn_duplicate": false, "value_type": "str", "deprecated": true, "replace_with": "`keyboard_name` in info.json"},
|
||||
"PRODUCT_ID": {"info_key": "usb.pid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.pid` in info.json"},
|
||||
"VENDOR_ID": {"info_key": "usb.vid", "value_type": "hex", "deprecated": true, "replace_with": "`usb.vid` in info.json"},
|
||||
"FORCE_NKRO": {"info_key": "usb.force_nkro", "value_type": "flag", "deprecated": true, "replace_with": "`host.default.nkro` in info.json"},
|
||||
|
||||
// Items we want flagged in lint
|
||||
"VIAL_KEYBOARD_UID": {"info_key": "_invalid.vial_uid", "invalid": true},
|
||||
|
74
data/mappings/info_defaults.hjson
Normal file
74
data/mappings/info_defaults.hjson
Normal file
@ -0,0 +1,74 @@
|
||||
{
|
||||
"bootmagic": {
|
||||
"matrix": [0, 0]
|
||||
},
|
||||
"backlight": {
|
||||
"default": {
|
||||
"on": true
|
||||
},
|
||||
"breathing_period": 6,
|
||||
"levels": 3,
|
||||
"on_state": 1
|
||||
},
|
||||
"debounce": 5,
|
||||
"features": {
|
||||
"command": false,
|
||||
"console": false
|
||||
},
|
||||
"indicators": {
|
||||
"on_state": 1
|
||||
},
|
||||
"led_matrix": {
|
||||
"default": {
|
||||
"animation": "solid",
|
||||
"on": true,
|
||||
"val": 255,
|
||||
"speed": 128
|
||||
},
|
||||
"led_flush_limit": 16,
|
||||
"max_brightness": 255,
|
||||
"sleep": false,
|
||||
"speed_steps": 16,
|
||||
"val_steps": 16
|
||||
},
|
||||
"rgblight": {
|
||||
"default": {
|
||||
"animation": "static_light",
|
||||
"on": true,
|
||||
"hue": 0,
|
||||
"sat": 255,
|
||||
"val": 255,
|
||||
"speed": 0
|
||||
},
|
||||
"brightness_steps": 17,
|
||||
"hue_steps": 8,
|
||||
"max_brightness": 255,
|
||||
"saturation_steps": 17,
|
||||
"sleep": false
|
||||
},
|
||||
"rgb_matrix": {
|
||||
"default": {
|
||||
"animation": "cycle_left_right",
|
||||
"on": true,
|
||||
"hue": 0,
|
||||
"sat": 255,
|
||||
"val": 255,
|
||||
"speed": 128
|
||||
},
|
||||
"hue_steps": 8,
|
||||
"led_flush_limit": 16,
|
||||
"max_brightness": 255,
|
||||
"sat_steps": 16,
|
||||
"sleep": false,
|
||||
"speed_steps": 16,
|
||||
"val_steps": 16
|
||||
},
|
||||
"split": {
|
||||
"serial": {
|
||||
"driver": "bitbang"
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
"driver": "bitbang"
|
||||
}
|
||||
}
|
@ -53,8 +53,8 @@
|
||||
"WS2812_DRIVER": {"info_key": "ws2812.driver"},
|
||||
|
||||
// Items we want flagged in lint
|
||||
"CTPC": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
|
||||
"CONVERT_TO_PROTON_C": {"info_key": "_deprecated.ctpc", "deprecated": true, "replace_with": "CONVERT_TO=proton_c"},
|
||||
"DEFAULT_FOLDER": {"info_key": "_deprecated.default_folder", "deprecated": true},
|
||||
"CTPC": {"info_key": "_invalid.ctpc", "invalid": true, "replace_with": "CONVERT_TO=proton_c"},
|
||||
"CONVERT_TO_PROTON_C": {"info_key": "_invalid.ctpc", "invalid": true, "replace_with": "CONVERT_TO=proton_c"},
|
||||
"VIAL_ENABLE": {"info_key": "_invalid.vial", "invalid": true}
|
||||
}
|
||||
|
@ -146,6 +146,9 @@
|
||||
"daisy": {
|
||||
"target": "ktec/daisy"
|
||||
},
|
||||
"deemen17/de60": {
|
||||
"target": "deemen17/de60/r1"
|
||||
},
|
||||
"dp3000": {
|
||||
"target": "dp3000/rev1"
|
||||
},
|
||||
@ -347,6 +350,9 @@
|
||||
"keycapsss/plaid_pad": {
|
||||
"target": "keycapsss/plaid_pad/rev1"
|
||||
},
|
||||
"keyten/kt60hs_t": {
|
||||
"target": "keyten/kt60hs_t/v1"
|
||||
},
|
||||
"kira75": {
|
||||
"target": "kira/kira75"
|
||||
},
|
||||
@ -581,6 +587,9 @@
|
||||
"ploopyco/trackball": {
|
||||
"target": "ploopyco/trackball/rev1_005"
|
||||
},
|
||||
"plywrks/ply8x": {
|
||||
"target": "plywrks/ply8x/solder"
|
||||
},
|
||||
"polilla": {
|
||||
"target": "polilla/rev1"
|
||||
},
|
||||
@ -1033,7 +1042,7 @@
|
||||
"target": "kprepublic/bm68hsrgb/rev1"
|
||||
},
|
||||
"late9/rev1": {
|
||||
"target": "rookiebwoy/late9/rev1"
|
||||
"target": "ivndbt/late9/rev1"
|
||||
},
|
||||
"latin17rgb": {
|
||||
"target": "latincompass/latin17rgb"
|
||||
@ -1198,7 +1207,7 @@
|
||||
"target": "spaceholdings/nebula68b"
|
||||
},
|
||||
"neopad/rev1": {
|
||||
"target": "rookiebwoy/neopad/rev1"
|
||||
"target": "ivndbt/neopad/rev1"
|
||||
},
|
||||
"niu_mini": {
|
||||
"target": "kbdfans/niu_mini"
|
||||
@ -2095,10 +2104,16 @@
|
||||
"target": "rmi_kb/wete/v2"
|
||||
},
|
||||
"rookiebwoy/late9": {
|
||||
"target": "rookiebwoy/late9/rev1"
|
||||
"target": "ivndbt/late9/rev1"
|
||||
},
|
||||
"rookiebwoy/neopad": {
|
||||
"target": "rookiebwoy/neopad/rev1"
|
||||
"target": "ivndbt/neopad/rev1"
|
||||
},
|
||||
"ivndbt/late9": {
|
||||
"target": "ivndbt/late9/rev1"
|
||||
},
|
||||
"ivndbt/neopad": {
|
||||
"target": "ivndbt/neopad/rev1"
|
||||
},
|
||||
"rura66": {
|
||||
"target": "rura66/rev1"
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"$id": "qmk.api.keyboard.v1",
|
||||
"allOf": [
|
||||
{"$ref": "qmk.keyboard.v1"},
|
||||
{"$ref": "./keyboard.jsonschema#"},
|
||||
{
|
||||
"properties": {
|
||||
"keymaps": {
|
||||
@ -10,8 +10,8 @@
|
||||
"url": {"type": "string"}
|
||||
}
|
||||
},
|
||||
"parse_errors": {"$ref": "qmk.definitions.v1#/string_array"},
|
||||
"parse_warnings": {"$ref": "qmk.definitions.v1#/string_array"},
|
||||
"parse_errors": {"$ref": "./definitions.jsonschema#/string_array"},
|
||||
"parse_warnings": {"$ref": "./definitions.jsonschema#/string_array"},
|
||||
"processor_type": {"type": "string"},
|
||||
"protocol": {"type": "string"},
|
||||
"keyboard_folder": {"type": "string"},
|
||||
|
@ -5,13 +5,14 @@
|
||||
"type": "object",
|
||||
"required": ["module_name", "maintainer"],
|
||||
"properties": {
|
||||
"module_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
||||
"maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
||||
"module_name": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||
"maintainer": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||
"license": {"type": "string"},
|
||||
"url": {
|
||||
"type": "string",
|
||||
"format": "uri"
|
||||
},
|
||||
"keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
|
||||
"features": {"$ref": "qmk.keyboard.v1#/definitions/features_config"}
|
||||
"keycodes": {"$ref": "./definitions.jsonschema#/keycode_decl_array"},
|
||||
"features": {"$ref": "./keyboard.jsonschema#/definitions/features_config"}
|
||||
}
|
||||
}
|
||||
|
@ -17,9 +17,9 @@
|
||||
"additionalProperties": false,
|
||||
"required": ["pin_a", "pin_b"],
|
||||
"properties": {
|
||||
"pin_a": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"pin_b": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"pin_a": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"pin_b": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"resolution": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -28,22 +28,22 @@
|
||||
"dip_switch_config": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
|
||||
"pins": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}
|
||||
}
|
||||
},
|
||||
"features_config": {
|
||||
"$ref": "qmk.definitions.v1#/boolean_array",
|
||||
"propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
|
||||
"$ref": "./definitions.jsonschema#/boolean_array",
|
||||
"propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"},
|
||||
"not": {"required": ["lto"]}
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"not": {"required": ["vendorId", "productId"]}, // reject via keys...
|
||||
"properties": {
|
||||
"keyboard_name": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
||||
"keyboard_folder": {"$ref": "qmk.definitions.v1#/keyboard"},
|
||||
"maintainer": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
||||
"manufacturer": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
||||
"keyboard_name": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||
"keyboard_folder": {"$ref": "./definitions.jsonschema#/keyboard"},
|
||||
"maintainer": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||
"manufacturer": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||
"url": {
|
||||
"type": "string",
|
||||
"format": "uri"
|
||||
@ -84,6 +84,7 @@
|
||||
"STM32F407",
|
||||
"STM32F411",
|
||||
"STM32F446",
|
||||
"STM32G0B1",
|
||||
"STM32G431",
|
||||
"STM32G474",
|
||||
"STM32H723",
|
||||
@ -118,8 +119,8 @@
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"data_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"clock_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"default_brightness": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
@ -144,13 +145,13 @@
|
||||
"enum": ["dac_additive", "dac_basic", "pwm_software", "pwm_hardware"]
|
||||
},
|
||||
"macro_beep": {"type": "boolean"},
|
||||
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
|
||||
"pins": {"$ref": "./definitions.jsonschema#/mcu_pin_array"},
|
||||
"power_control": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"on_state": {"$ref": "qmk.definitions.v1#/bit"},
|
||||
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
|
||||
"on_state": {"$ref": "./definitions.jsonschema#/bit"},
|
||||
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}
|
||||
}
|
||||
},
|
||||
"voices": {"type": "boolean"}
|
||||
@ -170,20 +171,20 @@
|
||||
"properties": {
|
||||
"on": {"type": "boolean"},
|
||||
"breathing": {"type": "boolean"},
|
||||
"brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
||||
"brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||
}
|
||||
},
|
||||
"breathing": {"type": "boolean"},
|
||||
"breathing_period": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
||||
"breathing_period": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"levels": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 31
|
||||
},
|
||||
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
||||
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"pins": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
|
||||
"on_state": {"$ref": "qmk.definitions.v1#/bit"},
|
||||
"max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"pins": {"$ref": "./definitions.jsonschema#/mcu_pin_array"},
|
||||
"on_state": {"$ref": "./definitions.jsonschema#/bit"},
|
||||
"as_caps_lock": {"type": "boolean"}
|
||||
}
|
||||
},
|
||||
@ -268,7 +269,7 @@
|
||||
"type": "string",
|
||||
"enum": ["COL2ROW", "ROW2COL"]
|
||||
},
|
||||
"debounce": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"debounce": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"caps_word": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
@ -276,20 +277,20 @@
|
||||
"enabled": {"type": "boolean"},
|
||||
"both_shifts_turns_on": {"type": "boolean"},
|
||||
"double_tap_shift_turns_on": {"type": "boolean"},
|
||||
"idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"idle_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"invert_on_shift": {"type": "boolean"}
|
||||
}
|
||||
},
|
||||
"combo": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"term": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"count": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"term": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
}
|
||||
},
|
||||
"community_layouts": {
|
||||
"type": "array",
|
||||
"items": {"$ref": "qmk.definitions.v1#/filename"}
|
||||
"items": {"$ref": "./definitions.jsonschema#/filename"}
|
||||
},
|
||||
"dip_switch": {
|
||||
"$ref": "#/definitions/dip_switch_config",
|
||||
@ -319,10 +320,10 @@
|
||||
"properties": {
|
||||
"driver": {
|
||||
"type": "string",
|
||||
"enum": ["custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"]
|
||||
"enum": ["none", "custom", "embedded_flash", "legacy", "rp2040_flash", "spi_flash"]
|
||||
},
|
||||
"backing_size": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"logical_size": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"backing_size": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"logical_size": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -337,12 +338,12 @@
|
||||
"indicators": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"caps_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"num_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"scroll_lock": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"compose": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"kana": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"on_state": {"$ref": "qmk.definitions.v1#/bit"}
|
||||
"caps_lock": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"num_lock": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"scroll_lock": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"compose": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"kana": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"on_state": {"$ref": "./definitions.jsonschema#/bit"}
|
||||
}
|
||||
},
|
||||
"joystick": {
|
||||
@ -350,8 +351,8 @@
|
||||
"properties": {
|
||||
"enabled": {"type": "boolean"},
|
||||
"driver": {"type": "string"},
|
||||
"button_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"axis_resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"button_count": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"axis_resolution": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"axes": {
|
||||
"type": "object",
|
||||
"propertyNames": {"enum": ["x", "y", "z", "rx", "ry", "rz"]},
|
||||
@ -360,10 +361,10 @@
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"input_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"low": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"rest": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"high": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"input_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"low": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"rest": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"high": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -375,20 +376,20 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
|
||||
"keycodes": {"$ref": "./definitions.jsonschema#/keycode_decl_array"},
|
||||
"layer_lock": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
}
|
||||
},
|
||||
"layout_aliases": {
|
||||
"type": "object",
|
||||
"additionalProperties": {"$ref": "qmk.definitions.v1#/layout_macro"}
|
||||
"additionalProperties": {"$ref": "./definitions.jsonschema#/layout_macro"}
|
||||
},
|
||||
"layouts": {
|
||||
"type": "object",
|
||||
"propertyNames": {"$ref": "qmk.definitions.v1#/layout_macro"},
|
||||
"propertyNames": {"$ref": "./definitions.jsonschema#/layout_macro"},
|
||||
"additionalProperties": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
@ -403,7 +404,7 @@
|
||||
"additionalProperties": false,
|
||||
"required": ["x", "y"],
|
||||
"properties": {
|
||||
"encoder": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"encoder": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"label": {
|
||||
"type": "string",
|
||||
"pattern": "^[^\\n]*$"
|
||||
@ -417,13 +418,13 @@
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"r": {"$ref": "qmk.definitions.v1#/signed_decimal"},
|
||||
"rx": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
|
||||
"ry": {"$ref": "qmk.definitions.v1#/unsigned_decimal"},
|
||||
"h": {"$ref": "qmk.definitions.v1#/key_unit"},
|
||||
"w": {"$ref": "qmk.definitions.v1#/key_unit"},
|
||||
"x": {"$ref": "qmk.definitions.v1#/key_unit"},
|
||||
"y": {"$ref": "qmk.definitions.v1#/key_unit"},
|
||||
"r": {"$ref": "./definitions.jsonschema#/signed_decimal"},
|
||||
"rx": {"$ref": "./definitions.jsonschema#/unsigned_decimal"},
|
||||
"ry": {"$ref": "./definitions.jsonschema#/unsigned_decimal"},
|
||||
"h": {"$ref": "./definitions.jsonschema#/key_unit"},
|
||||
"w": {"$ref": "./definitions.jsonschema#/key_unit"},
|
||||
"x": {"$ref": "./definitions.jsonschema#/key_unit"},
|
||||
"y": {"$ref": "./definitions.jsonschema#/key_unit"},
|
||||
"hand": {
|
||||
"type": "string",
|
||||
"enum": ["L", "R", "*"]
|
||||
@ -443,12 +444,24 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"host": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"default": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"nkro": {"type": "boolean"}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"leader_key": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"timing": {"type": "boolean"},
|
||||
"strict_processing": {"type": "boolean"},
|
||||
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
}
|
||||
},
|
||||
"matrix_pins": {
|
||||
@ -458,14 +471,14 @@
|
||||
"custom": {"type": "boolean"},
|
||||
"custom_lite": {"type": "boolean"},
|
||||
"ghost": {"type": "boolean"},
|
||||
"input_pressed_state": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"io_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"input_pressed_state": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"io_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"direct": {
|
||||
"type": "array",
|
||||
"items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
|
||||
"items": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}
|
||||
},
|
||||
"cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
|
||||
"rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
|
||||
"cols": {"$ref": "./definitions.jsonschema#/mcu_pin_array"},
|
||||
"rows": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}
|
||||
}
|
||||
},
|
||||
"modules": {
|
||||
@ -478,18 +491,18 @@
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {"type": "boolean"},
|
||||
"delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
||||
"interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
||||
"max_speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
||||
"time_to_max": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
||||
"wheel_delay": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
||||
"delay": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"interval": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"max_speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"time_to_max": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"wheel_delay": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||
}
|
||||
},
|
||||
"oneshot": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"tap_toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"tap_toggle": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
}
|
||||
},
|
||||
"led_matrix": {
|
||||
@ -497,7 +510,7 @@
|
||||
"properties": {
|
||||
"animations": {
|
||||
"type": "object",
|
||||
"propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
|
||||
"propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"},
|
||||
"additionalProperties": {"type": "boolean"}
|
||||
},
|
||||
"default": {
|
||||
@ -506,8 +519,8 @@
|
||||
"properties": {
|
||||
"on": {"type": "boolean"},
|
||||
"animation": {"type": "string"},
|
||||
"val": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
||||
"speed": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
||||
"val": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||
}
|
||||
},
|
||||
"driver": {
|
||||
@ -533,27 +546,28 @@
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"maxItems": 2,
|
||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
||||
"items": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||
},
|
||||
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
||||
"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"},
|
||||
"max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"val_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"speed_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"led_flush_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"led_process_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"react_on_keyup": {"type": "boolean"},
|
||||
"sleep": {"type": "boolean"},
|
||||
"split_count": {
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"maxItems": 2,
|
||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"items": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
},
|
||||
"layout": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["x", "y"],
|
||||
"properties": {
|
||||
"matrix": {
|
||||
"type": "array",
|
||||
@ -564,9 +578,9 @@
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"x": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"y": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
||||
"x": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"y": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"flags": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -577,7 +591,7 @@
|
||||
"properties": {
|
||||
"animations": {
|
||||
"type": "object",
|
||||
"propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
|
||||
"propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"},
|
||||
"additionalProperties": {"type": "boolean"}
|
||||
},
|
||||
"default": {
|
||||
@ -586,10 +600,10 @@
|
||||
"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"}
|
||||
"hue": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"sat": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"val": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||
}
|
||||
},
|
||||
"driver": {
|
||||
@ -617,29 +631,30 @@
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"maxItems": 2,
|
||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
||||
"items": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||
},
|
||||
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
||||
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"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"},
|
||||
"max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"hue_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"sat_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"val_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"speed_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"led_flush_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"led_process_limit": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"react_on_keyup": {"type": "boolean"},
|
||||
"sleep": {"type": "boolean"},
|
||||
"split_count": {
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"maxItems": 2,
|
||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"items": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
},
|
||||
"layout": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["x", "y"],
|
||||
"properties": {
|
||||
"matrix": {
|
||||
"type": "array",
|
||||
@ -650,9 +665,9 @@
|
||||
"minimum": 0
|
||||
}
|
||||
},
|
||||
"x": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"y": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"flags": {"$ref": "qmk.definitions.v1#/unsigned_int_8"}
|
||||
"x": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"y": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"flags": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -664,27 +679,27 @@
|
||||
"properties": {
|
||||
"animations": {
|
||||
"type": "object",
|
||||
"propertyNames": {"$ref": "qmk.definitions.v1#/snake_case"},
|
||||
"propertyNames": {"$ref": "./definitions.jsonschema#/snake_case"},
|
||||
"additionalProperties": {"type": "boolean"}
|
||||
},
|
||||
"brightness_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"brightness_steps": {"$ref": "./definitions.jsonschema#/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"}
|
||||
"hue": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"sat": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"val": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"speed": {"$ref": "./definitions.jsonschema#/unsigned_int_8"}
|
||||
}
|
||||
},
|
||||
"driver": {
|
||||
"type": "string",
|
||||
"enum": ["apa102", "custom", "ws2812"]
|
||||
},
|
||||
"hue_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"hue_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"layers": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
@ -699,29 +714,29 @@
|
||||
"override_rgb": {"type": "boolean"}
|
||||
}
|
||||
},
|
||||
"led_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"led_count": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"led_map": {
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"items": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
},
|
||||
"max_brightness": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
||||
"max_brightness": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"pin": {
|
||||
"$ref": "qmk.definitions.v1#/mcu_pin",
|
||||
"$ref": "./definitions.jsonschema#/mcu_pin",
|
||||
"$comment": "Deprecated: use ws2812.pin instead"
|
||||
},
|
||||
"rgbw": {
|
||||
"type": "boolean",
|
||||
"$comment": "Deprecated: use ws2812.rgbw instead"
|
||||
},
|
||||
"saturation_steps": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"saturation_steps": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"sleep": {"type": "boolean"},
|
||||
"split": {"type": "boolean"},
|
||||
"split_count": {
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"maxItems": 2,
|
||||
"items": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"items": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -730,8 +745,8 @@
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"enabled": {"type": "boolean"},
|
||||
"unlock_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"idle_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"unlock_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"idle_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"unlock_sequence": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
@ -765,8 +780,8 @@
|
||||
"properties": {
|
||||
"enabled": {"type": "boolean"},
|
||||
"mouse_enabled": {"type": "boolean"},
|
||||
"clock_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"data_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"clock_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"data_pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"driver": {
|
||||
"type": "string",
|
||||
"enum": ["busywait", "interrupt", "usart", "vendor"]
|
||||
@ -803,11 +818,11 @@
|
||||
"properties": {
|
||||
"direct": {
|
||||
"type": "array",
|
||||
"items": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
|
||||
"items": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}
|
||||
},
|
||||
"cols": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
|
||||
"rows": {"$ref": "qmk.definitions.v1#/mcu_pin_array"},
|
||||
"unused": {"$ref": "qmk.definitions.v1#/mcu_pin_array"}
|
||||
"cols": {"$ref": "./definitions.jsonschema#/mcu_pin_array"},
|
||||
"rows": {"$ref": "./definitions.jsonschema#/mcu_pin_array"},
|
||||
"unused": {"$ref": "./definitions.jsonschema#/mcu_pin_array"}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -834,16 +849,16 @@
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"matrix_grid": {
|
||||
"$ref": "qmk.definitions.v1#/mcu_pin_array",
|
||||
"$ref": "./definitions.jsonschema#/mcu_pin_array",
|
||||
"minItems": 2,
|
||||
"maxItems": 2
|
||||
}
|
||||
}
|
||||
},
|
||||
"soft_serial_pin": {
|
||||
"$ref": "qmk.definitions.v1#/mcu_pin",
|
||||
"$ref": "./definitions.jsonschema#/mcu_pin",
|
||||
"$comment": "Deprecated: use split.serial.pin instead"
|
||||
},
|
||||
"soft_serial_speed": {
|
||||
@ -859,7 +874,7 @@
|
||||
"type": "string",
|
||||
"enum": ["bitbang", "usart", "vendor"]
|
||||
},
|
||||
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
|
||||
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"}
|
||||
}
|
||||
},
|
||||
"transport": {
|
||||
@ -887,7 +902,7 @@
|
||||
}
|
||||
},
|
||||
"watchdog": {"type": "boolean"},
|
||||
"watchdog_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"watchdog_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"sync_matrix_state": {
|
||||
"type": "boolean",
|
||||
"$comment": "Deprecated: use sync.matrix_state instead"
|
||||
@ -903,8 +918,8 @@
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"enabled": {"type": "boolean"},
|
||||
"polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"polling_interval": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
}
|
||||
},
|
||||
"main": {
|
||||
@ -914,7 +929,7 @@
|
||||
},
|
||||
"matrix_grid": {
|
||||
"type": "array",
|
||||
"items": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"items": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"$comment": "Deprecated: use split.handedness.matrix_grid instead"
|
||||
}
|
||||
}
|
||||
@ -936,9 +951,9 @@
|
||||
"permissive_hold_per_key": {"type": "boolean"},
|
||||
"retro": {"type": "boolean"},
|
||||
"retro_per_key": {"type": "boolean"},
|
||||
"term": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"term": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"term_per_key": {"type": "boolean"},
|
||||
"toggle": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"toggle": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
}
|
||||
},
|
||||
"usb": {
|
||||
@ -946,16 +961,20 @@
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"device_ver": {
|
||||
"$ref": "qmk.definitions.v1#/hex_number_4d",
|
||||
"$ref": "./definitions.jsonschema#/hex_number_4d",
|
||||
"$comment": "Deprecated: use device_version instead"
|
||||
},
|
||||
"device_version": {"$ref": "qmk.definitions.v1#/bcd_version"},
|
||||
"force_nkro": {"type": "boolean"},
|
||||
"pid": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
|
||||
"vid": {"$ref": "qmk.definitions.v1#/hex_number_4d"},
|
||||
"max_power": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"device_version": {"$ref": "./definitions.jsonschema#/bcd_version"},
|
||||
"force_nkro": {
|
||||
"type": "boolean",
|
||||
"$comment": "Deprecated: use host.default.nkro instead"
|
||||
|
||||
},
|
||||
"pid": {"$ref": "./definitions.jsonschema#/hex_number_4d"},
|
||||
"vid": {"$ref": "./definitions.jsonschema#/hex_number_4d"},
|
||||
"max_power": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"no_startup_check": {"type": "boolean"},
|
||||
"polling_interval": {"$ref": "qmk.definitions.v1#/unsigned_int_8"},
|
||||
"polling_interval": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"shared_endpoint": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
@ -964,7 +983,7 @@
|
||||
"mouse": {"type": "boolean"}
|
||||
}
|
||||
},
|
||||
"suspend_wakeup_delay": {"$ref": "qmk.definitions.v1#/unsigned_int"},
|
||||
"suspend_wakeup_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"wait_for_enumeration": {"type": "boolean"}
|
||||
}
|
||||
},
|
||||
@ -972,9 +991,9 @@
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"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"},
|
||||
"keys_per_scan": {"$ref": "./definitions.jsonschema#/unsigned_int_8"},
|
||||
"tap_keycode_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"tap_capslock_delay": {"$ref": "./definitions.jsonschema#/unsigned_int"},
|
||||
"locking": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
@ -989,10 +1008,10 @@
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"properties": {
|
||||
"esc_output": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"esc_input": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"led": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"speaker": {"$ref": "qmk.definitions.v1#/mcu_pin"}
|
||||
"esc_output": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"esc_input": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"led": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"speaker": {"$ref": "./definitions.jsonschema#/mcu_pin"}
|
||||
}
|
||||
},
|
||||
"ws2812": {
|
||||
@ -1003,10 +1022,10 @@
|
||||
"type": "string",
|
||||
"enum": ["bitbang", "custom", "i2c", "pwm", "spi", "vendor"]
|
||||
},
|
||||
"pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
|
||||
"pin": {"$ref": "./definitions.jsonschema#/mcu_pin"},
|
||||
"rgbw": {"type": "boolean"},
|
||||
"i2c_address": {"$ref": "qmk.definitions.v1#/hex_number_2d"},
|
||||
"i2c_timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
|
||||
"i2c_address": {"$ref": "./definitions.jsonschema#/hex_number_2d"},
|
||||
"i2c_timeout": {"$ref": "./definitions.jsonschema#/unsigned_int"}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -30,10 +30,10 @@
|
||||
"keycodes": {
|
||||
"type": "object",
|
||||
"propertyNames": {
|
||||
"$ref": "qmk.definitions.v1#/hex_number_4d"
|
||||
"$ref": "./definitions.jsonschema#/hex_number_4d"
|
||||
},
|
||||
"additionalProperties": {
|
||||
"type": "object", // use 'qmk.definitions.v1#/keycode_decl' when problem keycodes are removed
|
||||
"type": "object", // use './definitions.jsonschema#/keycode_decl' when problem keycodes are removed
|
||||
"required": [
|
||||
"key"
|
||||
],
|
||||
|
@ -10,10 +10,10 @@
|
||||
"minLength": 1,
|
||||
"pattern": "^[a-z][0-9a-z_]*$"
|
||||
},
|
||||
"host_language": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
||||
"keyboard": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
||||
"keymap": {"$ref": "qmk.definitions.v1#/text_identifier"},
|
||||
"layout": {"$ref": "qmk.definitions.v1#/layout_macro"},
|
||||
"host_language": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||
"keyboard": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||
"keymap": {"$ref": "./definitions.jsonschema#/text_identifier"},
|
||||
"layout": {"$ref": "./definitions.jsonschema#/layout_macro"},
|
||||
"layers": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
@ -55,11 +55,11 @@
|
||||
"keycodes": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "qmk.definitions.v1#/text_identifier"
|
||||
"$ref": "./definitions.jsonschema#/text_identifier"
|
||||
}
|
||||
},
|
||||
"duration": {
|
||||
"$ref": "qmk.definitions.v1#/unsigned_int"
|
||||
"$ref": "./definitions.jsonschema#/unsigned_int"
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -67,8 +67,8 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
|
||||
"config": {"$ref": "qmk.keyboard.v1"},
|
||||
"keycodes": {"$ref": "./definitions.jsonschema#/keycode_decl_array"},
|
||||
"config": {"$ref": "./keyboard.jsonschema#"},
|
||||
"notes": {
|
||||
"type": "string"
|
||||
},
|
||||
|
@ -6,8 +6,8 @@
|
||||
"definitions": {
|
||||
"build_target": {
|
||||
"oneOf": [
|
||||
{"$ref": "qmk.definitions.v1#/keyboard_keymap_tuple"},
|
||||
{"$ref": "qmk.definitions.v1#/json_file_path"}
|
||||
{"$ref": "./definitions.jsonschema#/keyboard_keymap_tuple"},
|
||||
{"$ref": "./definitions.jsonschema#/json_file_path"}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
@ -6,9 +6,9 @@
|
||||
"definitions": {
|
||||
"build_target": {
|
||||
"oneOf": [
|
||||
{"$ref": "qmk.definitions.v1#/keyboard_keymap_tuple"},
|
||||
{"$ref": "qmk.definitions.v1#/keyboard_keymap_env"},
|
||||
{"$ref": "qmk.definitions.v1#/json_file_path"}
|
||||
{"$ref": "./definitions.jsonschema#/keyboard_keymap_tuple"},
|
||||
{"$ref": "./definitions.jsonschema#/keyboard_keymap_env"},
|
||||
{"$ref": "./definitions.jsonschema#/json_file_path"}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user