diff --git a/.editorconfig b/.editorconfig
index 3a537d01b284..692a84da6109 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -11,7 +11,8 @@ charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
-[{*.yaml,*.yml}] # To match GitHub Actions formatting
+ # To match GitHub Actions formatting
+[*.{yaml,yml}]
indent_size = 2
[*.md]
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index 0d4ca035c8e4..f2c70750dba3 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,7 +1,7 @@
blank_issues_enabled: false
contact_links:
- name: QMK Discord
- url: https://discord.gg/Uq7gcHh
+ url: https://discord.gg/qmk
about: Ask questions, discuss issues and features. Chill.
- name: OLKB Subreddit
url: https://www.reddit.com/r/olkb
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index d402488d407e..868237d95991 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,6 +1,5 @@
-
## Description
@@ -15,7 +14,7 @@
- [ ] New feature
- [ ] Enhancement/optimization
- [ ] Keyboard (addition or update)
-- [ ] Keymap/layout/userspace (addition or update)
+- [ ] Keymap/layout (addition or update)
- [ ] Documentation
## Issues Fixed or Closed by This PR
diff --git a/.github/labeler.yml b/.github/labeler.yml
index f0e72786b215..270cd1a81369 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -11,15 +11,15 @@ core:
- Makefile
- '*.mk'
dependencies:
- - all:
- - changed-files:
- - any-glob-to-any-file: lib/**
- - all-globs-to-all-files: '!lib/python/**'
+ - changed-files:
+ - all-globs-to-any-file:
+ - lib/**
+ - '!lib/python/**'
keyboard:
- - all:
- - changed-files:
- - any-glob-to-any-file: keyboards/**
- - all-globs-to-all-files: '!keyboards/**/keymaps/**'
+ - changed-files:
+ - all-globs-to-any-file:
+ - keyboards/**
+ - '!keyboards/**/keymaps/**'
keymap:
- changed-files:
- any-glob-to-any-file:
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 7f588fda6087..edce1a6e5c8d 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -56,7 +56,7 @@ jobs:
- name: Deploy
if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }}
- uses: JamesIves/github-pages-deploy-action@v4.6.3
+ uses: JamesIves/github-pages-deploy-action@v4.7.2
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages
diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml
index 1d7577dcef21..74c518fe0512 100644
--- a/.github/workflows/format.yml
+++ b/.github/workflows/format.yml
@@ -35,7 +35,7 @@ jobs:
- name: Get changed files
id: file_changes
- uses: tj-actions/changed-files@v44
+ uses: tj-actions/changed-files@v45
with:
use_rest_api: true
diff --git a/.github/workflows/format_push.yml b/.github/workflows/format_push.yml
index ea60fc95b450..c861b2c11128 100644
--- a/.github/workflows/format_push.yml
+++ b/.github/workflows/format_push.yml
@@ -47,7 +47,7 @@ jobs:
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
- uses: peter-evans/create-pull-request@v6
+ uses: peter-evans/create-pull-request@v7
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 22ddcaba796e..829ca6392c5e 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -27,7 +27,7 @@ jobs:
- name: Get changed files
id: file_changes
- uses: tj-actions/changed-files@v44
+ uses: tj-actions/changed-files@v45
with:
use_rest_api: true
diff --git a/.github/workflows/regen_push.yml b/.github/workflows/regen_push.yml
index 0f0141114134..9a05a9461dfe 100644
--- a/.github/workflows/regen_push.yml
+++ b/.github/workflows/regen_push.yml
@@ -34,7 +34,7 @@ jobs:
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
- uses: peter-evans/create-pull-request@v6
+ uses: peter-evans/create-pull-request@v7
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
diff --git a/.gitignore b/.gitignore
index c3f2f063cd18..20e706a2b59b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -118,4 +118,5 @@ compile_commands.json
# VIA(L) files that don't belong in QMK repo
via*.json
+/keyboards/**/keymaps/via/*
/keyboards/**/keymaps/vial/*
diff --git a/Doxyfile b/Doxyfile
index 42f2e70c0ec4..f8c60f5f84d6 100644
--- a/Doxyfile
+++ b/Doxyfile
@@ -145,7 +145,7 @@ FILE_PATTERNS = *.c \
RECURSIVE = YES
EXCLUDE =
EXCLUDE_SYMLINKS = NO
-EXCLUDE_PATTERNS = */protocol/arm_atsam/*
+EXCLUDE_PATTERNS =
EXCLUDE_SYMBOLS =
EXAMPLE_PATH =
EXAMPLE_PATTERNS = *
diff --git a/builddefs/build_full_test.mk b/builddefs/build_full_test.mk
index 63f9fea915db..5cae327c6c70 100644
--- a/builddefs/build_full_test.mk
+++ b/builddefs/build_full_test.mk
@@ -21,8 +21,10 @@ $(TEST_OUTPUT)_SRC := \
$(SRC) \
$(QUANTUM_PATH)/keymap_introspection.c \
tests/test_common/matrix.c \
+ tests/test_common/pointing_device_driver.c \
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 \
diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk
index f0788e55c99c..7d58c29462ac 100644
--- a/builddefs/build_keyboard.mk
+++ b/builddefs/build_keyboard.mk
@@ -34,10 +34,13 @@ ifeq ($(strip $(DUMP_CI_METADATA)),yes)
endif
# Force expansion
-TARGET := $(TARGET)
+override TARGET := $(TARGET)
ifneq ($(FORCE_LAYOUT),)
- TARGET := $(TARGET)_$(FORCE_LAYOUT)
+ override TARGET := $(TARGET)_$(FORCE_LAYOUT)
+endif
+ifneq ($(CONVERT_TO),)
+ override TARGET := $(TARGET)_$(CONVERT_TO)
endif
# Object files and generated keymap directory
@@ -58,9 +61,6 @@ ifdef SKIP_GIT
VERSION_H_FLAGS += --skip-git
endif
-# Generate the board's version.h file.
-$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(INTERMEDIATE_OUTPUT)/src/version.h)
-
# Determine which subfolders exist.
KEYBOARD_FOLDER_PATH_1 := $(KEYBOARD)
KEYBOARD_FOLDER_PATH_2 := $(patsubst %/,%,$(dir $(KEYBOARD_FOLDER_PATH_1)))
@@ -186,7 +186,10 @@ endif
# Have we found a keymap.json?
ifneq ("$(wildcard $(KEYMAP_JSON))", "")
ifneq ("$(wildcard $(KEYMAP_C))", "")
- $(call WARNING_MESSAGE,Keymap is specified as both keymap.json and keymap.c -- keymap.json file wins.)
+ # Allow a separately-found keymap.c next to keymap.json -- the keymap.c
+ # generator will include the other keymap.c in the process, if supplied.
+ OTHER_KEYMAP_C := $(KEYMAP_C)
+ OPT_DEFS += -DOTHER_KEYMAP_C=\"$(OTHER_KEYMAP_C)\"
endif
KEYMAP_PATH := $(KEYMAP_JSON_PATH)
@@ -194,8 +197,10 @@ ifneq ("$(wildcard $(KEYMAP_JSON))", "")
KEYMAP_C := $(INTERMEDIATE_OUTPUT)/src/keymap.c
KEYMAP_H := $(INTERMEDIATE_OUTPUT)/src/config.h
- # Load the keymap-level rules.mk if exists
- -include $(KEYMAP_PATH)/rules.mk
+ ifeq ($(OTHER_KEYMAP_C),)
+ # Load the keymap-level rules.mk if exists (and we havent already loaded it for keymap.c)
+ -include $(KEYMAP_PATH)/rules.mk
+ endif
# Load any rules.mk content from keymap.json
INFO_RULES_MK = $(shell $(QMK_BIN) generate-rules-mk --quiet --escape --output $(INTERMEDIATE_OUTPUT)/src/rules.mk $(KEYMAP_JSON))
@@ -212,12 +217,20 @@ $(INTERMEDIATE_OUTPUT)/src/config.h: $(KEYMAP_JSON)
$(eval CMD=$(QMK_BIN) generate-config-h --quiet --output $(KEYMAP_H) $(KEYMAP_JSON))
@$(BUILD_CMD)
-generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/keymap.c
+$(INTERMEDIATE_OUTPUT)/src/keymap.h: $(KEYMAP_JSON)
+ @$(SILENT) || printf "$(MSG_GENERATING) $@" | $(AWK_CMD)
+ $(eval CMD=$(QMK_BIN) generate-keymap-h --quiet --output $(INTERMEDIATE_OUTPUT)/src/keymap.h $(KEYMAP_JSON))
+ @$(BUILD_CMD)
+
+generated-files: $(INTERMEDIATE_OUTPUT)/src/config.h $(INTERMEDIATE_OUTPUT)/src/keymap.c $(INTERMEDIATE_OUTPUT)/src/keymap.h
endif
include $(BUILDDEFS_PATH)/converters.mk
+# Generate the board's version.h file.
+$(shell $(QMK_BIN) generate-version-h $(VERSION_H_FLAGS) -q -o $(INTERMEDIATE_OUTPUT)/src/version.h)
+
MCU_ORIG := $(MCU)
include $(wildcard $(PLATFORM_PATH)/*/mcu_selection.mk)
diff --git a/builddefs/build_test.mk b/builddefs/build_test.mk
index 2cc1134da5b3..d0de63c6f58b 100644
--- a/builddefs/build_test.mk
+++ b/builddefs/build_test.mk
@@ -47,7 +47,8 @@ PLATFORM:=TEST
PLATFORM_KEY:=test
BOOTLOADER_TYPE:=none
-ifeq ($(strip $(DEBUG)), 1)
+DEBUG ?= 0
+ifneq ($(strip $(DEBUG)), 0)
CONSOLE_ENABLE = yes
endif
diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk
index 68f9a1dd08a8..7bfd1436e715 100644
--- a/builddefs/common_features.mk
+++ b/builddefs/common_features.mk
@@ -28,6 +28,7 @@ QUANTUM_SRC += \
$(QUANTUM_DIR)/sync_timer.c \
$(QUANTUM_DIR)/logging/debug.c \
$(QUANTUM_DIR)/logging/sendchar.c \
+ $(QUANTUM_DIR)/process_keycode/process_default_layer.c \
VPATH += $(QUANTUM_DIR)/logging
# Fall back to lib/printf if there is no platform provided print
@@ -129,13 +130,13 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)
MOUSE_ENABLE := yes
VPATH += $(QUANTUM_DIR)/pointing_device
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device.c
- SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_drivers.c
SRC += $(QUANTUM_DIR)/pointing_device/pointing_device_auto_mouse.c
ifneq ($(strip $(POINTING_DEVICE_DRIVER)), custom)
SRC += drivers/sensors/$(strip $(POINTING_DEVICE_DRIVER)).c
OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(shell echo $(POINTING_DEVICE_DRIVER) | tr '[:lower:]' '[:upper:]'))
endif
OPT_DEFS += -DPOINTING_DEVICE_DRIVER_$(strip $(POINTING_DEVICE_DRIVER))
+ OPT_DEFS += -DPOINTING_DEVICE_DRIVER_NAME=$(strip $(POINTING_DEVICE_DRIVER))
ifeq ($(strip $(POINTING_DEVICE_DRIVER)), adns9800)
SPI_DRIVER_REQUIRED = yes
else ifeq ($(strip $(POINTING_DEVICE_DRIVER)), analog_joystick)
@@ -215,7 +216,7 @@ else
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 GD32VF103),)
+ 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
@@ -238,10 +239,6 @@ else
OPT_DEFS += -DEEPROM_DRIVER -DEEPROM_TRANSIENT
SRC += eeprom_driver.c eeprom_transient.c
endif
- else ifeq ($(PLATFORM),ARM_ATSAM)
- # arm_atsam EEPROM
- OPT_DEFS += -DEEPROM_SAMD
- SRC += eeprom_samd.c
else ifeq ($(PLATFORM),TEST)
# Test harness "EEPROM"
OPT_DEFS += -DEEPROM_TEST_HARNESS
@@ -282,18 +279,17 @@ ifneq ($(strip $(WEAR_LEVELING_DRIVER)),none)
endif
endif
-VALID_FLASH_DRIVER_TYPES := spi
+VALID_FLASH_DRIVER_TYPES := spi custom
FLASH_DRIVER ?= none
ifneq ($(strip $(FLASH_DRIVER)), none)
ifeq ($(filter $(FLASH_DRIVER),$(VALID_FLASH_DRIVER_TYPES)),)
$(call CATASTROPHIC_ERROR,Invalid FLASH_DRIVER,FLASH_DRIVER="$(FLASH_DRIVER)" is not a valid flash driver)
else
- OPT_DEFS += -DFLASH_ENABLE
+ OPT_DEFS += -DFLASH_ENABLE -DFLASH_DRIVER -DFLASH_DRIVER_$(strip $(shell echo $(FLASH_DRIVER) | tr '[:lower:]' '[:upper:]'))
+ COMMON_VPATH += $(DRIVER_PATH)/flash
ifeq ($(strip $(FLASH_DRIVER)),spi)
- SPI_DRIVER_REQUIRED = yes
- OPT_DEFS += -DFLASH_DRIVER -DFLASH_SPI
- COMMON_VPATH += $(DRIVER_PATH)/flash
SRC += flash_spi.c
+ SPI_DRIVER_REQUIRED = yes
endif
endif
endif
@@ -311,11 +307,11 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
POST_CONFIG_H += $(QUANTUM_DIR)/rgblight/rgblight_post_config.h
OPT_DEFS += -DRGBLIGHT_ENABLE
OPT_DEFS += -DRGBLIGHT_$(strip $(shell echo $(RGBLIGHT_DRIVER) | tr '[:lower:]' '[:upper:]'))
+ SRC += $(QUANTUM_DIR)/process_keycode/process_underglow.c
SRC += $(QUANTUM_DIR)/color.c
SRC += $(QUANTUM_DIR)/rgblight/rgblight.c
SRC += $(QUANTUM_DIR)/rgblight/rgblight_drivers.c
CIE1931_CURVE := yes
- RGB_KEYCODES_ENABLE := yes
endif
ifeq ($(strip $(RGBLIGHT_DRIVER)), ws2812)
@@ -461,12 +457,16 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations
COMMON_VPATH += $(QUANTUM_DIR)/rgb_matrix/animations/runners
POST_CONFIG_H += $(QUANTUM_DIR)/rgb_matrix/post_config.h
+
+ # TODO: Remove this
+ SRC += $(QUANTUM_DIR)/process_keycode/process_underglow.c
+
+ SRC += $(QUANTUM_DIR)/process_keycode/process_rgb_matrix.c
SRC += $(QUANTUM_DIR)/color.c
SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix.c
SRC += $(QUANTUM_DIR)/rgb_matrix/rgb_matrix_drivers.c
LIB8TION_ENABLE := yes
CIE1931_CURVE := yes
- RGB_KEYCODES_ENABLE := yes
ifeq ($(strip $(RGB_MATRIX_DRIVER)), aw20216s)
SPI_DRIVER_REQUIRED = yes
@@ -569,10 +569,6 @@ ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
endif
endif
-ifeq ($(strip $(RGB_KEYCODES_ENABLE)), yes)
- SRC += $(QUANTUM_DIR)/process_keycode/process_rgb.c
-endif
-
VARIABLE_TRACE ?= no
ifneq ($(strip $(VARIABLE_TRACE)),no)
SRC += $(QUANTUM_DIR)/variable_trace.c
@@ -882,7 +878,7 @@ ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
OPT_DEFS += -DBLUETOOTH_$(strip $(shell echo $(BLUETOOTH_DRIVER) | tr '[:lower:]' '[:upper:]'))
NO_USB_STARTUP_CHECK := yes
COMMON_VPATH += $(DRIVER_PATH)/bluetooth
- SRC += outputselect.c
+ SRC += outputselect.c process_connection.c
ifeq ($(strip $(BLUETOOTH_DRIVER)), bluefruit_le)
SPI_DRIVER_REQUIRED = yes
@@ -937,7 +933,7 @@ ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes)
OPT_DEFS += -DWS2812_$(strip $(shell echo $(WS2812_DRIVER) | tr '[:lower:]' '[:upper:]'))
- SRC += ws2812_$(strip $(WS2812_DRIVER)).c
+ SRC += ws2812.c ws2812_$(strip $(WS2812_DRIVER)).c
ifeq ($(strip $(PLATFORM)), CHIBIOS)
ifeq ($(strip $(WS2812_DRIVER)), pwm)
diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk
index cfd261737c06..e45063cfaf5a 100644
--- a/builddefs/common_rules.mk
+++ b/builddefs/common_rules.mk
@@ -43,25 +43,25 @@ ifneq ($(USE_CCACHE),no)
CC_PREFIX ?= ccache
endif
+#---------------- Debug Options ----------------
+
+DEBUG_ENABLE ?= no
+ifeq ($(strip $(DEBUG_ENABLE)),yes)
+ CFLAGS += -ggdb3
+ CXXFLAGS += -ggdb3
+ ASFLAGS += -ggdb3
+# Create a map file when debugging
+ LDFLAGS += -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref
+endif
+
+
#---------------- C Compiler Options ----------------
ifeq ($(strip $(LTO_ENABLE)), yes)
- ifeq ($(PLATFORM),ARM_ATSAM)
- $(info Enabling LTO on arm_atsam-targeting boards is known to have a high likelihood of failure.)
- $(info If unsure, set LTO_ENABLE = no.)
- endif
CDEFS += -flto
CDEFS += -DLTO_ENABLE
endif
-DEBUG_ENABLE ?= yes
-ifeq ($(strip $(SKIP_DEBUG_INFO)),yes)
- DEBUG_ENABLE=no
-endif
-
-ifeq ($(strip $(DEBUG_ENABLE)),yes)
- CFLAGS += -g$(DEBUG)
-endif
CFLAGS += $(CDEFS)
CFLAGS += -O$(OPT)
# add color
@@ -83,9 +83,6 @@ CFLAGS += -fcommon
#---------------- C++ Compiler Options ----------------
-ifeq ($(strip $(DEBUG_ENABLE)),yes)
- CXXFLAGS += -g$(DEBUG)
-endif
CXXFLAGS += $(CXXDEFS)
CXXFLAGS += -O$(OPT)
# to suppress "warning: only initialized variables can be placed into program memory area"
@@ -106,14 +103,10 @@ endif
#---------------- Linker Options ----------------
-CREATE_MAP ?= yes
-ifeq ($(CREATE_MAP),yes)
- LDFLAGS += -Wl,-Map=$(BUILD_DIR)/$(TARGET).map,--cref
-endif
ifeq ($(VERBOSE_LD_CMD),yes)
LDFLAGS += -v
endif
-#LDFLAGS += -Wl,--relax
+
LDFLAGS += $(EXTMEMOPTS)
LDFLAGS += $(patsubst %,-L%,$(EXTRALIBDIRS))
LDFLAGS += -lm
@@ -126,15 +119,11 @@ ADHLNS_ENABLE ?= no
ifeq ($(ADHLNS_ENABLE),yes)
# Avoid "Options to '-Xassembler' do not match" - only specify assembler options at LTO link time
ifeq ($(strip $(LTO_ENABLE)), yes)
- LDFLAGS += -Wa,-adhlns=$(BUILD_DIR)/$(TARGET).lst
+ LDFLAGS += -Wa,-adhlns=$(BUILD_DIR)/$(TARGET).lst
else
- CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
+ CFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
CXXFLAGS += -Wa,-adhlns=$(@:%.o=%.lst)
- ifeq ($(strip $(DEBUG_ENABLE)),yes)
- ASFLAGS = -Wa,-adhlns=$(@:%.o=%.lst),-gstabs,--listing-cont-lines=100
- else
- ASFLAGS = -Wa,-adhlns=$(@:%.o=%.lst),--listing-cont-lines=100
- endif
+ ASFLAGS += -Wa,-adhlns=$(@:%.o=%.lst),--listing-cont-lines=100
endif
endif
diff --git a/builddefs/converters.mk b/builddefs/converters.mk
index 3e77a070f2fb..b1e5a1bed27b 100644
--- a/builddefs/converters.mk
+++ b/builddefs/converters.mk
@@ -32,9 +32,6 @@ ifneq ($(CONVERT_TO),)
PLATFORM_KEY = $(shell echo $(CONVERTER) | cut -d "/" -f2)
- # force setting as value can be from environment
- override TARGET := $(TARGET)_$(CONVERT_TO)
-
# Configure any defaults
OPT_DEFS += -DCONVERT_TO_$(shell echo $(CONVERT_TO) | tr '[:lower:]' '[:upper:]')
OPT_DEFS += -DCONVERTER_TARGET=\"$(CONVERT_TO)\"
diff --git a/builddefs/docsgen/.vitepress/config.mts b/builddefs/docsgen/.vitepress/config.mts
index 54ecae2e86bd..d2fe2886b213 100644
--- a/builddefs/docsgen/.vitepress/config.mts
+++ b/builddefs/docsgen/.vitepress/config.mts
@@ -39,8 +39,15 @@ export default defineConfig(({ mode }) => {
provider: "local",
},
+ editLink: {
+ pattern: 'https://github.com/qmk/qmk_firmware/edit/master/docs/:path'
+ },
+ lastUpdated: true,
+
sidebar: sidebar,
+ externalLinkIcon: true,
+
socialLinks: [
{ icon: { svg: '' }, link: "https://reddit.com/r/olkb" },
{ icon: "discord", link: "https://discord.gg/qmk" },
diff --git a/builddefs/docsgen/package.json b/builddefs/docsgen/package.json
index 435e7481f1f9..3bc4b38c86b5 100644
--- a/builddefs/docsgen/package.json
+++ b/builddefs/docsgen/package.json
@@ -1,7 +1,7 @@
{
"license": "GPL-2.0-or-later",
"devDependencies": {
- "vite": "^5.2.10",
+ "vite": "^5.2.14",
"vitepress": "^1.1.0",
"vitepress-plugin-tabs": "^0.5.0",
"vue": "^3.4.24"
diff --git a/builddefs/docsgen/yarn.lock b/builddefs/docsgen/yarn.lock
index b40c1298d019..3b5f68035f7b 100644
--- a/builddefs/docsgen/yarn.lock
+++ b/builddefs/docsgen/yarn.lock
@@ -298,85 +298,85 @@
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
-"@rollup/rollup-android-arm-eabi@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.16.4.tgz#5e8930291f1e5ead7fb1171d53ba5c87718de062"
- integrity sha512-GkhjAaQ8oUTOKE4g4gsZ0u8K/IHU1+2WQSgS1TwTcYvL+sjbaQjNHFXbOJ6kgqGHIO1DfUhI/Sphi9GkRT9K+Q==
-
-"@rollup/rollup-android-arm64@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.16.4.tgz#ffb84f1359c04ec8a022a97110e18a5600f5f638"
- integrity sha512-Bvm6D+NPbGMQOcxvS1zUl8H7DWlywSXsphAeOnVeiZLQ+0J6Is8T7SrjGTH29KtYkiY9vld8ZnpV3G2EPbom+w==
-
-"@rollup/rollup-darwin-arm64@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.16.4.tgz#b2fcee8d4806a0b1b9185ac038cc428ddedce9f4"
- integrity sha512-i5d64MlnYBO9EkCOGe5vPR/EeDwjnKOGGdd7zKFhU5y8haKhQZTN2DgVtpODDMxUr4t2K90wTUJg7ilgND6bXw==
-
-"@rollup/rollup-darwin-x64@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.16.4.tgz#fcb25ccbaa3dd33a6490e9d1c64bab2e0e16b932"
- integrity sha512-WZupV1+CdUYehaZqjaFTClJI72fjJEgTXdf4NbW69I9XyvdmztUExBtcI2yIIU6hJtYvtwS6pkTkHJz+k08mAQ==
-
-"@rollup/rollup-linux-arm-gnueabihf@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.16.4.tgz#40d46bdfe667e5eca31bf40047460e326d2e26bb"
- integrity sha512-ADm/xt86JUnmAfA9mBqFcRp//RVRt1ohGOYF6yL+IFCYqOBNwy5lbEK05xTsEoJq+/tJzg8ICUtS82WinJRuIw==
-
-"@rollup/rollup-linux-arm-musleabihf@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.16.4.tgz#7741df2448c11c56588b50835dbfe91b1a10b375"
- integrity sha512-tJfJaXPiFAG+Jn3cutp7mCs1ePltuAgRqdDZrzb1aeE3TktWWJ+g7xK9SNlaSUFw6IU4QgOxAY4rA+wZUT5Wfg==
-
-"@rollup/rollup-linux-arm64-gnu@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.16.4.tgz#0a23b02d2933e4c4872ad18d879890b6a4a295df"
- integrity sha512-7dy1BzQkgYlUTapDTvK997cgi0Orh5Iu7JlZVBy1MBURk7/HSbHkzRnXZa19ozy+wwD8/SlpJnOOckuNZtJR9w==
-
-"@rollup/rollup-linux-arm64-musl@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.16.4.tgz#e37ef259358aa886cc07d782220a4fb83c1e6970"
- integrity sha512-zsFwdUw5XLD1gQe0aoU2HVceI6NEW7q7m05wA46eUAyrkeNYExObfRFQcvA6zw8lfRc5BHtan3tBpo+kqEOxmg==
-
-"@rollup/rollup-linux-powerpc64le-gnu@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.16.4.tgz#8c69218b6de05ee2ba211664a2d2ac1e54e43f94"
- integrity sha512-p8C3NnxXooRdNrdv6dBmRTddEapfESEUflpICDNKXpHvTjRRq1J82CbU5G3XfebIZyI3B0s074JHMWD36qOW6w==
-
-"@rollup/rollup-linux-riscv64-gnu@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.16.4.tgz#d32727dab8f538d9a4a7c03bcf58c436aecd0139"
- integrity sha512-Lh/8ckoar4s4Id2foY7jNgitTOUQczwMWNYi+Mjt0eQ9LKhr6sK477REqQkmy8YHY3Ca3A2JJVdXnfb3Rrwkng==
-
-"@rollup/rollup-linux-s390x-gnu@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.16.4.tgz#d46097246a187d99fc9451fe8393b7155b47c5ec"
- integrity sha512-1xwwn9ZCQYuqGmulGsTZoKrrn0z2fAur2ujE60QgyDpHmBbXbxLaQiEvzJWDrscRq43c8DnuHx3QorhMTZgisQ==
-
-"@rollup/rollup-linux-x64-gnu@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.16.4.tgz#6356c5a03a4afb1c3057490fc51b4764e109dbc7"
- integrity sha512-LuOGGKAJ7dfRtxVnO1i3qWc6N9sh0Em/8aZ3CezixSTM+E9Oq3OvTsvC4sm6wWjzpsIlOCnZjdluINKESflJLA==
-
-"@rollup/rollup-linux-x64-musl@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.16.4.tgz#03a5831a9c0d05877b94653b5ddd3020d3c6fb06"
- integrity sha512-ch86i7KkJKkLybDP2AtySFTRi5fM3KXp0PnHocHuJMdZwu7BuyIKi35BE9guMlmTpwwBTB3ljHj9IQXnTCD0vA==
-
-"@rollup/rollup-win32-arm64-msvc@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.16.4.tgz#6cc0db57750376b9303bdb6f5482af8974fcae35"
- integrity sha512-Ma4PwyLfOWZWayfEsNQzTDBVW8PZ6TUUN1uFTBQbF2Chv/+sjenE86lpiEwj2FiviSmSZ4Ap4MaAfl1ciF4aSA==
-
-"@rollup/rollup-win32-ia32-msvc@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.16.4.tgz#aea0b7e492bd9ed46971cb80bc34f1eb14e07789"
- integrity sha512-9m/ZDrQsdo/c06uOlP3W9G2ENRVzgzbSXmXHT4hwVaDQhYcRpi9bgBT0FTG9OhESxwK0WjQxYOSfv40cU+T69w==
-
-"@rollup/rollup-win32-x64-msvc@4.16.4":
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.16.4.tgz#c09ad9a132ccb5a67c4f211d909323ab1294f95f"
- integrity sha512-YunpoOAyGLDseanENHmbFvQSfVL5BxW3k7hhy0eN4rb3gS/ct75dVD0EXOWIqFT/nE8XYW6LP6vz6ctKRi0k9A==
+"@rollup/rollup-android-arm-eabi@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz#8b613b9725e8f9479d142970b106b6ae878610d5"
+ integrity sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==
+
+"@rollup/rollup-android-arm64@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz#654ca1049189132ff602bfcf8df14c18da1f15fb"
+ integrity sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==
+
+"@rollup/rollup-darwin-arm64@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz#6d241d099d1518ef0c2205d96b3fa52e0fe1954b"
+ integrity sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==
+
+"@rollup/rollup-darwin-x64@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz#42bd19d292a57ee11734c980c4650de26b457791"
+ integrity sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz#f23555ee3d8fe941c5c5fd458cd22b65eb1c2232"
+ integrity sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==
+
+"@rollup/rollup-linux-arm-musleabihf@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz#f3bbd1ae2420f5539d40ac1fde2b38da67779baa"
+ integrity sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==
+
+"@rollup/rollup-linux-arm64-gnu@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz#7abe900120113e08a1f90afb84c7c28774054d15"
+ integrity sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==
+
+"@rollup/rollup-linux-arm64-musl@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz#9e655285c8175cd44f57d6a1e8e5dedfbba1d820"
+ integrity sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==
+
+"@rollup/rollup-linux-powerpc64le-gnu@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz#9a79ae6c9e9d8fe83d49e2712ecf4302db5bef5e"
+ integrity sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==
+
+"@rollup/rollup-linux-riscv64-gnu@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz#67ac70eca4ace8e2942fabca95164e8874ab8128"
+ integrity sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==
+
+"@rollup/rollup-linux-s390x-gnu@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz#9f883a7440f51a22ed7f99e1d070bd84ea5005fc"
+ integrity sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==
+
+"@rollup/rollup-linux-x64-gnu@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz#70116ae6c577fe367f58559e2cffb5641a1dd9d0"
+ integrity sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==
+
+"@rollup/rollup-linux-x64-musl@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz#f473f88219feb07b0b98b53a7923be716d1d182f"
+ integrity sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==
+
+"@rollup/rollup-win32-arm64-msvc@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz#4349482d17f5d1c58604d1c8900540d676f420e0"
+ integrity sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==
+
+"@rollup/rollup-win32-ia32-msvc@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz#a6fc39a15db618040ec3c2a24c1e26cb5f4d7422"
+ integrity sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==
+
+"@rollup/rollup-win32-x64-msvc@4.22.4":
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz#3dd5d53e900df2a40841882c02e56f866c04d202"
+ integrity sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==
"@shikijs/core@1.3.0", "@shikijs/core@^1.3.0":
version "1.3.0"
@@ -697,28 +697,28 @@ rfdc@^1.3.1:
integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==
rollup@^4.13.0:
- version "4.16.4"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.16.4.tgz#fe328eb41293f20c9593a095ec23bdc4b5d93317"
- integrity sha512-kuaTJSUbz+Wsb2ATGvEknkI12XV40vIiHmLuFlejoo7HtDok/O5eDDD0UpCVY5bBX5U5RYo8wWP83H7ZsqVEnA==
+ version "4.22.4"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.22.4.tgz#4135a6446671cd2a2453e1ad42a45d5973ec3a0f"
+ integrity sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==
dependencies:
"@types/estree" "1.0.5"
optionalDependencies:
- "@rollup/rollup-android-arm-eabi" "4.16.4"
- "@rollup/rollup-android-arm64" "4.16.4"
- "@rollup/rollup-darwin-arm64" "4.16.4"
- "@rollup/rollup-darwin-x64" "4.16.4"
- "@rollup/rollup-linux-arm-gnueabihf" "4.16.4"
- "@rollup/rollup-linux-arm-musleabihf" "4.16.4"
- "@rollup/rollup-linux-arm64-gnu" "4.16.4"
- "@rollup/rollup-linux-arm64-musl" "4.16.4"
- "@rollup/rollup-linux-powerpc64le-gnu" "4.16.4"
- "@rollup/rollup-linux-riscv64-gnu" "4.16.4"
- "@rollup/rollup-linux-s390x-gnu" "4.16.4"
- "@rollup/rollup-linux-x64-gnu" "4.16.4"
- "@rollup/rollup-linux-x64-musl" "4.16.4"
- "@rollup/rollup-win32-arm64-msvc" "4.16.4"
- "@rollup/rollup-win32-ia32-msvc" "4.16.4"
- "@rollup/rollup-win32-x64-msvc" "4.16.4"
+ "@rollup/rollup-android-arm-eabi" "4.22.4"
+ "@rollup/rollup-android-arm64" "4.22.4"
+ "@rollup/rollup-darwin-arm64" "4.22.4"
+ "@rollup/rollup-darwin-x64" "4.22.4"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.22.4"
+ "@rollup/rollup-linux-arm-musleabihf" "4.22.4"
+ "@rollup/rollup-linux-arm64-gnu" "4.22.4"
+ "@rollup/rollup-linux-arm64-musl" "4.22.4"
+ "@rollup/rollup-linux-powerpc64le-gnu" "4.22.4"
+ "@rollup/rollup-linux-riscv64-gnu" "4.22.4"
+ "@rollup/rollup-linux-s390x-gnu" "4.22.4"
+ "@rollup/rollup-linux-x64-gnu" "4.22.4"
+ "@rollup/rollup-linux-x64-musl" "4.22.4"
+ "@rollup/rollup-win32-arm64-msvc" "4.22.4"
+ "@rollup/rollup-win32-ia32-msvc" "4.22.4"
+ "@rollup/rollup-win32-x64-msvc" "4.22.4"
fsevents "~2.3.2"
shiki@1.3.0, shiki@^1.3.0:
@@ -743,10 +743,10 @@ tabbable@^6.2.0:
resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97"
integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==
-vite@^5.2.10, vite@^5.2.9:
- version "5.2.10"
- resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.10.tgz#2ac927c91e99d51b376a5c73c0e4b059705f5bd7"
- integrity sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==
+vite@^5.2.14, vite@^5.2.9:
+ version "5.2.14"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-5.2.14.tgz#fd5f60facf6b5f90ec7da6323c467a365d380c3d"
+ integrity sha512-TFQLuwWLPms+NBNlh0D9LZQ+HXW471COABxw/9TEUBrjuHMo9BrYBPrN/SYAwIuVL+rLerycxiLT41t4f5MZpA==
dependencies:
esbuild "^0.20.1"
postcss "^8.4.38"
diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk
index dc34a642307d..f14f44087702 100644
--- a/builddefs/generic_features.mk
+++ b/builddefs/generic_features.mk
@@ -36,6 +36,7 @@ GENERIC_FEATURES = \
HAPTIC \
KEY_LOCK \
KEY_OVERRIDE \
+ LAYER_LOCK \
LEADER \
MAGIC \
MOUSEKEY \
diff --git a/builddefs/show_options.mk b/builddefs/show_options.mk
index 81d8400a8064..1c1a3ebf8e0a 100644
--- a/builddefs/show_options.mk
+++ b/builddefs/show_options.mk
@@ -67,7 +67,6 @@ OTHER_OPTION_NAMES = \
PS2_DRIVER \
RAW_ENABLE \
SWAP_HANDS_ENABLE \
- RING_BUFFERED_6KRO_REPORT_ENABLE \
WATCHDOG_ENABLE \
ERGOINU \
NO_USB_STARTUP_CHECK \
diff --git a/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson b/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson
new file mode 100644
index 000000000000..d59b6fab2642
--- /dev/null
+++ b/data/constants/keycodes/extras/keycodes_farsi_0.0.1.hjson
@@ -0,0 +1,616 @@
+{
+ "aliases": {
+/*
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ ۱ │ ۲ │ ۳ │ ۴ │ ۵ │ ۶ │ ۷ │ ۸ │ ۹ │ ۰ │ - │ = │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ ض │ ص │ ث │ ق │ ف │ غ │ ع │ ه │ خ │ ح │ ج │ چ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ ش │ س │ ی │ ب │ ل │ ا │ ت │ ن │ م │ ک │ گ │ \ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ < │ ظ │ ط │ ز │ ر │ ذ │ د │ پ │ و │ . │ / │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "KC_GRV": {
+ "key": "FA_ZWJ",
+ "label": "(zero-width joiner)",
+ }
+ "KC_1": {
+ "key": "FA_1A",
+ "label": "۱",
+ }
+ "KC_2": {
+ "key": "FA_2A",
+ "label": "۲",
+ }
+ "KC_3": {
+ "key": "FA_3A",
+ "label": "۳",
+ }
+ "KC_4": {
+ "key": "FA_4A",
+ "label": "۴",
+ }
+ "KC_5": {
+ "key": "FA_5A",
+ "label": "۵",
+ }
+ "KC_6": {
+ "key": "FA_6A",
+ "label": "۶",
+ }
+ "KC_7": {
+ "key": "FA_7A",
+ "label": "۷",
+ }
+ "KC_8": {
+ "key": "FA_8A",
+ "label": "۸",
+ }
+ "KC_9": {
+ "key": "FA_9A",
+ "label": "۹",
+ }
+ "KC_0": {
+ "key": "FA_0A",
+ "label": "۰",
+ }
+ "KC_MINS": {
+ "key": "FA_MINS",
+ "label": "-",
+ }
+ "KC_EQL": {
+ "key": "FA_EQL",
+ "label": "=",
+ }
+ "KC_Q": {
+ "key": "FA_ZAD",
+ "label": "ض",
+ }
+ "KC_W": {
+ "key": "FA_SAD",
+ "label": "ص",
+ }
+ "KC_E": {
+ "key": "FA_SE",
+ "label": "ث",
+ }
+ "KC_R": {
+ "key": "FA_QAF",
+ "label": "ق",
+ }
+ "KC_T": {
+ "key": "FA_FE",
+ "label": "ف",
+ }
+ "KC_Y": {
+ "key": "FA_GHYN",
+ "label": "غ",
+ }
+ "KC_U": {
+ "key": "FA_EYN",
+ "label": "ع",
+ }
+ "KC_I": {
+ "key": "FA_HE",
+ "label": "ه",
+ }
+ "KC_O": {
+ "key": "FA_KHE",
+ "label": "خ",
+ }
+ "KC_P": {
+ "key": "FA_HEJ",
+ "label": "ح",
+ }
+ "KC_LBRC": {
+ "key": "FA_JIM",
+ "label": "ج",
+ }
+ "KC_RBRC": {
+ "key": "FA_CHE",
+ "label": "چ",
+ }
+ "KC_A": {
+ "key": "FA_SHIN",
+ "label": "ش",
+ }
+ "KC_S": {
+ "key": "FA_SIN",
+ "label": "س",
+ }
+ "KC_D": {
+ "key": "FA_YE",
+ "label": "ی",
+ }
+ "KC_F": {
+ "key": "FA_BE",
+ "label": "ب",
+ }
+ "KC_G": {
+ "key": "FA_LAM",
+ "label": "ل",
+ }
+ "KC_H": {
+ "key": "FA_ALEF",
+ "label": "ا",
+ }
+ "KC_J": {
+ "key": "FA_TE",
+ "label": "ت",
+ }
+ "KC_K": {
+ "key": "FA_NOON",
+ "label": "ن",
+ }
+ "KC_L": {
+ "key": "FA_MIM",
+ "label": "م",
+ }
+ "KC_SCLN": {
+ "key": "FA_KAF",
+ "label": "ک",
+ }
+ "KC_QUOT": {
+ "key": "FA_GAF",
+ "label": "گ",
+ }
+ "KC_BSLS": {
+ "key": "FA_BSLS",
+ "label": "\\",
+ }
+ "KC_LT": {
+ "key": "FA_LT",
+ "label": "<",
+ }
+ "KC_Z": {
+ "key": "FA_ZA",
+ "label": "ظ",
+ }
+ "KC_X": {
+ "key": "FA_TA",
+ "label": "ط",
+ }
+ "KC_C": {
+ "key": "FA_ZE",
+ "label": "ز",
+ }
+ "KC_V": {
+ "key": "FA_RE",
+ "label": "ر",
+ }
+ "KC_B": {
+ "key": "FA_ZAL",
+ "label": "ذ",
+ }
+ "KC_N": {
+ "key": "FA_DAL",
+ "label": "د",
+ }
+ "KC_M": {
+ "key": "FA_PE",
+ "label": "پ",
+ }
+ "KC_COMM": {
+ "key": "FA_WAW",
+ "label": "و",
+ }
+ "KC_DOT": {
+ "key": "FA_DOT",
+ "label": ".",
+ }
+ "KC_SLSH": {
+ "key": "FA_SLSH",
+ "label": "/",
+ }
+ "KC_SPC": {
+ "key": "FA_SPC",
+ "label": " ",
+ }
+/* Shifted symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ÷ │ ! │ ٬ │ ٫ │ ﷼ │ ٪ │ × │ ، │ * │ ) │ ( │ ـ │ + │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ ْ │ ٌ │ ٍ │ ً │ ُ │ ِ │ َ │ ّ │ ] │ [ │ } │ { │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ ؤ │ ئ │ ي │ إ │ أ │ آ │ ة │ » │ « │ : │ ؛ │ | │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ > │ ك │ ٓ │ ژ │ ٰ │ │ ٔ │ ء │ │ │ ؟ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(FA_ZWJ)": {
+ "key": "FA_DIV",
+ "label": "÷",
+ }
+ "S(FA_1A)": {
+ "key": "FA_EXLM",
+ "label": "!",
+ }
+ "S(FA_2A)": {
+ "key": "FA_THS",
+ "label": "٬",
+ }
+ "S(FA_3A)": {
+ "key": "FA_DECS",
+ "label": "٫",
+ }
+ "S(FA_4A)": {
+ "key": "FA_RIAL",
+ "label": "﷼",
+ }
+ "S(FA_5A)": {
+ "key": "FA_PRCA",
+ "label": "٪",
+ }
+ "S(FA_6A)": {
+ "key": "FA_MUL",
+ "label": "×",
+ }
+ "S(FA_7A)": {
+ "key": "FA_COMA",
+ "label": "،",
+ }
+ "S(FA_8A)": {
+ "key": "FA_ASTR",
+ "label": "*",
+ }
+ "S(FA_9A)": {
+ "key": "FA_RPRN",
+ "label": ")",
+ }
+ "S(FA_0A)": {
+ "key": "FA_LPRN",
+ "label": "(",
+ }
+ "S(FA_MINS)": {
+ "key": "FA_TATW",
+ "label": "ـ",
+ }
+ "S(FA_EQL)": {
+ "key": "FA_PLUS",
+ "label": "+",
+ }
+ "S(FA_ZAD)": {
+ "key": "FA_SUK",
+ "label": "ْ",
+ }
+ "S(FA_SAD)": {
+ "key": "FA_DMTN",
+ "label": "ٌ",
+ }
+ "S(FA_SE)": {
+ "key": "FA_KSTN",
+ "label": "ٍ",
+ }
+ "S(FA_QAF)": {
+ "key": "FA_FTHN",
+ "label": "ً",
+ }
+ "S(FA_FE)": {
+ "key": "FA_DMM",
+ "label": "ُ",
+ }
+ "S(FA_GHYN)": {
+ "key": "FA_KAS",
+ "label": "ِ",
+ }
+ "S(FA_EYN)": {
+ "key": "FA_FAT",
+ "label": "َ",
+ }
+ "S(FA_HE)": {
+ "key": "FA_TSDD",
+ "label": "",
+ }
+ "S(FA_KHE)": {
+ "key": "FA_RBRC",
+ "label": "]",
+ }
+ "S(FA_HEJ)": {
+ "key": "FA_LBRC",
+ "label": "[",
+ }
+ "S(FA_JIM)": {
+ "key": "FA_RCBR",
+ "label": "}",
+ }
+ "S(FA_CHE)": {
+ "key": "FA_LCBR",
+ "label": "{",
+ }
+ "S(FA_SHIN)": {
+ "key": "FA_HMZV",
+ "label": "ؤ",
+ }
+ "S(FA_SIN)": {
+ "key": "FA_HMZY",
+ "label": "ئ",
+ }
+ "S(FA_YE)": {
+ "key": "FA_YEA",
+ "label": "ي",
+ }
+ "S(FA_BE)": {
+ "key": "FA_HMZU",
+ "label": "إ",
+ }
+ "S(FA_LAM)": {
+ "key": "FA_HMZO",
+ "label": "أ",
+ }
+ "S(FA_ALEF)": {
+ "key": "FA_MALF",
+ "label": "آ",
+ }
+ "S(FA_TE)": {
+ "key": "FA_TEHM",
+ "label": "ة",
+ }
+ "S(FA_NOON)": {
+ "key": "FA_RQOT",
+ "label": "»",
+ }
+ "S(FA_MIM)": {
+ "key": "FA_LQOT",
+ "label": "«",
+ }
+ "S(FA_KAF)": {
+ "key": "FA_COLN",
+ "label": ":",
+ }
+ "S(FA_GAF)": {
+ "key": "FA_SCLA",
+ "label": "؛",
+ }
+ "S(FA_LT)": {
+ "key": "FA_GT",
+ "label": ">",
+ }
+ "S(FA_ZA)": {
+ "key": "FA_KAFA",
+ "label": "ك",
+ }
+ "S(FA_TA)": {
+ "key": "FA_MADO",
+ "label": "ٓ",
+ }
+ "S(FA_ZE)": {
+ "key": "FA_JEH",
+ "label": "ژ",
+ }
+ "S(FA_RE)": {
+ "key": "FA_SUPA",
+ "label": "ٰ",
+ }
+ "S(FA_ZAL)": {
+ "key": "FA_ZWNJ",
+ "label": "(zero-width non-joiner)",
+ }
+ "S(FA_DAL)": {
+ "key": "FA_HMZA",
+ "label": "ٔ",
+ }
+ "S(FA_PE)": {
+ "key": "FA_HMZ",
+ "label": "ء",
+ }
+ "S(FA_SLSH)": {
+ "key": "FA_QSA",
+ "label": "؟",
+ }
+/* AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ ~ │ ` │ @ │ # │ $ │ % │ ^ │ & │ • │ │ │ _ │ − │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ ° │ │ € │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ ى │ │ │ ٱ │ │ ﴾ │ ﴿ │ ; │ " │ ‐ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ | │ │ │ │ ٖ │ │ ٕ │ … │ , │ ' │ ? │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "ALGR(FA_ZWJ)": {
+ "key": "FA_TILD",
+ "label": "~",
+ }
+ "ALGR(FA_1A)": {
+ "key": "FA_GRV",
+ "label": "`",
+ }
+ "ALGR(FA_2A)": {
+ "key": "FA_AT",
+ "label": "@",
+ }
+ "ALGR(FA_3A)": {
+ "key": "FA_HASH",
+ "label": "#",
+ }
+ "ALGR(FA_4A)": {
+ "key": "FA_DLR",
+ "label": "$",
+ }
+ "ALGR(FA_5A)": {
+ "key": "FA_PERC",
+ "label": "%",
+ }
+ "ALGR(FA_6A)": {
+ "key": "FA_CIRC",
+ "label": "^",
+ }
+ "ALGR(FA_7A)": {
+ "key": "FA_AMPR",
+ "label": "&",
+ }
+ "ALGR(FA_8A)": {
+ "key": "FA_BULT",
+ "label": "•",
+ }
+ "ALGR(FA_9A)": {
+ "key": "FA_LRM",
+ "label": "(left-to-right mark)",
+ }
+ "ALGR(FA_0A)": {
+ "key": "FA_RLM",
+ "label": "(right-to-left mark)",
+ }
+ "ALGR(FA_MINS)": {
+ "key": "FA_UNDS",
+ "label": "_",
+ }
+ "ALGR(FA_EQL)": {
+ "key": "FA_DMNS",
+ "label": "− (dead)",
+ }
+ "ALGR(FA_ZAD)": {
+ "key": "FA_DEG",
+ "label": "°",
+ }
+ "ALGR(FA_SE)": {
+ "key": "FA_EURO",
+ "label": "€",
+ }
+ "ALGR(FA_HE)": {
+ "key": "FA_LRO",
+ "label": "(left-to-right override)",
+ }
+ "ALGR(FA_KHE)": {
+ "key": "FA_RLO",
+ "label": "(right-to-left override)",
+ }
+ "ALGR(FA_HEJ)": {
+ "key": "FA_PDF",
+ "label": "(pop directional formatting)",
+ }
+ "ALGR(FA_JIM)": {
+ "key": "FA_LRE",
+ "label": "(left-to-right embedding)",
+ }
+ "ALGR(FA_CHE)": {
+ "key": "FA_RLE",
+ "label": "(right-to-left embedding)",
+ }
+ "ALGR(FA_YE)": {
+ "key": "FA_ALFM",
+ "label": "ى",
+ }
+ "ALGR(FA_ALEF)": {
+ "key": "FA_ALFW",
+ "label": "ٱ",
+ }
+ "ALGR(FA_NOON)": {
+ "key": "FA_LORP",
+ "label": "﴾",
+ }
+ "ALGR(FA_MIM)": {
+ "key": "FA_RORP",
+ "label": "﴿",
+ }
+ "ALGR(FA_KAF)": {
+ "key": "FA_SCLN",
+ "label": ";",
+ }
+ "ALGR(FA_GAF)": {
+ "key": "FA_DQT",
+ "label": "\"",
+ }
+ "ALGR(FA_BSLS)": {
+ "key": "FA_MINA",
+ "label": "-",
+ }
+ "ALGR(FA_ZA)": {
+ "key": "FA_PIPE",
+ "label": "|",
+ }
+ "ALGR(FA_RA)": {
+ "key": "FA_SUBA",
+ "label": "ٖ",
+ }
+ "ALGR(FA_DAL)": {
+ "key": "FA_HMZB",
+ "label": "ء",
+ }
+ "ALGR(FA_PE)": {
+ "key": "FA_ELLP",
+ "label": "…",
+ }
+ "ALGR(FA_WAW)": {
+ "key": "FA_COMM",
+ "label": ",",
+ }
+ "ALGR(FA_DOT)": {
+ "key": "FA_QUOT",
+ "label": "'",
+ }
+ "ALGR(FA_SLSH)": {
+ "key": "FA_QUES",
+ "label": "?",
+ }
+/* Shift+AltGr symbols
+ * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
+ * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │ │ │
+ * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │
+ * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
+ * │ │ ¦ │ │ │ │ │ │ │ │ │ │ │ │
+ * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
+ * │ │ │ │ │ │ │ │ │
+ * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+ */
+ "S(ALGR(FA_1A))": {
+ "key": "FA_1",
+ "label": "1",
+ }
+ "S(ALGR(FA_2A))": {
+ "key": "FA_2",
+ "label": "2",
+ }
+ "S(ALGR(FA_3A))": {
+ "key": "FA_3",
+ "label": "3",
+ }
+ "S(ALGR(FA_4A))": {
+ "key": "FA_4",
+ "label": "4",
+ }
+ "S(ALGR(FA_5A))": {
+ "key": "FA_5",
+ "label": "5",
+ }
+ "S(ALGR(FA_6A))": {
+ "key": "FA_6",
+ "label": "6",
+ }
+ "S(ALGR(FA_7A))": {
+ "key": "FA_7",
+ "label": "7",
+ }
+ "S(ALGR(FA_8A))": {
+ "key": "FA_8",
+ "label": "8",
+ }
+ "S(ALGR(FA_9A))": {
+ "key": "FA_9",
+ "label": "9",
+ }
+ "S(ALGR(FA_0A))": {
+ "key": "FA_0",
+ "label": "0",
+ }
+ "S(ALGR(FA_LT))": {
+ "key": "FA_BRKP",
+ "label": "¦",
+ }
+ "S(ALGR(FA_SPC))": {
+ "key": "FA_NNBS",
+ "label": "(narrow non-breaking space)",
+ }
+ }
+}
diff --git a/data/constants/keycodes/keycodes_0.0.1_basic.hjson b/data/constants/keycodes/keycodes_0.0.1_basic.hjson
index 430211eccae6..66aba7b1fc10 100644
--- a/data/constants/keycodes/keycodes_0.0.1_basic.hjson
+++ b/data/constants/keycodes/keycodes_0.0.1_basic.hjson
@@ -1140,7 +1140,7 @@
"0x00AE": {
"group": "media",
"key": "KC_MEDIA_PLAY_PAUSE",
- "label": "Mute",
+ "label": "Play/Pause Track",
"aliases": [
"KC_MPLY"
]
diff --git a/data/constants/keycodes/keycodes_0.0.1_midi.hjson b/data/constants/keycodes/keycodes_0.0.1_midi.hjson
index b9826f92c968..5ab9ef24d5f9 100644
--- a/data/constants/keycodes/keycodes_0.0.1_midi.hjson
+++ b/data/constants/keycodes/keycodes_0.0.1_midi.hjson
@@ -84,7 +84,7 @@
"group": "midi",
"key": "QK_MIDI_NOTE_G_SHARP_0",
"aliases": [
- "MI_Gs"
+ "MI_Gs",
"MI_Ab"
]
},
@@ -99,7 +99,7 @@
"group": "midi",
"key": "QK_MIDI_NOTE_A_SHARP_0",
"aliases": [
- "MI_As"
+ "MI_As",
"MI_Bb"
]
},
diff --git a/data/constants/keycodes/keycodes_0.0.2_kb.hjson b/data/constants/keycodes/keycodes_0.0.2_kb.hjson
index f9ffc7432d30..28c4a8e8be93 100644
--- a/data/constants/keycodes/keycodes_0.0.2_kb.hjson
+++ b/data/constants/keycodes/keycodes_0.0.2_kb.hjson
@@ -2,131 +2,131 @@
"keycodes": {
"0x7E00": {
"group": "kb",
- "key": "QK_KB_0",
+ "key": "QK_KB_0"
},
"0x7E01": {
"group": "kb",
- "key": "QK_KB_1",
+ "key": "QK_KB_1"
},
"0x7E02": {
"group": "kb",
- "key": "QK_KB_2",
+ "key": "QK_KB_2"
},
"0x7E03": {
"group": "kb",
- "key": "QK_KB_3",
+ "key": "QK_KB_3"
},
"0x7E04": {
"group": "kb",
- "key": "QK_KB_4",
+ "key": "QK_KB_4"
},
"0x7E05": {
"group": "kb",
- "key": "QK_KB_5",
+ "key": "QK_KB_5"
},
"0x7E06": {
"group": "kb",
- "key": "QK_KB_6",
+ "key": "QK_KB_6"
},
"0x7E07": {
"group": "kb",
- "key": "QK_KB_7",
+ "key": "QK_KB_7"
},
"0x7E08": {
"group": "kb",
- "key": "QK_KB_8",
+ "key": "QK_KB_8"
},
"0x7E09": {
"group": "kb",
- "key": "QK_KB_9",
+ "key": "QK_KB_9"
},
"0x7E0A": {
"group": "kb",
- "key": "QK_KB_10",
+ "key": "QK_KB_10"
},
"0x7E0B": {
"group": "kb",
- "key": "QK_KB_11",
+ "key": "QK_KB_11"
},
"0x7E0C": {
"group": "kb",
- "key": "QK_KB_12",
+ "key": "QK_KB_12"
},
"0x7E0D": {
"group": "kb",
- "key": "QK_KB_13",
+ "key": "QK_KB_13"
},
"0x7E0E": {
"group": "kb",
- "key": "QK_KB_14",
+ "key": "QK_KB_14"
},
"0x7E0F": {
"group": "kb",
- "key": "QK_KB_15",
+ "key": "QK_KB_15"
},
"0x7E10": {
"group": "kb",
- "key": "QK_KB_16",
+ "key": "QK_KB_16"
},
"0x7E11": {
"group": "kb",
- "key": "QK_KB_17",
+ "key": "QK_KB_17"
},
"0x7E12": {
"group": "kb",
- "key": "QK_KB_18",
+ "key": "QK_KB_18"
},
"0x7E13": {
"group": "kb",
- "key": "QK_KB_19",
+ "key": "QK_KB_19"
},
"0x7E14": {
"group": "kb",
- "key": "QK_KB_20",
+ "key": "QK_KB_20"
},
"0x7E15": {
"group": "kb",
- "key": "QK_KB_21",
+ "key": "QK_KB_21"
},
"0x7E16": {
"group": "kb",
- "key": "QK_KB_22",
+ "key": "QK_KB_22"
},
"0x7E17": {
"group": "kb",
- "key": "QK_KB_23",
+ "key": "QK_KB_23"
},
"0x7E18": {
"group": "kb",
- "key": "QK_KB_24",
+ "key": "QK_KB_24"
},
"0x7E19": {
"group": "kb",
- "key": "QK_KB_25",
+ "key": "QK_KB_25"
},
"0x7E1A": {
"group": "kb",
- "key": "QK_KB_26",
- },
+ "key": "QK_KB_26"
+ },
"0x7E1B": {
"group": "kb",
- "key": "QK_KB_27",
+ "key": "QK_KB_27"
},
"0x7E1C": {
"group": "kb",
- "key": "QK_KB_28",
+ "key": "QK_KB_28"
},
"0x7E1D": {
"group": "kb",
- "key": "QK_KB_29",
+ "key": "QK_KB_29"
},
"0x7E1E": {
"group": "kb",
- "key": "QK_KB_30",
+ "key": "QK_KB_30"
},
"0x7E1F": {
"group": "kb",
- "key": "QK_KB_31",
- },
+ "key": "QK_KB_31"
+ }
}
}
diff --git a/data/constants/keycodes/keycodes_0.0.2_midi.hjson b/data/constants/keycodes/keycodes_0.0.2_midi.hjson
index c15c2dd4336f..ddf79be96cdd 100644
--- a/data/constants/keycodes/keycodes_0.0.2_midi.hjson
+++ b/data/constants/keycodes/keycodes_0.0.2_midi.hjson
@@ -86,7 +86,7 @@
"group": "midi",
"key": "QK_MIDI_NOTE_G_SHARP_0",
"aliases": [
- "MI_Gs"
+ "MI_Gs",
"MI_Ab"
]
},
@@ -101,7 +101,7 @@
"group": "midi",
"key": "QK_MIDI_NOTE_A_SHARP_0",
"aliases": [
- "MI_As"
+ "MI_As",
"MI_Bb"
]
},
diff --git a/data/constants/keycodes/keycodes_0.0.2_user.hjson b/data/constants/keycodes/keycodes_0.0.2_user.hjson
index 42392dc64935..a30e8e8eed12 100644
--- a/data/constants/keycodes/keycodes_0.0.2_user.hjson
+++ b/data/constants/keycodes/keycodes_0.0.2_user.hjson
@@ -2,131 +2,131 @@
"keycodes": {
"0x7E40": {
"group": "user",
- "key": "QK_USER_0",
+ "key": "QK_USER_0"
},
"0x7E41": {
"group": "user",
- "key": "QK_USER_1",
+ "key": "QK_USER_1"
},
"0x7E42": {
"group": "user",
- "key": "QK_USER_2",
+ "key": "QK_USER_2"
},
"0x7E43": {
"group": "user",
- "key": "QK_USER_3",
+ "key": "QK_USER_3"
},
"0x7E44": {
"group": "user",
- "key": "QK_USER_4",
+ "key": "QK_USER_4"
},
"0x7E45": {
"group": "user",
- "key": "QK_USER_5",
+ "key": "QK_USER_5"
},
"0x7E46": {
"group": "user",
- "key": "QK_USER_6",
+ "key": "QK_USER_6"
},
"0x7E47": {
"group": "user",
- "key": "QK_USER_7",
+ "key": "QK_USER_7"
},
"0x7E48": {
"group": "user",
- "key": "QK_USER_8",
+ "key": "QK_USER_8"
},
"0x7E49": {
"group": "user",
- "key": "QK_USER_9",
+ "key": "QK_USER_9"
},
"0x7E4A": {
"group": "user",
- "key": "QK_USER_10",
+ "key": "QK_USER_10"
},
"0x7E4B": {
"group": "user",
- "key": "QK_USER_11",
+ "key": "QK_USER_11"
},
"0x7E4C": {
"group": "user",
- "key": "QK_USER_12",
+ "key": "QK_USER_12"
},
"0x7E4D": {
"group": "user",
- "key": "QK_USER_13",
+ "key": "QK_USER_13"
},
"0x7E4E": {
"group": "user",
- "key": "QK_USER_14",
+ "key": "QK_USER_14"
},
"0x7E4F": {
"group": "user",
- "key": "QK_USER_15",
+ "key": "QK_USER_15"
},
"0x7E50": {
"group": "user",
- "key": "QK_USER_16",
+ "key": "QK_USER_16"
},
"0x7E51": {
"group": "user",
- "key": "QK_USER_17",
+ "key": "QK_USER_17"
},
"0x7E52": {
"group": "user",
- "key": "QK_USER_18",
+ "key": "QK_USER_18"
},
"0x7E53": {
"group": "user",
- "key": "QK_USER_19",
+ "key": "QK_USER_19"
},
"0x7E54": {
"group": "user",
- "key": "QK_USER_20",
+ "key": "QK_USER_20"
},
"0x7E55": {
"group": "user",
- "key": "QK_USER_21",
+ "key": "QK_USER_21"
},
"0x7E56": {
"group": "user",
- "key": "QK_USER_22",
+ "key": "QK_USER_22"
},
"0x7E57": {
"group": "user",
- "key": "QK_USER_23",
+ "key": "QK_USER_23"
},
"0x7E58": {
"group": "user",
- "key": "QK_USER_24",
+ "key": "QK_USER_24"
},
"0x7E59": {
"group": "user",
- "key": "QK_USER_25",
+ "key": "QK_USER_25"
},
"0x7E5A": {
"group": "user",
- "key": "QK_USER_26",
- },
+ "key": "QK_USER_26"
+ },
"0x7E5B": {
"group": "user",
- "key": "QK_USER_27",
+ "key": "QK_USER_27"
},
"0x7E5C": {
"group": "user",
- "key": "QK_USER_28",
+ "key": "QK_USER_28"
},
"0x7E5D": {
"group": "user",
- "key": "QK_USER_29",
+ "key": "QK_USER_29"
},
"0x7E5E": {
"group": "user",
- "key": "QK_USER_30",
+ "key": "QK_USER_30"
},
"0x7E5F": {
"group": "user",
- "key": "QK_USER_31",
- },
+ "key": "QK_USER_31"
+ }
}
}
diff --git a/keyboards/handwired/pytest/has_template/readme.md b/data/constants/keycodes/keycodes_0.0.5.hjson
similarity index 100%
rename from keyboards/handwired/pytest/has_template/readme.md
rename to data/constants/keycodes/keycodes_0.0.5.hjson
diff --git a/data/constants/keycodes/keycodes_0.0.5_basic.hjson b/data/constants/keycodes/keycodes_0.0.5_basic.hjson
new file mode 100644
index 000000000000..79b6bf6596ef
--- /dev/null
+++ b/data/constants/keycodes/keycodes_0.0.5_basic.hjson
@@ -0,0 +1,175 @@
+{
+ "keycodes": {
+ "0x00CD": {
+ "group": "mouse",
+ "key": "QK_MOUSE_CURSOR_UP",
+ "label": "Mouse cursor up",
+ "aliases": [
+ "!reset!",
+ "MS_UP"
+ ]
+ },
+ "0x00CE": {
+ "group": "mouse",
+ "key": "QK_MOUSE_CURSOR_DOWN",
+ "label": "Mouse cursor down",
+ "aliases": [
+ "!reset!",
+ "MS_DOWN"
+ ]
+ },
+ "0x00CF": {
+ "group": "mouse",
+ "key": "QK_MOUSE_CURSOR_LEFT",
+ "label": "Mouse cursor left",
+ "aliases": [
+ "!reset!",
+ "MS_LEFT"
+ ]
+ },
+ "0x00D0": {
+ "group": "mouse",
+ "key": "QK_MOUSE_CURSOR_RIGHT",
+ "label": "Mouse cursor right",
+ "aliases": [
+ "!reset!",
+ "MS_RGHT"
+ ]
+ },
+ "0x00D1": {
+ "group": "mouse",
+ "key": "QK_MOUSE_BUTTON_1",
+ "label": "Mouse button 1",
+ "aliases": [
+ "!reset!",
+ "MS_BTN1"
+ ]
+ },
+ "0x00D2": {
+ "group": "mouse",
+ "key": "QK_MOUSE_BUTTON_2",
+ "label": "Mouse button 2",
+ "aliases": [
+ "!reset!",
+ "MS_BTN2"
+ ]
+ },
+ "0x00D3": {
+ "group": "mouse",
+ "key": "QK_MOUSE_BUTTON_3",
+ "label": "Mouse button 3",
+ "aliases": [
+ "!reset!",
+ "MS_BTN3"
+ ]
+ },
+ "0x00D4": {
+ "group": "mouse",
+ "key": "QK_MOUSE_BUTTON_4",
+ "label": "Mouse button 4",
+ "aliases": [
+ "!reset!",
+ "MS_BTN4"
+ ]
+ },
+ "0x00D5": {
+ "group": "mouse",
+ "key": "QK_MOUSE_BUTTON_5",
+ "label": "Mouse button 5",
+ "aliases": [
+ "!reset!",
+ "MS_BTN5"
+ ]
+ },
+ "0x00D6": {
+ "group": "mouse",
+ "key": "QK_MOUSE_BUTTON_6",
+ "label": "Mouse button 6",
+ "aliases": [
+ "!reset!",
+ "MS_BTN6"
+ ]
+ },
+ "0x00D7": {
+ "group": "mouse",
+ "key": "QK_MOUSE_BUTTON_7",
+ "label": "Mouse button 7",
+ "aliases": [
+ "!reset!",
+ "MS_BTN7"
+ ]
+ },
+ "0x00D8": {
+ "group": "mouse",
+ "key": "QK_MOUSE_BUTTON_8",
+ "label": "Mouse button 8",
+ "aliases": [
+ "!reset!",
+ "MS_BTN8"
+ ]
+ },
+ "0x00D9": {
+ "group": "mouse",
+ "key": "QK_MOUSE_WHEEL_UP",
+ "label": "Mouse wheel up",
+ "aliases": [
+ "!reset!",
+ "MS_WHLU"
+ ]
+ },
+ "0x00DA": {
+ "group": "mouse",
+ "key": "QK_MOUSE_WHEEL_DOWN",
+ "label": "Mouse wheel down",
+ "aliases": [
+ "!reset!",
+ "MS_WHLD"
+ ]
+ },
+ "0x00DB": {
+ "group": "mouse",
+ "key": "QK_MOUSE_WHEEL_LEFT",
+ "label": "Mouse wheel left",
+ "aliases": [
+ "!reset!",
+ "MS_WHLL"
+ ]
+ },
+ "0x00DC": {
+ "group": "mouse",
+ "key": "QK_MOUSE_WHEEL_RIGHT",
+ "label": "Mouse wheel right",
+ "aliases": [
+ "!reset!",
+ "MS_WHLR"
+ ]
+ },
+ "0x00DD": {
+ "group": "mouse",
+ "key": "QK_MOUSE_ACCELERATION_0",
+ "label": "Set mouse acceleration to 0",
+ "aliases": [
+ "!reset!",
+ "MS_ACL0"
+ ]
+ },
+ "0x00DE": {
+ "group": "mouse",
+ "key": "QK_MOUSE_ACCELERATION_1",
+ "label": "Set mouse acceleration to 1",
+ "aliases": [
+ "!reset!",
+ "MS_ACL1"
+ ]
+ },
+ "0x00DF": {
+ "group": "mouse",
+ "key": "QK_MOUSE_ACCELERATION_2",
+ "label": "Set mouse acceleration to 2",
+ "aliases": [
+ "!reset!",
+ "MS_ACL2"
+ ]
+ }
+ }
+}
diff --git a/data/constants/keycodes/keycodes_0.0.6.hjson b/data/constants/keycodes/keycodes_0.0.6.hjson
new file mode 100644
index 000000000000..f03ef747a49f
--- /dev/null
+++ b/data/constants/keycodes/keycodes_0.0.6.hjson
@@ -0,0 +1,7 @@
+{
+ "ranges": {
+ "0x52E0/0x001F": {
+ "define": "QK_PERSISTENT_DEF_LAYER"
+ }
+ }
+}
diff --git a/data/constants/keycodes/keycodes_0.0.6_connection.hjson b/data/constants/keycodes/keycodes_0.0.6_connection.hjson
new file mode 100644
index 000000000000..9be110682546
--- /dev/null
+++ b/data/constants/keycodes/keycodes_0.0.6_connection.hjson
@@ -0,0 +1,115 @@
+{
+ "ranges": {
+ "0x7780/0x003F": {
+ "define": "QK_CONNECTION"
+ }
+ }
+ "keycodes": {
+ "0x7780": {
+ "group": "connection",
+ "key": "QK_OUTPUT_AUTO",
+ "aliases": [
+ "OU_AUTO"
+ ]
+ },
+ "0x7781": {
+ "group": "connection",
+ "key": "QK_OUTPUT_NEXT",
+ "aliases": [
+ "OU_NEXT"
+ ]
+ },
+ "0x7782": {
+ "group": "connection",
+ "key": "QK_OUTPUT_PREV",
+ "aliases": [
+ "OU_PREV"
+ ]
+ },
+ "0x7783": {
+ "group": "connection",
+ "key": "QK_OUTPUT_NONE",
+ "aliases": [
+ "OU_NONE"
+ ]
+ },
+ "0x7784": {
+ "group": "connection",
+ "key": "QK_OUTPUT_USB",
+ "aliases": [
+ "OU_USB"
+ ]
+ },
+ "0x7785": {
+ "group": "connection",
+ "key": "QK_OUTPUT_2P4GHZ",
+ "aliases": [
+ "OU_2P4G"
+ ]
+ },
+ "0x7786": {
+ "group": "connection",
+ "key": "QK_OUTPUT_BLUETOOTH",
+ "aliases": [
+ "OU_BT"
+ ]
+ },
+
+ "0x7790": {
+ "group": "connection",
+ "key": "QK_BLUETOOTH_PROFILE_NEXT",
+ "aliases": [
+ "BT_NEXT"
+ ]
+ },
+ "0x7791": {
+ "group": "connection",
+ "key": "QK_BLUETOOTH_PROFILE_PREV",
+ "aliases": [
+ "BT_PREV"
+ ]
+ },
+ "0x7792": {
+ "group": "connection",
+ "key": "QK_BLUETOOTH_UNPAIR",
+ "aliases": [
+ "BT_UNPR"
+ ]
+ }
+ "0x7793": {
+ "group": "connection",
+ "key": "QK_BLUETOOTH_PROFILE1",
+ "aliases": [
+ "BT_PRF1"
+ ]
+ },
+ "0x7794": {
+ "group": "connection",
+ "key": "QK_BLUETOOTH_PROFILE2",
+ "aliases": [
+ "BT_PRF2"
+ ]
+ },
+ "0x7795": {
+ "group": "connection",
+ "key": "QK_BLUETOOTH_PROFILE3",
+ "aliases": [
+ "BT_PRF3"
+ ]
+ },
+ "0x7796": {
+ "group": "connection",
+ "key": "QK_BLUETOOTH_PROFILE4",
+ "aliases": [
+ "BT_PRF4"
+ ]
+ },
+ "0x7797": {
+ "group": "connection",
+ "key": "QK_BLUETOOTH_PROFILE5",
+ "aliases": [
+ "BT_PRF5"
+ ]
+ },
+ }
+}
diff --git a/data/constants/keycodes/keycodes_0.0.6_quantum.hjson b/data/constants/keycodes/keycodes_0.0.6_quantum.hjson
new file mode 100644
index 000000000000..be3285f9e437
--- /dev/null
+++ b/data/constants/keycodes/keycodes_0.0.6_quantum.hjson
@@ -0,0 +1,14 @@
+{
+ "keycodes": {
+ "0x7C20": "!delete!", // old QK_OUTPUT_AUTO
+ "0x7C21": "!delete!", // old QK_OUTPUT_USB
+ "0x7C22": "!delete!", // old QK_OUTPUT_BLUETOOTH
+ "0x7C7B": {
+ "group": "quantum",
+ "key": "QK_LAYER_LOCK",
+ "aliases": [
+ "QK_LLCK"
+ ]
+ }
+ }
+}
diff --git a/data/mappings/defaults.hjson b/data/mappings/defaults.hjson
index 71902c92d68c..32322a030953 100644
--- a/data/mappings/defaults.hjson
+++ b/data/mappings/defaults.hjson
@@ -84,6 +84,11 @@
"board": "STEMCELL",
"bootloader": "tinyuf2",
"processor": "STM32F411"
+ },
+ "svlinky": {
+ "board": "QMK_PM2040",
+ "bootloader": "rp2040",
+ "processor": "RP2040"
}
}
}
diff --git a/data/mappings/info_config.hjson b/data/mappings/info_config.hjson
index b61ca0407145..8d3e3c7f0ee9 100644
--- a/data/mappings/info_config.hjson
+++ b/data/mappings/info_config.hjson
@@ -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},
+ // Layer locking
+ "LAYER_LOCK_IDLE_TIMEOUT": {"info_key": "layer_lock.timeout", "value_type": "int"},
+
// Indicators
"LED_CAPS_LOCK_PIN": {"info_key": "indicators.caps_lock"},
"LED_NUM_LOCK_PIN": {"info_key": "indicators.num_lock"},
@@ -72,6 +75,11 @@
"LED_KANA_PIN": {"info_key": "indicators.kana"},
"LED_PIN_ON_STATE": {"info_key": "indicators.on_state", "value_type": "int"},
+ // Joystick
+ "JOYSTICK_AXIS_COUNT": {"info_key": "joystick.axis_count", "value_type": "int"},
+ "JOYSTICK_AXIS_RESOLUTION": {"info_key": "joystick.axis_resolution", "value_type": "int"},
+ "JOYSTICK_BUTTON_COUNT": {"info_key": "joystick.button_count", "value_type": "int"},
+
// Leader Key
"LEADER_PER_KEY_TIMING": {"info_key": "leader_key.timing", "value_type": "flag"},
"LEADER_KEY_STRICT_KEY_PROCESSING": {"info_key": "leader_key.strict_processing", "value_type": "flag"},
@@ -171,7 +179,7 @@
"SECURE_UNLOCK_TIMEOUT": {"info_key": "secure.unlock_timeout", "value_type": "int"},
// Split Keyboard
- "SOFT_SERIAL_PIN": {"info_key": "split.soft_serial_pin"},
+ "SOFT_SERIAL_PIN": {"info_key": "split.serial.pin"},
"SOFT_SERIAL_SPEED": {"info_key": "split.soft_serial_speed"},
"SPLIT_HAND_MATRIX_GRID": {"info_key": "split.handedness.matrix_grid", "value_type": "array", "to_c": false},
"SPLIT_HAND_PIN": {"info_key": "split.handedness.pin"},
diff --git a/data/mappings/info_rules.hjson b/data/mappings/info_rules.hjson
index 97611bcf587c..64972af63b0e 100644
--- a/data/mappings/info_rules.hjson
+++ b/data/mappings/info_rules.hjson
@@ -25,6 +25,8 @@
"ENCODER_DRIVER": {"info_key": "encoder.driver"},
"FIRMWARE_FORMAT": {"info_key": "build.firmware_format"},
"HAPTIC_DRIVER": {"info_key": "haptic.driver"},
+ "JOYSTICK_DRIVER": {"info_key": "joystick.driver"},
+ "JOYSTICK_ENABLE": {"info_key": "joystick.enabled", "value_type": "bool"},
"KEYBOARD_SHARED_EP": {"info_key": "usb.shared_endpoint.keyboard", "value_type": "bool"},
"LAYOUTS": {"info_key": "community_layouts", "value_type": "list"},
"LED_MATRIX_DRIVER": {"info_key": "led_matrix.driver"},
@@ -41,6 +43,7 @@
"RGB_MATRIX_DRIVER": {"info_key": "rgb_matrix.driver"},
"RGBLIGHT_DRIVER": {"info_key": "rgblight.driver"},
"SECURE_ENABLE": {"info_key": "secure.enabled", "value_type": "bool"},
+ "SERIAL_DRIVER": {"info_key": "split.serial.driver"},
"SPLIT_KEYBOARD": {"info_key": "split.enabled", "value_type": "bool"},
"SPLIT_TRANSPORT": {"info_key": "split.transport.protocol", "to_c": false},
"STENO_ENABLE": {"info_key": "stenography.enabled", "value_type": "bool"},
diff --git a/data/mappings/keyboard_aliases.hjson b/data/mappings/keyboard_aliases.hjson
index 57585aae9235..72f6994c096d 100644
--- a/data/mappings/keyboard_aliases.hjson
+++ b/data/mappings/keyboard_aliases.hjson
@@ -563,6 +563,15 @@
"plain60": {
"target": "evyd13/plain60"
},
+ "planck/ez": {
+ "target": "zsa/planck_ez/base"
+ },
+ "planck/ez/base": {
+ "target": "zsa/planck_ez/base"
+ },
+ "planck/ez/glow": {
+ "target": "zsa/planck_ez/glow"
+ },
"ploopyco/trackball": {
"target": "ploopyco/trackball/rev1_005"
},
@@ -1060,7 +1069,7 @@
"target": "lyso1/lefishe"
},
"lets_split_eh/eh": {
- "target": "maple_computing/lets_split_eh/eh"
+ "target": "maple_computing/lets_split_eh"
},
"ls_60": {
"target": "weirdo/ls_60"
@@ -1080,6 +1089,9 @@
"macro1": {
"target": "laneware/macro1"
},
+ "maple_computing/lets_split_eh/eh": {
+ "target": "maple_computing/lets_split_eh"
+ },
"massdrop/thekey": {
"target": "drop/thekey/v1"
},
@@ -1137,6 +1149,12 @@
"mt980": {
"target": "mt/mt980"
},
+ "mt/ncr80/hotswap": {
+ "target": "mt/ncr80/r2/hotswap"
+ },
+ "mt/ncr80/solder": {
+ "target": "mt/ncr80/r2/solder"
+ },
"nafuda": {
"target": "salicylic_acid3/nafuda"
},
@@ -1347,6 +1365,12 @@
"runner3680/5x8": {
"target": "omkbd/runner3680/5x8"
},
+ "saevus/cor": {
+ "target": "concreteflowers/cor"
+ },
+ "saevus/cor_tkl": {
+ "target": "concreteflowers/cor_tkl"
+ },
"scarletbandana": {
"target": "woodkeys/scarletbandana"
},
@@ -1525,5 +1549,8 @@
},
"kprepublic/jj50": {
"target": "kprepublic/jj50/rev1"
+ },
+ "dnworks/9973": {
+ "target": "dnworks/tkl87"
}
}
diff --git a/data/schemas/definitions.jsonschema b/data/schemas/definitions.jsonschema
index ef44915244c9..76ea8520ac98 100644
--- a/data/schemas/definitions.jsonschema
+++ b/data/schemas/definitions.jsonschema
@@ -16,12 +16,6 @@
"type": "object",
"additionalProperties": {"type": "boolean"}
},
- "build_target": {
- "oneOf": [
- {"$ref": "#/keyboard_keymap_tuple"},
- {"$ref": "#/json_file_path"}
- ]
- },
"filename": {
"type": "string",
"minLength": 1,
@@ -53,6 +47,19 @@
{"$ref": "#/keyboard"},
{"$ref": "#/filename"}
],
+ "minItems": 2,
+ "maxItems": 2,
+ "unevaluatedItems": false
+ },
+ "keyboard_keymap_env": {
+ "type": "array",
+ "prefixItems": [
+ {"$ref": "#/keyboard"},
+ {"$ref": "#/filename"},
+ {"$ref": "#/kvp_object"}
+ ],
+ "minItems": 3,
+ "maxItems": 3,
"unevaluatedItems": false
},
"keycode": {
@@ -87,6 +94,10 @@
"maxLength": 7,
"pattern": "^[A-Z][A-Zs_0-9]*$"
},
+ "kvp_object": {
+ "type": "object",
+ "additionalProperties": {"type": "string"}
+ },
"layout_macro": {
"oneOf": [
{
diff --git a/data/schemas/false.jsonschema b/data/schemas/false.jsonschema
deleted file mode 100644
index c508d5366f70..000000000000
--- a/data/schemas/false.jsonschema
+++ /dev/null
@@ -1 +0,0 @@
-false
diff --git a/data/schemas/keyboard.jsonschema b/data/schemas/keyboard.jsonschema
index e5802fe07dd9..ec87680fa059 100644
--- a/data/schemas/keyboard.jsonschema
+++ b/data/schemas/keyboard.jsonschema
@@ -45,7 +45,7 @@
},
"development_board": {
"type": "string",
- "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris", "imera"]
+ "enum": ["promicro", "elite_c", "elite_pi", "proton_c", "kb2040", "promicro_rp2040", "blok", "michi", "bit_c_pro", "stemcell", "bluepill", "blackpill_f401", "blackpill_f411", "bonsai_c4", "helios", "liatris", "imera", "svlinky"]
},
"pin_compatible": {
"type": "string",
@@ -92,6 +92,7 @@
"GD32VF103",
"WB32F3G71",
"WB32FQ95",
+ "AT32F415",
"atmega16u2",
"atmega32u2",
"atmega16u4",
@@ -216,6 +217,7 @@
"type": "string",
"enum": [
"apm32-dfu",
+ "at32-dfu",
"atmel-dfu",
"bootloadhid",
"caterina",
@@ -342,7 +344,43 @@
"on_state": {"$ref": "qmk.definitions.v1#/bit"}
}
},
+ "joystick": {
+ "type": "object",
+ "properties": {
+ "enabled": {"type": "boolean"},
+ "driver": {"type": "string"},
+ "button_count": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "axis_resolution": {"$ref": "qmk.definitions.v1#/unsigned_int"},
+ "axes": {
+ "type": "object",
+ "propertyNames": {"enum": ["x", "y", "z", "rx", "ry", "rz"]}
+ "additionalProperties": {
+ "oneOf": [
+ {
+ "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"}
+ }
+ },
+ {
+ "type": "string",
+ "enum": ["virtual"]
+ }
+ ]
+ }
+ }
+ }
+ },
"keycodes": {"$ref": "qmk.definitions.v1#/keycode_decl_array"},
+ "layer_lock": {
+ "type": "object",
+ "properties": {
+ "timeout": {"$ref": "qmk.definitions.v1#/unsigned_int"}
+ }
+ },
"layout_aliases": {
"type": "object",
"additionalProperties": {"$ref": "qmk.definitions.v1#/layout_macro"}
@@ -793,12 +831,26 @@
}
}
},
- "soft_serial_pin": {"$ref": "qmk.definitions.v1#/mcu_pin"},
+ "soft_serial_pin": {
+ "$ref": "qmk.definitions.v1#/mcu_pin",
+ "$comment": "Deprecated: use split.serial.pin instead"
+ },
"soft_serial_speed": {
"type": "integer",
"minimum": 0,
"maximum": 5
},
+ "serial": {
+ "type": "object",
+ "additionalProperties": false,
+ "properties": {
+ "driver": {
+ "type": "string",
+ "enum": ["bitbang", "usart", "vendor"]
+ },
+ "pin": {"$ref": "qmk.definitions.v1#/mcu_pin"}
+ }
+ },
"transport": {
"type": "object",
"additionalProperties": false,
diff --git a/data/schemas/keymap.jsonschema b/data/schemas/keymap.jsonschema
index 7233e896e940..e967e45c53e4 100644
--- a/data/schemas/keymap.jsonschema
+++ b/data/schemas/keymap.jsonschema
@@ -72,10 +72,5 @@
"notes": {
"type": "string"
}
- },
- "required": [
- "keyboard",
- "layout",
- "layers"
- ]
+ }
}
diff --git a/data/schemas/true.jsonschema b/data/schemas/true.jsonschema
deleted file mode 100644
index 27ba77ddaf61..000000000000
--- a/data/schemas/true.jsonschema
+++ /dev/null
@@ -1 +0,0 @@
-true
diff --git a/data/schemas/user_repo_v1.jsonschema b/data/schemas/user_repo_v1.jsonschema
index 6cdf758685c5..69a59bce0072 100644
--- a/data/schemas/user_repo_v1.jsonschema
+++ b/data/schemas/user_repo_v1.jsonschema
@@ -3,6 +3,14 @@
"$id": "qmk.user_repo.v1",
"title": "User Repository Information",
"type": "object",
+ "definitions": {
+ "build_target": {
+ "oneOf": [
+ {"$ref": "qmk.definitions.v1#/keyboard_keymap_tuple"},
+ {"$ref": "qmk.definitions.v1#/json_file_path"}
+ ]
+ },
+ },
"required": [
"userspace_version",
"build_targets"
@@ -15,7 +23,7 @@
"build_targets": {
"type": "array",
"items": {
- "$ref": "qmk.definitions.v1#/build_target"
+ "$ref": "#/definitions/build_target"
}
}
}
diff --git a/data/schemas/user_repo_v1_1.jsonschema b/data/schemas/user_repo_v1_1.jsonschema
new file mode 100644
index 000000000000..5a7ccce0633c
--- /dev/null
+++ b/data/schemas/user_repo_v1_1.jsonschema
@@ -0,0 +1,31 @@
+{
+ "$schema": "https://json-schema.org/draft/2020-12/schema#",
+ "$id": "qmk.user_repo.v1_1",
+ "title": "User Repository Information",
+ "type": "object",
+ "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"}
+ ]
+ },
+ },
+ "required": [
+ "userspace_version",
+ "build_targets"
+ ],
+ "properties": {
+ "userspace_version": {
+ "type": "string",
+ "enum": ["1.1"]
+ },
+ "build_targets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/build_target"
+ }
+ }
+ }
+}
diff --git a/docs/ChangeLog/20240825.md b/docs/ChangeLog/20240825.md
new file mode 100644
index 000000000000..943347cebcc8
--- /dev/null
+++ b/docs/ChangeLog/20240825.md
@@ -0,0 +1,198 @@
+# QMK Breaking Changes - 2024 August 25 Changelog
+
+## Notable Features
+
+August 2024 brings another maintenance release of QMK. Almost all PRs this cycle were to do with cleanup or re-organization of existing features and code.
+
+One key item is that there are no longer any `via`-enabled keymaps in the QMK repository -- these have all transitioned to an [External Userspace](../newbs_external_userspace) repository under the VIA team's control. Going forward, all PRs to `qmk_firmware` must not contain `via` keymaps; these should instead be redirected to the [VIA QMK Userspace](https://github.com/the-via/qmk_userspace_via) repository.
+
+## Changes Requiring User Action
+
+### Updated Keyboard Codebases
+
+One note with updated keyboard names -- historical keyboard names are still considered valid when using [External Userspace](../newbs_external_userspace) for builds. If you're already using External Userspace, you do not need to move your keymap inside your repository.
+
+| Old Keyboard Name | New Keyboard Name |
+|----------------------------------|-------------------------------|
+| dnworks/9973 | dnworks/tkl87 |
+| maple_computing/lets_split_eh/eh | maple_computing/lets_split_eh |
+| planck/ez/base | zsa/planck_ez/base |
+
+### SparkFun Pro Micro RP2040 converter renamed ([#24192](https://github.com/qmk/qmk_firmware/pull/24192))
+
+The converter for the SparkFun Pro Micro RP2040 has been renamed.
+
+| Old | New |
+|-------------------|-------------------|
+| `promicro_rp2040` | `sparkfun_rp2040` |
+
+This change was made to avoid confusion between the clones named ProMicro RP2040 and the SparkFun Pro Micro RP2040. The clones should be using the `rp2040_ce` option.
+
+### Key Override `keymap.c` signature change ([#24120](https://github.com/qmk/qmk_firmware/pull/24120))
+
+Changes were made to key overrides in order to hook them into the keymap introspection system.
+
+If you're using key overrides, your `keymap.c` will need a change to the signature of your list of key overrides, as well as removing the `NULL` terminator.
+
+For example, you'll need to change existing code from (note the highlighted lines):
+
+```c{1,4-5}
+const key_override_t **key_overrides = (const key_override_t *[]){
+ &my_override_1,
+ &my_override_2,
+ NULL
+};
+```
+
+to:
+
+```c{1,4}
+const key_override_t *key_overrides[] = {
+ &my_override_1,
+ &my_override_2,
+};
+```
+
+### ADNS9800 and PMW33xx firmware upload now opt-in ([#24001](https://github.com/qmk/qmk_firmware/pull/24001))
+
+Due to ambiguity with licensing compatibility, QMK has made the firmware ROM uploads for the ADNS9800 and PMW33xx lines of pointing device sensors temporarily opt-in with the view to removing them. Historically they were included by default, but as of this PR this is now no longer the case.
+
+Please get in touch with the QMK team if your sensor no longer functions without the firmware upload -- so far we've tested each device type and they still seem to function without a new firmware, but this has not been a 100% exhaustive validation.
+
+To re-enable firmware upload for your own builds, add the following to your keymap's `config.h`:
+
+| Sensor | Define |
+|----------|--------------------------------|
+| ADNS9800 | `#define ADNS9800_UPLOAD_SROM` |
+| PMW33xx | `#define PMW33XX_UPLOAD_SROM` |
+
+:::info Note
+If no issues arise during this current breaking changes cycle, these sensor firmware ROMs will be removed from QMK entirely.
+:::
+
+## Deprecation Notices
+
+In line with the [notice period](../support_deprecation_policy#how-much-advance-notice-will-be-given), deprecation notices for larger items are listed here.
+
+### Migration of VIA keymaps to VIA team control
+
+Last breaking changes cycle, the QMK team informed that [`via` keymaps are moving](./20240526#migration-of-via-keymaps-to-via-team-control) to the control of the VIA team. As of this merge, any `via`-enabled keymaps should now be PR'ed to the [VIA QMK Userspace](https://github.com/the-via/qmk_userspace_via) repository.
+
+Any existing or newly-opened PRs against `qmk_firmware` will now be asked to remove any `via`-enabled keymaps from their submissions.
+
+### ADNS9800 and PMW33xx sensor firmware ROM removal
+
+As mentioned above, there's license compatibility issues between QMK and the firmware blobs historically uploaded for the ADNS9800 and PMW33xx sensors. This notice is to inform users that these firmware blobs will almost certainly be removed from QMK in the next breaking changes merge.
+
+As previously noted this does not seem to have any detrimental effect to any of those devices, as they seem to include firmware on-chip without requiring one to be uploaded. Please get in touch with the QMK team on Discord if your sensor is no longer functional.
+
+## Full changelist
+
+Core:
+* EEPROM: Don't erase if we don't have to. Adding eeprom_driver_format abstraction. ([#18332](https://github.com/qmk/qmk_firmware/pull/18332))
+* Generate keymap dd keycodes to header ([#20273](https://github.com/qmk/qmk_firmware/pull/20273))
+* [wear_leveling] efl updates ([#22489](https://github.com/qmk/qmk_firmware/pull/22489))
+* GC9xxx LCD family drivers (GC9107 and GC9A01) ([#23091](https://github.com/qmk/qmk_firmware/pull/23091))
+* [build_test] set CONSOLE_ENABLE=yes if DEBUG > 0 ([#23097](https://github.com/qmk/qmk_firmware/pull/23097))
+* Enhance overlapping mouse keys control ([#23341](https://github.com/qmk/qmk_firmware/pull/23341))
+* APA102: API rework ([#23355](https://github.com/qmk/qmk_firmware/pull/23355))
+* [WIP] Adds bus acquire/release semantics to SPI start/stop. ([#23439](https://github.com/qmk/qmk_firmware/pull/23439))
+* add farsi keymap extras ([#23650](https://github.com/qmk/qmk_firmware/pull/23650))
+* Update atomic GPIO macros in keyboard custom matrix ([#23796](https://github.com/qmk/qmk_firmware/pull/23796))
+* Check LED flags for Pixel Fractal effect ([#23881](https://github.com/qmk/qmk_firmware/pull/23881))
+* Add STM32F405RG ld script for tinyuf2 ([#23885](https://github.com/qmk/qmk_firmware/pull/23885))
+* SPI flash API cleanup, add async erase capability. ([#23894](https://github.com/qmk/qmk_firmware/pull/23894))
+* Add process_keycode handlers for new RGB Matrix and Underglow keycodes ([#23896](https://github.com/qmk/qmk_firmware/pull/23896))
+* Decouple VIA from STM32 L0/L1 EEPROM implementation ([#23901](https://github.com/qmk/qmk_firmware/pull/23901))
+* Normalise mouse keycodes ([#23975](https://github.com/qmk/qmk_firmware/pull/23975))
+* Remove deprecated `led_set_user` ([#23979](https://github.com/qmk/qmk_firmware/pull/23979))
+* Change ADNS9800 and PMW33XX SROM uploads to opt in. ([#24001](https://github.com/qmk/qmk_firmware/pull/24001))
+* Rename encoder pins defines ([#24003](https://github.com/qmk/qmk_firmware/pull/24003))
+* Change suspend condition check order on ChibiOS ([#24020](https://github.com/qmk/qmk_firmware/pull/24020))
+* Tap dance introspection ([#24049](https://github.com/qmk/qmk_firmware/pull/24049))
+* Allow overriding `get_hardware_id()`. ([#24051](https://github.com/qmk/qmk_firmware/pull/24051))
+* Align LUFA suspend logic ([#24055](https://github.com/qmk/qmk_firmware/pull/24055))
+* Add support for key override introspection. ([#24120](https://github.com/qmk/qmk_firmware/pull/24120))
+* Dynamic macro callbacks ([#24142](https://github.com/qmk/qmk_firmware/pull/24142))
+* Rename promicro_rp2040 converter to sparkfun_pm2040 ([#24192](https://github.com/qmk/qmk_firmware/pull/24192))
+* Refactor starlight RGB matrix effects ([#24202](https://github.com/qmk/qmk_firmware/pull/24202))
+* Refactor riverflow RGB matrix loop ([#24203](https://github.com/qmk/qmk_firmware/pull/24203))
+
+CLI:
+* Remove handling of keyboard level keymap templates ([#24234](https://github.com/qmk/qmk_firmware/pull/24234))
+* Small tweaks to keymap generation ([#24240](https://github.com/qmk/qmk_firmware/pull/24240))
+
+Keyboards:
+* refactor: keyboard/ncr80/r2 ([#22670](https://github.com/qmk/qmk_firmware/pull/22670))
+* Implement data driven joysticks ([#22947](https://github.com/qmk/qmk_firmware/pull/22947))
+* Whitefacemountain Ampersand ([#23437](https://github.com/qmk/qmk_firmware/pull/23437))
+* Add TRKeyboard TRK1 keyboard ([#23642](https://github.com/qmk/qmk_firmware/pull/23642))
+* Rename dnworks/9973 to dnworks/tkl87 ([#23692](https://github.com/qmk/qmk_firmware/pull/23692))
+* Update Underglow keycodes ([#23765](https://github.com/qmk/qmk_firmware/pull/23765))
+* Add boardsource/the_q ([#23782](https://github.com/qmk/qmk_firmware/pull/23782))
+* BastardKB: remove legacy board `tbk` ([#23818](https://github.com/qmk/qmk_firmware/pull/23818))
+* Update ZSA Moonlander ([#23911](https://github.com/qmk/qmk_firmware/pull/23911))
+* Move Planck EZ to ZSA vendor folder ([#23917](https://github.com/qmk/qmk_firmware/pull/23917))
+* Migrate SPLIT_HAND_PIN to json ([#23924](https://github.com/qmk/qmk_firmware/pull/23924))
+* Migrate SERIAL_DRIVER to json ([#23925](https://github.com/qmk/qmk_firmware/pull/23925))
+* Migrate RGB Matrix layout for two boards ([#23963](https://github.com/qmk/qmk_firmware/pull/23963))
+* Migrate `led_update_kb` implementations to DD ([#23980](https://github.com/qmk/qmk_firmware/pull/23980))
+* Migrate `led_update_kb` implementations to DD ([#23981](https://github.com/qmk/qmk_firmware/pull/23981))
+* Migrate `led_update_kb` implementations to DD ([#23983](https://github.com/qmk/qmk_firmware/pull/23983))
+* Migrate `led_update_kb` implementations to DD ([#23985](https://github.com/qmk/qmk_firmware/pull/23985))
+* Relocate m256wh VIA logic ([#24006](https://github.com/qmk/qmk_firmware/pull/24006))
+* Relocate winry315 VIA logic ([#24008](https://github.com/qmk/qmk_firmware/pull/24008))
+* Relocate m256ws VIA logic ([#24009](https://github.com/qmk/qmk_firmware/pull/24009))
+* `atreus`: misc cleanups ([#24010](https://github.com/qmk/qmk_firmware/pull/24010))
+* Relocate work_louder VIA logic ([#24011](https://github.com/qmk/qmk_firmware/pull/24011))
+* Relocate xelus/pachi/rgb/rev2 VIA logic ([#24016](https://github.com/qmk/qmk_firmware/pull/24016))
+* Remove custom keycodes from nullbitsco/snap ([#24017](https://github.com/qmk/qmk_firmware/pull/24017))
+* added bear_face/v3 ([#24032](https://github.com/qmk/qmk_firmware/pull/24032))
+* Remove DEFAULT_FOLDER from maple_computing/lets_split_eh ([#24054](https://github.com/qmk/qmk_firmware/pull/24054))
+* refactor bear_face/v1, v2 ([#24060](https://github.com/qmk/qmk_firmware/pull/24060))
+* Convert `eeconfig_init_kb` implementations to config ([#24087](https://github.com/qmk/qmk_firmware/pull/24087))
+* Remove broken keymap from keebio/iris ([#24094](https://github.com/qmk/qmk_firmware/pull/24094))
+* Move LED Matrix LED config to data driven ([#24122](https://github.com/qmk/qmk_firmware/pull/24122))
+* Move split.soft_serial_pin to split.serial.pin ([#24127](https://github.com/qmk/qmk_firmware/pull/24127))
+* Remove pointless `RGB_MATRIX_LED_COUNT`s ([#24133](https://github.com/qmk/qmk_firmware/pull/24133))
+* `hs60/v1`: separate into ANSI and ISO revisions ([#24136](https://github.com/qmk/qmk_firmware/pull/24136))
+* Migrate half-duplex `SERIAL_USART_TX_PIN` to DD ([#24143](https://github.com/qmk/qmk_firmware/pull/24143))
+* Migrate split.soft_serial_pin to split.serial.pin O-Z ([#24146](https://github.com/qmk/qmk_firmware/pull/24146))
+* Migrate split.soft_serial_pin to split.serial.pin 0-H ([#24155](https://github.com/qmk/qmk_firmware/pull/24155))
+* Remove instances of MASTER_LEFT. ([#24163](https://github.com/qmk/qmk_firmware/pull/24163))
+* Rename EC Type-K ([#24180](https://github.com/qmk/qmk_firmware/pull/24180))
+* Migrate split.soft_serial_pin to split.serial.pin H-O ([#24185](https://github.com/qmk/qmk_firmware/pull/24185))
+* Remove split.transport.protocol=serial ([#24191](https://github.com/qmk/qmk_firmware/pull/24191))
+* Refactor use of `matrix_scan_kb` ([#24200](https://github.com/qmk/qmk_firmware/pull/24200))
+* Eliminate use of `#include "../default/keymap.c"`. ([#24215](https://github.com/qmk/qmk_firmware/pull/24215))
+* Remove keyboard level `QK_BOOT` implementations ([#24231](https://github.com/qmk/qmk_firmware/pull/24231))
+* Remove `handwired/pytest/has_template` ([#24232](https://github.com/qmk/qmk_firmware/pull/24232))
+* Refactor opendeck/32 ([#24233](https://github.com/qmk/qmk_firmware/pull/24233))
+* Refactor printedpad ([#24236](https://github.com/qmk/qmk_firmware/pull/24236))
+* Refactor orthocode ([#24237](https://github.com/qmk/qmk_firmware/pull/24237))
+* Remove unnecessary RGB Matrix shutdown hooks ([#24238](https://github.com/qmk/qmk_firmware/pull/24238))
+* Remove all via-enabled keymaps, including `via`. ([#24322](https://github.com/qmk/qmk_firmware/pull/24322))
+
+Keyboard fixes:
+* Fix dogtag/info.json ([#23520](https://github.com/qmk/qmk_firmware/pull/23520))
+* splitkb/kyria: remove `CONVERT_TO` at keyboard level ([#23857](https://github.com/qmk/qmk_firmware/pull/23857))
+* Fixup mt/mt84 ([#23883](https://github.com/qmk/qmk_firmware/pull/23883))
+* Fix for encoders and support ENCODER_MAP_ENABLE on Planck rev7 ([#23967](https://github.com/qmk/qmk_firmware/pull/23967))
+* `handwired/swiftrax/bumblebee`: fix layout name ([#24064](https://github.com/qmk/qmk_firmware/pull/24064))
+* Fixup boardsource/the_q RGB matrix coordinates ([#24086](https://github.com/qmk/qmk_firmware/pull/24086))
+* Various fixes for keyboards not implementing callbacks correctly ([#24092](https://github.com/qmk/qmk_firmware/pull/24092))
+* Various fixes for keyboards not implementing callbacks correctly ([#24116](https://github.com/qmk/qmk_firmware/pull/24116))
+* Remove duplicate calls to `housekeeping_task_user` ([#24201](https://github.com/qmk/qmk_firmware/pull/24201))
+* Fixup `handwired/dactyl_minidox` ([#24253](https://github.com/qmk/qmk_firmware/pull/24253))
+* Fix build failure on zsa/moonlander with DYNAMIC_MACRO_ENABLE ([#24316](https://github.com/qmk/qmk_firmware/pull/24316))
+
+Others:
+* LED drivers: extract documentation from LED/RGB Matrix pages ([#23630](https://github.com/qmk/qmk_firmware/pull/23630))
+* Implement data driven serial driver ([#23923](https://github.com/qmk/qmk_firmware/pull/23923))
+* Remove skipped schema files ([#23987](https://github.com/qmk/qmk_firmware/pull/23987))
+* Update RGBLight (Underglow) keycode names ([#23999](https://github.com/qmk/qmk_firmware/pull/23999))
+
+Bugs:
+* Fix NKRO and Mouse Emulation on arm_atsam ([#23945](https://github.com/qmk/qmk_firmware/pull/23945))
+* Force `dump_lines()` to always use Unix line endings ([#23954](https://github.com/qmk/qmk_firmware/pull/23954))
+* Fixup home link. ([#24068](https://github.com/qmk/qmk_firmware/pull/24068))
diff --git a/docs/ChangeLog/20241124.md b/docs/ChangeLog/20241124.md
new file mode 100644
index 000000000000..f18c5d981ef2
--- /dev/null
+++ b/docs/ChangeLog/20241124.md
@@ -0,0 +1,122 @@
+# QMK Breaking Changes - 2024 November 24 Changelog
+
+## Notable Features
+
+November 2024 brings a relatively lightweight QMK release. As with previous cycles, almost all PRs were related to cleanup or re-organization of aspects of QMK.
+
+One notable item is the removal of `arm_atsam` -- this affects users with `massdrop/ctrl` or `massdrop/alt` keyboards. These have no current replacement, but support for an alternative to the `arm_atsam` backend is nearing completion. Unfortunately the alternative backend didn't make this quarter's list of merges, so there's a temporary removal of these boards. Users who need to build for these targets should stay on the `0.26.x` version of QMK until these boards have been restored.
+
+## Changes Requiring User Action
+
+### Updated Keyboard Codebases
+
+One note with updated keyboard names -- historical keyboard names are still considered valid when using [External Userspace](../newbs_external_userspace) for builds. If you're already using External Userspace, you do not need to move your keymap inside your repository.
+
+| Old Keyboard Name | New Keyboard Name |
+|-------------------|-------------------------|
+| saevus/cor | concreteflowers/cor |
+| saevus/cor_tkl | concreteflowers/cor_tkl |
+
+## Deprecation Notices
+
+In line with the [notice period](../support_deprecation_policy#how-much-advance-notice-will-be-given), deprecation notices for larger items are listed here.
+
+### RGB Keycode Overhaul ([#23679](https://github.com/qmk/qmk_firmware/pull/23679), [#24484](https://github.com/qmk/qmk_firmware/pull/24484), [#24490](https://github.com/qmk/qmk_firmware/pull/24490))
+
+RGB keycodes have been reworked to allow for both rgblight and rgb_matrix to coexist for the handful of boards in the repo with both enabled. Previously, `RGB_xxx` style keycodes were available, but now for rgblight we have `UG_xxx` (underglow), and `RM_xxx` for rgb_matrix. Default keymaps have been updated to reflect whichever system the respective board enables.
+
+Longer-term, `RGB_xxx` style keycodes will be removed, but for now they act as if they're `UG_xxx`, and `UG_xxx` keycodes act upon both rgblight and rgb_matrix simultaneously. Put simply, the existing `RGB_xxx` keycodes act as they always have, giving users time to transition across to the new keycodes instead.
+
+### ADNS9800 and PMW33xx sensor firmware ROM removal ([#24428](https://github.com/qmk/qmk_firmware/pull/24428))
+
+Following on from the last Breaking Changes cycle, Binary blobs for optical sensors have been removed from the QMK codebase. Hooks allowing users to supply their own have been put in place; users wishing to source firmware blobs and integrate them into their keymap may do so. Doing so renders their firmware un-distributable due to licensing incompatibility with the GPL -- as such user firmware containing such blobs must not be distributed.
+
+Please get in touch with the QMK team on Discord if your sensor is no longer functional.
+
+## Full changelist
+
+Core:
+* Refactor F4 ld files to use common files ([#18059](https://github.com/qmk/qmk_firmware/pull/18059))
+* Add LD7032 support to QP. ([#20828](https://github.com/qmk/qmk_firmware/pull/20828))
+* Add combo key repress feature ([#22858](https://github.com/qmk/qmk_firmware/pull/22858))
+* Add Layer Lock feature ([#23430](https://github.com/qmk/qmk_firmware/pull/23430))
+* Added MCU support for ArteryTek AT32F415 ([#23445](https://github.com/qmk/qmk_firmware/pull/23445))
+* Allow codegen of `keymap.json` => `keymap.c` without requiring layers/layout etc. ([#23451](https://github.com/qmk/qmk_firmware/pull/23451))
+* Separate RGBLight/RGB Matrix keycode handling ([#23679](https://github.com/qmk/qmk_firmware/pull/23679))
+* Allow for inverted SPI CS logic ([#23699](https://github.com/qmk/qmk_firmware/pull/23699))
+* Add timer_save and _restore functions. ([#23887](https://github.com/qmk/qmk_firmware/pull/23887))
+* Allow for `get_hardware_id()` to be used for serial number. ([#24053](https://github.com/qmk/qmk_firmware/pull/24053))
+* Segregrate keycode at pre-process record quantum ([#24194](https://github.com/qmk/qmk_firmware/pull/24194))
+* Add ability to poweroff ADNS5050 sensor ([#24223](https://github.com/qmk/qmk_firmware/pull/24223))
+* quantum: util: add bit and bitmask helpers ([#24229](https://github.com/qmk/qmk_firmware/pull/24229))
+* Add new connection keycodes for Bluetooth, 2.4GHz. ([#24251](https://github.com/qmk/qmk_firmware/pull/24251))
+* `usb_device_state`: consolidate usb state handling across implementations ([#24258](https://github.com/qmk/qmk_firmware/pull/24258))
+* Remove global k_rgb_matrix_split ([#24348](https://github.com/qmk/qmk_firmware/pull/24348))
+* util: uf2families: sync with upstream ([#24351](https://github.com/qmk/qmk_firmware/pull/24351))
+* [Maintenance] builddefs: common_rules: overhaul debug information generation ([#24352](https://github.com/qmk/qmk_firmware/pull/24352))
+* Add easier way to set default single layer ([#24376](https://github.com/qmk/qmk_firmware/pull/24376))
+* Tweak OS detect, add OS_DETECTION_SINGLE_REPORT ([#24379](https://github.com/qmk/qmk_firmware/pull/24379))
+* Reinstate global `k_rgb_matrix_split` ([#24388](https://github.com/qmk/qmk_firmware/pull/24388))
+* Bring supported STM32F4 configs in line with F4x1 ([#24413](https://github.com/qmk/qmk_firmware/pull/24413))
+* Extended wheel reports ([#24422](https://github.com/qmk/qmk_firmware/pull/24422))
+* Remove binary blobs from optical sensors. ([#24428](https://github.com/qmk/qmk_firmware/pull/24428))
+* Remove `STM32_PWM_USE_ADVANCED` references ([#24432](https://github.com/qmk/qmk_firmware/pull/24432))
+* Remove `RING_BUFFERED_6KRO_REPORT_ENABLE` due to disuse. ([#24433](https://github.com/qmk/qmk_firmware/pull/24433))
+* Move pointing device driver code ([#24445](https://github.com/qmk/qmk_firmware/pull/24445))
+* Add svlinky converter ([#24449](https://github.com/qmk/qmk_firmware/pull/24449))
+* Update combo user function variable ([#24467](https://github.com/qmk/qmk_firmware/pull/24467))
+* `qmk find`: expand operator support ([#24468](https://github.com/qmk/qmk_firmware/pull/24468))
+* Rename RGB and HSV structs ([#24471](https://github.com/qmk/qmk_firmware/pull/24471))
+* RGBLight: Improve RGB Test animation ([#24477](https://github.com/qmk/qmk_firmware/pull/24477))
+* Change default ARM hardware PWM WS2812 tick frequency to 800kHz ([#24508](https://github.com/qmk/qmk_firmware/pull/24508))
+* Add pointing tests ([#24513](https://github.com/qmk/qmk_firmware/pull/24513))
+* Joystick: add support for 8-way hat switch ([#24515](https://github.com/qmk/qmk_firmware/pull/24515))
+* Refactor Riverflow matrix effect with runner ([#24520](https://github.com/qmk/qmk_firmware/pull/24520))
+* Update Pixel Rain to respect LED range limits ([#24532](https://github.com/qmk/qmk_firmware/pull/24532))
+* Update Jellybean Raindrops to respect LED range limits ([#24534](https://github.com/qmk/qmk_firmware/pull/24534))
+* Refactor Breathing effect with runner ([#24535](https://github.com/qmk/qmk_firmware/pull/24535))
+* Refactor LED Breathing effect with runner ([#24540](https://github.com/qmk/qmk_firmware/pull/24540))
+* Expose rgb_matrix_update_pwm_buffers to be available in keymaps ([#24573](https://github.com/qmk/qmk_firmware/pull/24573))
+* Simple Python script to show polling rate ([#24622](https://github.com/qmk/qmk_firmware/pull/24622))
+* Add keycode PDF(layer) to set the default layer in EEPROM ([#24630](https://github.com/qmk/qmk_firmware/pull/24630))
+* Provide method to save a single default layer in the full range of 0-31 ([#24639](https://github.com/qmk/qmk_firmware/pull/24639))
+
+CLI:
+* Refactor painter arguments to table instead of commandline ([#24456](https://github.com/qmk/qmk_firmware/pull/24456))
+* `qmk new-keyboard`: separate dev board and MCU selection ([#24548](https://github.com/qmk/qmk_firmware/pull/24548))
+* Bump minimum required Python version ([#24554](https://github.com/qmk/qmk_firmware/pull/24554))
+
+Submodule updates:
+* Remove `arm_atsam` platform ([#24337](https://github.com/qmk/qmk_firmware/pull/24337))
+
+Keyboards:
+* add ergodox Community Layout for LAYOUT_ergodox keyboards ([#22963](https://github.com/qmk/qmk_firmware/pull/22963))
+* Cutie Club Fidelity Layout Additions ([#23838](https://github.com/qmk/qmk_firmware/pull/23838))
+* Add Ploopyco functions for host state control ([#23953](https://github.com/qmk/qmk_firmware/pull/23953))
+* Corne rev4 ([#24084](https://github.com/qmk/qmk_firmware/pull/24084))
+* Rename saevus to concreteflowers ([#24249](https://github.com/qmk/qmk_firmware/pull/24249))
+* Remove `60_tsangan_hhkb` community layout ([#24355](https://github.com/qmk/qmk_firmware/pull/24355))
+* add USART configuration to config.h for PS/2 mouse support ([#24398](https://github.com/qmk/qmk_firmware/pull/24398))
+* Add SteelSeries Prime+ mouse ([#24408](https://github.com/qmk/qmk_firmware/pull/24408))
+* Rename RGB/HSV structs: keyboard-level code ([#24476](https://github.com/qmk/qmk_firmware/pull/24476))
+* xiudi/xd002: Remove broken oversized `multilayer_rgb` keymap ([#24480](https://github.com/qmk/qmk_firmware/pull/24480))
+* Update keycodes for keyboards with RGB Matrix ([#24484](https://github.com/qmk/qmk_firmware/pull/24484))
+* Cipulot Updates ([#24539](https://github.com/qmk/qmk_firmware/pull/24539))
+* Update keymaps to use PDF keycode ([#24633](https://github.com/qmk/qmk_firmware/pull/24633))
+* Remove keyboard use of eeconfig_read_default_layer ([#24635](https://github.com/qmk/qmk_firmware/pull/24635))
+
+Keyboard fixes:
+* Fix rendering of `keymap_config.no_gui` within `led_update_kb` ([#24473](https://github.com/qmk/qmk_firmware/pull/24473))
+* Fix duplication of core `GU_TOGG` keycode ([#24474](https://github.com/qmk/qmk_firmware/pull/24474))
+* keebio/nyquist: Remove invalid I2C config ([#24479](https://github.com/qmk/qmk_firmware/pull/24479))
+* horrortroll/nyx/rev1: Fix compilation of custom RGB effect ([#24481](https://github.com/qmk/qmk_firmware/pull/24481))
+
+Others:
+* Improve consistency of syntax within `data/constants/keycodes` ([#24528](https://github.com/qmk/qmk_firmware/pull/24528))
+
+Bugs:
+* WS2812 API rework ([#24364](https://github.com/qmk/qmk_firmware/pull/24364))
+* Backward compatibility for new RGB keycode handling ([#24490](https://github.com/qmk/qmk_firmware/pull/24490))
+* Fix compiliation issues with OS Detection ([#24502](https://github.com/qmk/qmk_firmware/pull/24502))
+* Revert removal of `QK_OUTPUT_AUTO`, fixup docs to reflect. ([#24593](https://github.com/qmk/qmk_firmware/pull/24593))
+* Review fixes for layer lock feature ([#24627](https://github.com/qmk/qmk_firmware/pull/24627))
diff --git a/docs/_aliases.json b/docs/_aliases.json
index f06e032215c4..0dfcdea1e2f3 100644
--- a/docs/_aliases.json
+++ b/docs/_aliases.json
@@ -16,6 +16,8 @@
"/tutorial": "/newbs",
"/unicode": "/feature_unicode",
+ "/features/bluetooth": "/features/wireless",
+
"/adc_driver": "/drivers/adc",
"/apa102_driver": "/drivers/apa102",
"/audio_driver": "/drivers/audio",
@@ -24,7 +26,7 @@
"/feature_auto_shift": "/features/auto_shift",
"/feature_autocorrect": "/features/autocorrect",
"/feature_backlight": "/features/backlight",
- "/feature_bluetooth": "/features/bluetooth",
+ "/feature_bluetooth": "/features/wireless",
"/feature_bootmagic": "/features/bootmagic",
"/feature_caps_word": "/features/caps_word",
"/feature_combo": "/features/combo",
diff --git a/docs/_sidebar.json b/docs/_sidebar.json
index 5935865a7ade..95601be7ded1 100644
--- a/docs/_sidebar.json
+++ b/docs/_sidebar.json
@@ -21,7 +21,8 @@
{ "text": "Debugging QMK", "link": "/faq_debug" },
{ "text": "Keymap FAQ", "link": "/faq_keymap" },
{ "text": "Squeezing Space from AVR", "link": "/squeezing_avr" },
- { "text": "Glossary", "link": "/reference_glossary" }
+ { "text": "Glossary", "link": "/reference_glossary" },
+ { "text": "License Violations", "link": "/license_violations" }
]
},
{
@@ -123,6 +124,7 @@
{ "text": "Key Lock", "link": "/features/key_lock" },
{ "text": "Key Overrides", "link": "/features/key_overrides" },
{ "text": "Layers", "link": "/feature_layers" },
+ { "text": "Layer Lock", "link": "/features/layer_lock" },
{ "text": "One Shot Keys", "link": "/one_shot_keys" },
{ "text": "OS Detection", "link": "/features/os_detection" },
{ "text": "Raw HID", "link": "/features/rawhid" },
@@ -166,8 +168,7 @@
]
},
{ "text": "Audio", "link": "/features/audio" },
- { "text": "Bluetooth", "link": "/features/bluetooth" },
- { "text": "Bootmagic Lite", "link": "/features/bootmagic" },
+ { "text": "Bootmagic", "link": "/features/bootmagic" },
{ "text": "Converters", "link": "/feature_converters" },
{ "text": "Custom Matrix", "link": "/custom_matrix" },
{ "text": "DIP Switch", "link": "/features/dip_switch" },
@@ -179,7 +180,8 @@
{ "text": "Pointing Device", "link": "/features/pointing_device" },
{ "text": "PS/2 Mouse", "link": "/features/ps2_mouse" },
{ "text": "Split Keyboard", "link": "/features/split_keyboard" },
- { "text": "Stenography", "link": "/features/stenography" }
+ { "text": "Stenography", "link": "/features/stenography" },
+ { "text": "Wireless", "link": "/features/wireless" }
]
},
{
@@ -204,7 +206,7 @@
{ "text": "My Pull Request Was Flagged", "link": "/breaking_changes_instructions" },
{
"text": "Most Recent ChangeLog",
- "link": "/ChangeLog/20240526"
+ "link": "/ChangeLog/20241124"
},
{ "text": "Past Breaking Changes", "link": "/breaking_changes_history" },
{ "text": "Deprecation Policy", "link": "/support_deprecation_policy" }
diff --git a/docs/api_development_overview.md b/docs/api_development_overview.md
index e55d0341006b..eb164bec5250 100644
--- a/docs/api_development_overview.md
+++ b/docs/api_development_overview.md
@@ -4,7 +4,7 @@ This page attempts to introduce developers to the QMK Compiler. It does not go i
# Overview
-The QMK Compile API consists of a few movings parts:
+The QMK Compile API consists of a few moving parts:
![Architecture Diagram](https://raw.githubusercontent.com/qmk/qmk_api/master/docs/architecture.svg)
diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md
index d72a8d476149..132c5943cc15 100644
--- a/docs/breaking_changes.md
+++ b/docs/breaking_changes.md
@@ -10,25 +10,25 @@ Practically, this means QMK merges the `develop` branch into the `master` branch
## What has been included in past Breaking Changes?
+* [2024 Nov 24](ChangeLog/20241124)
+* [2024 Aug 25](ChangeLog/20240825)
* [2024 May 26](ChangeLog/20240526)
-* [2024 Feb 25](ChangeLog/20240225)
-* [2023 Nov 26](ChangeLog/20231126)
* [Older Breaking Changes](breaking_changes_history)
## When is the next Breaking Change?
-The next Breaking Change is scheduled for August 25, 2024.
+The next Breaking Change is scheduled for February 23, 2025.
### Important Dates
-* 2024 May 26 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
-* 2024 Jul 28 - `develop` closed to new PRs.
-* 2024 Jul 28 - Call for testers.
-* 2024 Aug 4 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
-* 2024 Aug 18 - `develop` is locked, only critical bugfix PRs merged.
-* 2024 Aug 22 - `master` is locked, no PRs merged.
-* 2024 Aug 25 - Merge `develop` to `master`.
-* 2024 Aug 25 - `master` is unlocked. PRs can be merged again.
+* 2024 Nov 24 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
+* 2025 Jan 26 - `develop` closed to new PRs.
+* 2025 Jan 26 - Call for testers.
+* 2025 Feb 9 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
+* 2025 Feb 16 - `develop` is locked, only critical bugfix PRs merged.
+* 2024 Nov 21 - `master` is locked, no PRs merged.
+* 2025 Feb 23 - Merge `develop` to `master`.
+* 2025 Feb 23 - `master` is unlocked. PRs can be merged again.
## What changes will be included?
@@ -48,7 +48,7 @@ Criteria for acceptance:
Strongly suggested:
-* The PR has a ChangeLog file describing the changes under `/docs/Changelog/20240526`.
+* The PR has a ChangeLog file describing the changes under `/docs/Changelog/20241124`.
* This should be in Markdown format, with a name in the format `PR12345.md`, substituting the digits for your PRs ID.
* One strong recommendation that the ChangeLog document matches the PR description on GitHub, so as to ensure traceability.
diff --git a/docs/breaking_changes_history.md b/docs/breaking_changes_history.md
index 8c01e35e6889..f877f4263955 100644
--- a/docs/breaking_changes_history.md
+++ b/docs/breaking_changes_history.md
@@ -2,6 +2,8 @@
This page links to all previous changelogs from the QMK Breaking Changes process.
+* [2024 Nov 24](ChangeLog/20241124) - version 0.27.0
+* [2024 Aug 25](ChangeLog/20240825) - version 0.26.0
* [2024 May 26](ChangeLog/20240526) - version 0.25.0
* [2024 Feb 25](ChangeLog/20240225) - version 0.24.0
* [2023 Nov 26](ChangeLog/20231126) - version 0.23.0
diff --git a/docs/breaking_changes_instructions.md b/docs/breaking_changes_instructions.md
index 7bde4b600451..5289016e6391 100644
--- a/docs/breaking_changes_instructions.md
+++ b/docs/breaking_changes_instructions.md
@@ -31,4 +31,4 @@ Commenting on your pull request and being responsive to questions, comments, and
### Ask for Help
-Having your submission flagged may have caught you off guard. If you find yourself intimidated or overwhelmed, let us know. Comment on your pull request, or [reach out to the QMK team on Discord](https://discord.gg/Uq7gcHh).
+Having your submission flagged may have caught you off guard. If you find yourself intimidated or overwhelmed, let us know. Comment on your pull request, or [reach out to the QMK team on Discord](https://discord.gg/qmk).
diff --git a/docs/cli_commands.md b/docs/cli_commands.md
index 7d74d8e6177b..4cd5ae98c390 100644
--- a/docs/cli_commands.md
+++ b/docs/cli_commands.md
@@ -153,20 +153,26 @@ qmk cd
This command allows for searching through keyboard/keymap targets, filtering by specific criteria. `info.json` and `rules.mk` files contribute to the search data, as well as keymap configurations, and the results can be filtered using "dotty" syntax matching the overall `info.json` file format.
-For example, one could search for all keyboards using STM32F411:
+For example, one could search for all keyboards powered by the STM32F411 microcontroller:
```
-qmk find -f 'processor=STM32F411'
+qmk find -f 'processor==STM32F411'
```
-...and one can further constrain the list to keyboards using STM32F411 as well as rgb_matrix support:
+The list can be further constrained by passing additional filter expressions:
```
-qmk find -f 'processor=STM32F411' -f 'features.rgb_matrix=true'
+qmk find -f 'processor==STM32F411' -f 'features.rgb_matrix==true'
```
-The following filter expressions are also supported:
+The following filter expressions are supported:
+ - `key == value`: Match targets where `key` is equal to `value`. May include wildcards such as `*` and `?`.
+ - `key != value`: Match targets where `key` is not `value`. May include wildcards such as `*` and `?`.
+ - `key < value`: Match targets where `key` is a number less than `value`.
+ - `key > value`: Match targets where `key` is a number greater than `value`.
+ - `key <= value`: Match targets where `key` is a number less than or equal to `value`.
+ - `key >= value`: Match targets where `key` is a number greater than or equal to `value`.
- `exists(key)`: Match targets where `key` is present.
- `absent(key)`: Match targets where `key` is not present.
- `contains(key, value)`: Match targets where `key` contains `value`. Can be used for strings, arrays and object keys.
@@ -175,7 +181,7 @@ The following filter expressions are also supported:
You can also list arbitrary values for each matched target with `--print`:
```
-qmk find -f 'processor=STM32F411' -p 'keyboard_name' -p 'features.rgb_matrix'
+qmk find -f 'processor==STM32F411' -p 'keyboard_name' -p 'features.rgb_matrix'
```
**Usage**:
diff --git a/docs/compatible_microcontrollers.md b/docs/compatible_microcontrollers.md
index 785aee30d5cc..f148c39191e1 100644
--- a/docs/compatible_microcontrollers.md
+++ b/docs/compatible_microcontrollers.md
@@ -57,6 +57,10 @@ You can also use any ARM chip with USB that [ChibiOS](https://www.chibios.org) s
* [WB32F3G71xx](http://www.westberrytech.com)
* [WB32FQ95xx](http://www.westberrytech.com)
+### Artery (AT32)
+
+ * [AT32F415](https://www.arterychip.com/en/product/AT32F415.jsp)
+
### NXP (Kinetis)
* [MKL26Z64](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/kl-series-cortex-m0-plus/kinetis-kl2x-72-96-mhz-usb-ultra-low-power-microcontrollers-mcus-based-on-arm-cortex-m0-plus-core:KL2x)
@@ -75,10 +79,6 @@ You can also use any ARM chip with USB that [ChibiOS](https://www.chibios.org) s
For a detailed overview about the RP2040 support by QMK see the [dedicated RP2040 page](platformdev_rp2040).
-## Atmel ATSAM
-
-There is limited support for one of Atmel's ATSAM microcontrollers, that being the [ATSAMD51J18A](https://www.microchip.com/wwwproducts/en/ATSAMD51J18A) used by the [Massdrop keyboards](https://github.com/qmk/qmk_firmware/tree/master/keyboards/massdrop). However, it is not recommended to design a board with this microcontroller as the support is quite specialized to Massdrop hardware.
-
## RISC-V
### GigaDevice
diff --git a/docs/config_options.md b/docs/config_options.md
index a1ca8c8d503a..90a708dd99c2 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -413,7 +413,7 @@ Use these to enable or disable building certain features. The more you have enab
* `MAGIC_ENABLE`
* MAGIC actions (BOOTMAGIC without the boot)
* `BOOTMAGIC_ENABLE`
- * Enable Bootmagic Lite
+ * Enable Bootmagic
* `MOUSEKEY_ENABLE`
* Mouse keys
* `EXTRAKEY_ENABLE`
@@ -426,8 +426,6 @@ Use these to enable or disable building certain features. The more you have enab
* Key combo feature
* `NKRO_ENABLE`
* USB N-Key Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-* `RING_BUFFERED_6KRO_REPORT_ENABLE`
- * USB 6-Key Rollover - Instead of stopping any new input once 6 keys are pressed, the oldest key is released and the new key is pressed.
* `AUDIO_ENABLE`
* Enable the audio subsystem.
* `KEY_OVERRIDE_ENABLE`
diff --git a/docs/configurator_default_keymaps.md b/docs/configurator_default_keymaps.md
index 40304dc57b78..0dfc41ea21de 100644
--- a/docs/configurator_default_keymaps.md
+++ b/docs/configurator_default_keymaps.md
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DOWN, BL_UP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_TOGG, UG_NEXT, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, UG_VALD, UG_VALU, BL_TOGG, BL_DOWN, BL_UP,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -82,7 +82,7 @@ The default keymap uses the `LAYOUT_all` macro, so that will be the value of the
"KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_RALT", "MO(1)", "KC_RGUI", "KC_RCTL", "KC_LEFT", "KC_DOWN", "KC_RGHT"
],
[
- "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_TOG", "RGB_MOD", "RGB_HUD", "RGB_HUI", "RGB_SAD", "RGB_SAI", "RGB_VAD", "RGB_VAI", "BL_TOGG", "BL_DOWN", "BL_UP",
+ "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "UG_TOGG", "UG_NEXT", "UG_HUED", "UG_HUEU", "UG_SATD", "UG_SATU", "UG_VALD", "UG_VALU", "BL_TOGG", "BL_DOWN", "BL_UP",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_VOLU",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "QK_BOOT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MPLY", "KC_MNXT", "KC_VOLD",
"KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS",
diff --git a/docs/contributing.md b/docs/contributing.md
index 43b2214d09db..bbb1997a6f64 100644
--- a/docs/contributing.md
+++ b/docs/contributing.md
@@ -11,7 +11,7 @@ Third-party contributions help us grow and improve QMK. We want to make the pull
## I Don't Want to Read This Whole Thing! I Just Have a Question!
-If you'd like to ask questions about QMK you can do so on the [OLKB Subreddit](https://reddit.com/r/olkb) or on [Discord](https://discord.gg/Uq7gcHh).
+If you'd like to ask questions about QMK you can do so on the [OLKB Subreddit](https://reddit.com/r/olkb) or on [Discord](https://discord.gg/qmk).
Please keep these things in mind:
@@ -29,7 +29,7 @@ QMK is largely written in C, with specific features and parts written in C++. It
# Where Can I Go for Help?
-If you need help you can [open an issue](https://github.com/qmk/qmk_firmware/issues) or [chat on Discord](https://discord.gg/Uq7gcHh).
+If you need help you can [open an issue](https://github.com/qmk/qmk_firmware/issues) or [chat on Discord](https://discord.gg/qmk).
# How Do I Make a Contribution?
@@ -128,7 +128,7 @@ We also ask that you follow these guidelines:
Before you put a lot of work into building your new feature you should make sure you are implementing it in the best way. You can get a basic understanding of QMK by reading [Understanding QMK](understanding_qmk), which will take you on a tour of the QMK program flow. From here you should talk to us to get a sense of the best way to implement your idea. There are two main ways to do this:
-* [Chat on Discord](https://discord.gg/Uq7gcHh)
+* [Chat on Discord](https://discord.gg/qmk)
* [Open an Issue](https://github.com/qmk/qmk_firmware/issues/new)
Feature and Bug Fix PRs affect all keyboards. We are also in the process of restructuring QMK. For this reason it is especially important for significant changes to be discussed before implementation has happened. If you open a PR without talking to us first please be prepared to do some significant rework if your choices do not mesh well with our planned direction.
diff --git a/docs/custom_quantum_functions.md b/docs/custom_quantum_functions.md
index 729f0cd02834..1479eb53f6c0 100644
--- a/docs/custom_quantum_functions.md
+++ b/docs/custom_quantum_functions.md
@@ -184,7 +184,7 @@ Whenever possible you should customize your keyboard by using `process_record_*(
### Example `matrix_scan_*` Implementation
-This example has been deliberately omitted. You should understand enough about QMK internals to write this without an example before hooking into such a performance sensitive area. If you need help please [open an issue](https://github.com/qmk/qmk_firmware/issues/new) or [chat with us on Discord](https://discord.gg/Uq7gcHh).
+This example has been deliberately omitted. You should understand enough about QMK internals to write this without an example before hooking into such a performance sensitive area. If you need help please [open an issue](https://github.com/qmk/qmk_firmware/issues/new) or [chat with us on Discord](https://discord.gg/qmk).
### `matrix_scan_*` Function Documentation
diff --git a/docs/driver_installation_zadig.md b/docs/driver_installation_zadig.md
index 099376faeb1d..1a5bd1cc3464 100644
--- a/docs/driver_installation_zadig.md
+++ b/docs/driver_installation_zadig.md
@@ -8,8 +8,8 @@ We recommend the use of the [Zadig](https://zadig.akeo.ie/) utility. If you have
## Installation
-Put your keyboard into bootloader mode, either by hitting the `QK_BOOT` keycode (which may be on a different layer), or by pressing the reset switch that's usually located on the underside of the board. If your keyboard has neither, try holding Escape or Space+`B` as you plug it in (see the [Bootmagic Lite](features/bootmagic) docs for more details). Some boards use [Command](features/command) instead of Bootmagic; in this case, you can enter bootloader mode by hitting Left Shift+Right Shift+`B` or Left Shift+Right Shift+Escape at any point while the keyboard is plugged in.
-Some keyboards may have specific instructions for entering the bootloader. For example, the [Bootmagic Lite](features/bootmagic) key (default: Escape) might be on a different key, e.g. Left Control; or the magic combination for Command (default: Left Shift+Right Shift) might require you to hold something else, e.g. Left Control+Right Control. Refer to the board's README file if you are unsure.
+Put your keyboard into bootloader mode, either by hitting the `QK_BOOT` keycode (which may be on a different layer), or by pressing the reset switch that's usually located on the underside of the board. If your keyboard has neither, try holding Escape or Space+`B` as you plug it in (see the [Bootmagic](features/bootmagic) docs for more details). Some boards use [Command](features/command) instead of Bootmagic; in this case, you can enter bootloader mode by hitting Left Shift+Right Shift+`B` or Left Shift+Right Shift+Escape at any point while the keyboard is plugged in.
+Some keyboards may have specific instructions for entering the bootloader. For example, the [Bootmagic](features/bootmagic) key (default: Escape) might be on a different key, e.g. Left Control; or the magic combination for Command (default: Left Shift+Right Shift) might require you to hold something else, e.g. Left Control+Right Control. Refer to the board's README file if you are unsure.
To put a device in bootloader mode with USBaspLoader, tap the `RESET` button while holding down the `BOOT` button.
Alternatively, hold `BOOT` while inserting the USB cable.
@@ -98,6 +98,7 @@ The device name here is the name that appears in Zadig, and may not be what the
|`bootloadhid` |HIDBoot |`16C0:05DF` |HidUsb |
|`usbasploader`|USBasp |`16C0:05DC` |libusbK|
|`apm32-dfu` |APM32 DFU ISP Mode |`314B:0106` |WinUSB |
+|`at32-dfu` |AT32 Bootloader DFU |`2E3C:DF11` |WinUSB |
|`stm32-dfu` |STM32 BOOTLOADER |`0483:DF11` |WinUSB |
|`gd32v-dfu` |GD32V BOOTLOADER |`28E9:0189` |WinUSB |
|`kiibohd` |Kiibohd DFU Bootloader |`1C11:B007` |WinUSB |
diff --git a/docs/drivers/apa102.md b/docs/drivers/apa102.md
index 88868a73b593..197b18869e83 100644
--- a/docs/drivers/apa102.md
+++ b/docs/drivers/apa102.md
@@ -26,20 +26,51 @@ Add the following to your `config.h`:
## API {#api}
-### `void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds)`
+### `void apa102_init(void)` {#api-apa102-init}
-Send RGB data to the APA102 LED chain.
+Initialize the LED driver. This function should be called first.
-#### Arguments {#api-apa102-setleds-arguments}
+---
+
+### `void apa102_set_color(uint16_t index, uint8_t red, uint8_t green, uint8_t blue)` {#api-apa102-set-color}
+
+Set the color of a single LED. This function does not immediately update the LEDs; call `apa102_flush()` after you are finished.
+
+#### Arguments {#api-apa102-set-color-arguments}
+
+ - `uint16_t index`
+ The LED index in the APA102 chain.
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void apa102_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-apa102-set-color-all}
+
+Set the color of all LEDs.
+
+#### Arguments {#api-apa102-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void apa102_flush(void)` {#api-apa102-flush}
- - `rgb_led_t *start_led`
- A pointer to the LED array.
- - `uint16_t num_leds`
- The length of the LED array.
+Flush the PWM values to the LED chain.
---
-### `void apa102_set_brightness(uint8_t brightness)`
+### `void apa102_set_brightness(uint8_t brightness)` {#api-apa102-set-brightness}
Set the global brightness.
diff --git a/docs/drivers/audio.md b/docs/drivers/audio.md
index c764c97369a9..165e61f0655d 100644
--- a/docs/drivers/audio.md
+++ b/docs/drivers/audio.md
@@ -57,27 +57,32 @@ This driver needs one Timer per enabled/used DAC channel, to trigger conversion;
Additionally, in the board config, you'll want to make changes to enable the DACs, GPT for Timers 6, 7 and 8:
-```c
-//halconf.h:
-#define HAL_USE_DAC TRUE
-#define HAL_USE_GPT TRUE
+::: code-group
+```c [halconf.h]
+#pragma once
+
+#define HAL_USE_DAC TRUE // [!code focus]
+#define HAL_USE_GPT TRUE // [!code focus]
+
#include_next
```
+```c [mcuconf.h]
+#pragma once
-```c
-// mcuconf.h:
#include_next
-#undef STM32_DAC_USE_DAC1_CH1
-#define STM32_DAC_USE_DAC1_CH1 TRUE
-#undef STM32_DAC_USE_DAC1_CH2
-#define STM32_DAC_USE_DAC1_CH2 TRUE
-#undef STM32_GPT_USE_TIM6
-#define STM32_GPT_USE_TIM6 TRUE
-#undef STM32_GPT_USE_TIM7
-#define STM32_GPT_USE_TIM7 TRUE
-#undef STM32_GPT_USE_TIM8
-#define STM32_GPT_USE_TIM8 TRUE
+
+#undef STM32_DAC_USE_DAC1_CH1 // [!code focus]
+#define STM32_DAC_USE_DAC1_CH1 TRUE // [!code focus]
+#undef STM32_DAC_USE_DAC1_CH2 // [!code focus]
+#define STM32_DAC_USE_DAC1_CH2 TRUE // [!code focus]
+#undef STM32_GPT_USE_TIM6 // [!code focus]
+#define STM32_GPT_USE_TIM6 TRUE // [!code focus]
+#undef STM32_GPT_USE_TIM7 // [!code focus]
+#define STM32_GPT_USE_TIM7 TRUE // [!code focus]
+#undef STM32_GPT_USE_TIM8 // [!code focus]
+#define STM32_GPT_USE_TIM8 TRUE // [!code focus]
```
+:::
::: tip
Note: DAC1 (A4) uses TIM6, DAC2 (A5) uses TIM7, and the audio state timer uses TIM8 (configurable).
@@ -95,23 +100,28 @@ only needs one timer (GPTD6, Tim6) to trigger the DAC unit to do a conversion; t
Additionally, in the board config, you'll want to make changes to enable the DACs, GPT for Timer 6:
-```c
-//halconf.h:
-#define HAL_USE_DAC TRUE
-#define HAL_USE_GPT TRUE
+::: code-group
+```c [halconf.h]
+#pragma once
+
+#define HAL_USE_DAC TRUE // [!code focus]
+#define HAL_USE_GPT TRUE // [!code focus]
+
#include_next
```
+```c [mcuconf.h]
+#pragma once
-```c
-// mcuconf.h:
#include_next
-#undef STM32_DAC_USE_DAC1_CH1
-#define STM32_DAC_USE_DAC1_CH1 TRUE
-#undef STM32_DAC_USE_DAC1_CH2
-#define STM32_DAC_USE_DAC1_CH2 TRUE
-#undef STM32_GPT_USE_TIM6
-#define STM32_GPT_USE_TIM6 TRUE
+
+#undef STM32_DAC_USE_DAC1_CH1 // [!code focus]
+#define STM32_DAC_USE_DAC1_CH1 TRUE // [!code focus]
+#undef STM32_DAC_USE_DAC1_CH2 // [!code focus]
+#define STM32_DAC_USE_DAC1_CH2 TRUE // [!code focus]
+#undef STM32_GPT_USE_TIM6 // [!code focus]
+#define STM32_GPT_USE_TIM6 TRUE // [!code focus]
```
+:::
### DAC Config
@@ -170,19 +180,25 @@ This driver uses the ChibiOS-PWM system to produce a square-wave on specific out
The hardware directly toggles the pin via its alternate function. See your MCU's data-sheet for which pin can be driven by what timer - looking for TIMx_CHy and the corresponding alternate function.
A configuration example for the STM32F103C8 would be:
-```c
-//halconf.h:
-#define HAL_USE_PWM TRUE
-#define HAL_USE_PAL TRUE
+
+::: code-group
+```c [halconf.h]
+#pragma once
+
+#define HAL_USE_PWM TRUE // [!code focus]
+#define HAL_USE_PAL TRUE // [!code focus]
+
#include_next
```
+```c [mcuconf.h]
+#pragma once
-```c
-// mcuconf.h:
#include_next
-#undef STM32_PWM_USE_TIM1
-#define STM32_PWM_USE_TIM1 TRUE
+
+#undef STM32_PWM_USE_TIM1 // [!code focus]
+#define STM32_PWM_USE_TIM1 TRUE // [!code focus]
```
+:::
If we now target pin A8, looking through the data-sheet of the STM32F103C8, for the timers and alternate functions
- TIM1_CH1 = PA8 <- alternate0
diff --git a/docs/drivers/aw20216s.md b/docs/drivers/aw20216s.md
new file mode 100644
index 000000000000..36a6d63c33be
--- /dev/null
+++ b/docs/drivers/aw20216s.md
@@ -0,0 +1,133 @@
+# AW20216S Driver {#aw20216s-driver}
+
+SPI 18x12 LED matrix driver by Awinic. Supports a maximum of four drivers, each controlling up to 216 single-color LEDs, or 72 RGB LEDs.
+
+[AW20216S Datasheet](https://doc.awinic.com/doc/20230609wm/b6a9c70b-e1bd-495b-925f-bcbed3fc2620.pdf)
+
+## Usage {#usage}
+
+The AW20216S driver code is automatically included if you are using the [RGB Matrix](../features/rgb_matrix) feature with the `aw20216s` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led
+SRC += aw20216s.c
+SPI_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|-----------------------------|-------------|-------------------------------------------------------------|
+|`AW20216S_CS_PIN_1` |*Not defined*|The GPIO pin connected to the first driver's Chip Select pin |
+|`AW20216S_CS_PIN_2` |*Not defined*|The GPIO pin connected to the second driver's Chip Select pin|
+|`AW20216S_EN_PIN` |*Not defined*|The GPIO pin connected to the drivers' Enable pins |
+|`AW20216S_SPI_MODE` |`0` |The SPI mode to use |
+|`AW20216S_SPI_DIVISOR` |`4` |The SPI divisor to use |
+|`AW20216S_SCALING_MAX` |`150` |The scaling value |
+|`AW20216S_GLOBAL_CURRENT_MAX`|`150` |The global current control value |
+
+### Global Current Control {#global-current-control}
+
+This setting controls the current sunk by the `CSx` pins, from 0 to 255. To adjust it, add the following to your `config.h`:
+
+```c
+#define AW20216S_GLOBAL_CURRENT_MAX 150
+```
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure SPI](spi#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ // etc...
+};
+```
+
+In this example, the first LED index on driver 0 has its red channel on `SW1_CS1`, green on `SW1_CS2` and blue on `SW1_CS3`.
+
+These values correspond to the matrix locations as shown in the datasheet on page 16, figure 16.
+
+## API {#api}
+
+### `struct aw20216s_led_t` {#api-aw20216s-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-aw20216s-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel.
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel.
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel.
+
+---
+
+### `void aw20216s_init(pin_t cs_pin)` {#api-aw20216s-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-aw20216s-init-arguments}
+
+ - `pin_t cs_pin`
+ The GPIO connected to the Chip Select pin of the LED driver to initialize.
+
+---
+
+### `void aw20216s_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-aw20216s-set-color}
+
+Set the color of a single LED. This function does not immediately update the LEDs; call `aw20216s_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-aw20216s-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_aw20216s_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void aw20216s_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-aw20216s-set-color-all}
+
+Set the color of all LEDs.
+
+#### Arguments {#api-aw20216s-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void aw20216s_update_pwm_buffers(pin_t cs_pin, uint8_t index)` {#api-aw20216s-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-aw20216s-update-pwm-buffers-arguments}
+
+ - `pin_t cs_pin`
+ The GPIO connected to the Chip Select pin of the driver.
+ - `uint8_t index`
+ The index of the driver.
diff --git a/docs/drivers/eeprom.md b/docs/drivers/eeprom.md
index 82630c501d11..0ae258424f87 100644
--- a/docs/drivers/eeprom.md
+++ b/docs/drivers/eeprom.md
@@ -119,13 +119,14 @@ This driver performs writes to the embedded flash storage embedded in the MCU. I
Configurable options in your keyboard's `config.h`:
-`config.h` override | Default | Description
------------------------------------------|-------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-`#define WEAR_LEVELING_EFL_FIRST_SECTOR` | _unset_ | The first sector on the MCU to use. By default this is not defined and calculated at runtime based on the MCU. However, different flash sizes on MCUs may require custom configuration.
-`#define WEAR_LEVELING_EFL_FLASH_SIZE` | _unset_ | Allows overriding the flash size available for use for wear-leveling. Under normal circumstances this is automatically calculated and should not need to be overridden. Specifying a size larger than the amount actually available in flash will usually prevent the MCU from booting.
-`#define WEAR_LEVELING_LOGICAL_SIZE` | `(backing_size/2)` | Number of bytes "exposed" to the rest of QMK and denotes the size of the usable EEPROM.
-`#define WEAR_LEVELING_BACKING_SIZE` | `2048` | Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size.
-`#define BACKING_STORE_WRITE_SIZE` | _automatic_ | The byte width of the underlying write used on the MCU, and is usually automatically determined from the selected MCU family. If an error occurs in the auto-detection, you'll need to consult the MCU's datasheet and determine this value, specifying it directly.
+`config.h` override | Default | Description
+---------------------------------------------------|--------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+`#define WEAR_LEVELING_EFL_FIRST_SECTOR` | _unset_ | The first sector on the MCU to use. By default this is not defined and calculated at runtime based on the MCU. However, different flash sizes on MCUs may require custom configuration.
+`#define WEAR_LEVELING_EFL_FLASH_SIZE` | _unset_ | Allows overriding the flash size available for use for wear-leveling. Under normal circumstances this is automatically calculated and should not need to be overridden. Specifying a size larger than the amount actually available in flash will usually prevent the MCU from booting.
+`#define WEAR_LEVELING_EFL_OMIT_LAST_SECTOR_COUNT` | `0` | Number of sectors to omit at the end of the flash. These sectors will not be allocated to the driver and the usable flash block will be offset, but keeping the set flash size. Useful on devices with bootloaders requiring a check flag at the end of flash to be present in order to confirm a valid, bootable firmware.
+`#define WEAR_LEVELING_LOGICAL_SIZE` | `(backing_size/2)` | Number of bytes "exposed" to the rest of QMK and denotes the size of the usable EEPROM.
+`#define WEAR_LEVELING_BACKING_SIZE` | `2048` | Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size.
+`#define BACKING_STORE_WRITE_SIZE` | _automatic_ | The byte width of the underlying write used on the MCU, and is usually automatically determined from the selected MCU family. If an error occurs in the auto-detection, you'll need to consult the MCU's datasheet and determine this value, specifying it directly.
::: warning
If your MCU does not boot after swapping to the EFL wear-leveling driver, it's likely that the flash size is incorrectly detected, usually as an MCU with larger flash and may require overriding.
diff --git a/docs/drivers/gpio.md b/docs/drivers/gpio.md
index 9ce4f2aa20c1..b21a17bc39aa 100644
--- a/docs/drivers/gpio.md
+++ b/docs/drivers/gpio.md
@@ -13,7 +13,7 @@ The following macros provide basic control of GPIOs and are found in `platforms/
|`gpio_set_pin_input_low(pin)` |Set pin as input with builtin pull-down resistor (unavailable on AVR)|
|`gpio_set_pin_output(pin)` |Set pin as output (alias of `gpio_set_pin_output_push_pull`) |
|`gpio_set_pin_output_push_pull(pin)` |Set pin as output, push/pull mode |
-|`gpio_set_pin_output_open_drain(pin)`|Set pin as output, open-drain mode (unavailable on AVR and ATSAM) |
+|`gpio_set_pin_output_open_drain(pin)`|Set pin as output, open-drain mode (unavailable on AVR) |
|`gpio_write_pin_high(pin)` |Set pin level as high, assuming it is an output |
|`gpio_write_pin_low(pin)` |Set pin level as low, assuming it is an output |
|`gpio_write_pin(pin, level)` |Set pin level, assuming it is an output |
diff --git a/docs/drivers/i2c.md b/docs/drivers/i2c.md
index 10949ed59e08..c806a090c56e 100644
--- a/docs/drivers/i2c.md
+++ b/docs/drivers/i2c.md
@@ -54,18 +54,25 @@ The ATmega16/32U2 does not possess I2C functionality, and so cannot use this dri
You'll need to determine which pins can be used for I2C -- a an example, STM32 parts generally have multiple I2C peripherals, labeled I2C1, I2C2, I2C3 etc.
-To enable I2C, modify your board's `halconf.h` to enable I2C:
+To enable I2C, modify your board's `halconf.h` to enable I2C, then modify your board's `mcuconf.h` to enable the peripheral you've chosen:
-```c
-#define HAL_USE_I2C TRUE
+::: code-group
+```c [halconf.h]
+#pragma once
+
+#define HAL_USE_I2C TRUE // [!code focus]
+
+#include_next
```
+```c [mcuconf.h]
+#pragma once
-Then, modify your board's `mcuconf.h` to enable the peripheral you've chosen, for example:
+#include_next
-```c
-#undef STM32_I2C_USE_I2C2
-#define STM32_I2C_USE_I2C2 TRUE
+#undef STM32_I2C_USE_I2C2 // [!code focus]
+#define STM32_I2C_USE_I2C2 TRUE // [!code focus]
```
+:::
|`mcuconf.h` Setting |Description |Default|
|----------------------------|----------------------------------------------------------------------------------|-------|
diff --git a/docs/drivers/is31fl3218.md b/docs/drivers/is31fl3218.md
new file mode 100644
index 000000000000..1c9806912047
--- /dev/null
+++ b/docs/drivers/is31fl3218.md
@@ -0,0 +1,194 @@
+# IS31FL3218 Driver {#is31fl3218-driver}
+
+I²C LED driver by Lumissil. Supports up to 18 single-color LEDs, or 6 RGB LEDs.
+
+[IS31FL3218 Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3218_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3218 driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3218` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3218-mono.c # For single-color
+SRC += is31fl3218.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|----------------------------|-------------|---------------------------------------------------|
+|`IS31FL3218_SDB_PIN` |*Not defined*|The GPIO pin connected to the driver's shutdown pin|
+|`IS31FL3218_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3218_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3218's 7-bit I²C address is `0x54`, available as `IS31FL3218_I2C_ADDRESS`.
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3218_led_t PROGMEM g_is31fl3218_leds[IS31FL3218_LED_COUNT] = {
+/* R G B */
+ {OUT1, OUT2, OUT3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index all have their anodes connected to `VCC`, and their cathodes on the `OUT1`, `OUT2` and `OUT3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3218_led_t PROGMEM g_is31fl3218_leds[IS31FL3218_LED_COUNT] = {
+/* V */
+ {OUT1},
+ // etc...
+};
+```
+
+## API {#api}
+
+### `struct is31fl3218_led_t` {#api-is31fl3218-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3218-led-t-members}
+
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3218_init(void)` {#api-is31fl3218-init}
+
+Initialize the LED driver. This function should be called first.
+
+---
+
+### `void is31fl3218_write_register(uint8_t reg, uint8_t data)` {#api-is31fl3218-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3218-write-register-arguments}
+
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3218_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3218-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3218_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3218-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3218_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3218_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3218-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3218-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3218_set_value(int index, uint8_t value)` {#api-is31fl3218-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3218_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3218-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3218_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3218_set_value_all(uint8_t value)` {#api-is31fl3218-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3218-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3218_set_led_control_register(uint8_t index, bool red, bool green, bool blue)` {#api-is31fl3218-set-led-control-register-rgb}
+
+Configure the LED control registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3218_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3218-set-led-control-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3218_leds` array).
+ - `bool red`
+ Enable or disable the red channel.
+ - `bool green`
+ Enable or disable the green channel.
+ - `bool blue`
+ Enable or disable the blue channel.
+
+---
+
+### `void is31fl3218_set_led_control_register(uint8_t index, bool value)` {#api-is31fl3218-set-led-control-register-mono}
+
+Configure the LED control registers for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3218_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3218-set-led-control-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3218_leds` array).
+ - `bool value`
+ Enable or disable the LED.
+
+---
+
+### `void is31fl3218_update_pwm_buffers(void)` {#api-is31fl3218-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+---
+
+### `void is31fl3218_update_led_control_registers(void)` {#api-is31fl3218-update-led-control-registers}
+
+Flush the LED control register values to the LED driver.
diff --git a/docs/drivers/is31fl3236.md b/docs/drivers/is31fl3236.md
new file mode 100644
index 000000000000..98e05e4abd4f
--- /dev/null
+++ b/docs/drivers/is31fl3236.md
@@ -0,0 +1,228 @@
+# IS31FL3236 Driver {#is31fl3236-driver}
+
+I²C LED driver by Lumissil. Supports a maximum of four drivers, each controlling up to 36 single-color LEDs, or 12 RGB LEDs.
+
+[IS31FL3236 Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3236_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3236 driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3236` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3236-mono.c # For single-color
+SRC += is31fl3236.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|----------------------------|-------------|----------------------------------------------------|
+|`IS31FL3236_SDB_PIN` |*Not defined*|The GPIO pin connected to the drivers' shutdown pins|
+|`IS31FL3236_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3236_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`IS31FL3236_I2C_ADDRESS_1` |*Not defined*|The I²C address of driver 0 |
+|`IS31FL3236_I2C_ADDRESS_2` |*Not defined*|The I²C address of driver 1 |
+|`IS31FL3236_I2C_ADDRESS_3` |*Not defined*|The I²C address of driver 2 |
+|`IS31FL3236_I2C_ADDRESS_4` |*Not defined*|The I²C address of driver 3 |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3236 has four possible 7-bit I²C addresses, depending on how the `AD` pin is connected.
+
+To configure this, set the `IS31FL3236_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|----------------------------|------|
+|`IS31FL3236_I2C_ADDRESS_GND`|`0x3C`|
+|`IS31FL3236_I2C_ADDRESS_SCL`|`0x3D`|
+|`IS31FL3236_I2C_ADDRESS_SDA`|`0x3E`|
+|`IS31FL3236_I2C_ADDRESS_VCC`|`0x3F`|
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3236_led_t PROGMEM g_is31fl3236_leds[IS31FL3236_LED_COUNT] = {
+/* Driver
+ | R G B */
+ {0, OUT1, OUT2, OUT3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their anodes connected to `VCC`, and their cathodes on the `OUT1`, `OUT2` and `OUT3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3236_led_t PROGMEM g_is31fl3236_leds[IS31FL3236_LED_COUNT] = {
+/* Driver
+ | V */
+ {0, OUT1},
+ // etc...
+};
+```
+
+## API {#api}
+
+### `struct is31fl3236_led_t` {#api-is31fl3236-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3236-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3236_init(uint8_t index)` {#api-is31fl3236-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-is31fl3236-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3236_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3236-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3236-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3236_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3236-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3236_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3236-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3236_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3236_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3236-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3236-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3236_set_value(int index, uint8_t value)` {#api-is31fl3236-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3236_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3236-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3236_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3236_set_value_all(uint8_t value)` {#api-is31fl3236-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3236-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3236_set_led_control_register(uint8_t index, bool red, bool green, bool blue)` {#api-is31fl3236-set-led-control-register-rgb}
+
+Configure the LED control registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3236_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3236-set-led-control-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3236_leds` array).
+ - `bool red`
+ Enable or disable the red channel.
+ - `bool green`
+ Enable or disable the green channel.
+ - `bool blue`
+ Enable or disable the blue channel.
+
+---
+
+### `void is31fl3236_set_led_control_register(uint8_t index, bool value)` {#api-is31fl3236-set-led-control-register-mono}
+
+Configure the LED control registers for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3236_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3236-set-led-control-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3236_leds` array).
+ - `bool value`
+ Enable or disable the LED.
+
+---
+
+### `void is31fl3236_update_pwm_buffers(uint8_t index)` {#api-is31fl3236-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-is31fl3236-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3236_update_led_control_registers(uint8_t index)` {#api-is31fl3236-update-led-control-registers}
+
+Flush the LED control register values to the LED driver.
+
+#### Arguments {#api-is31fl3236-update-led-control-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/is31fl3729.md b/docs/drivers/is31fl3729.md
new file mode 100644
index 000000000000..32618d82d597
--- /dev/null
+++ b/docs/drivers/is31fl3729.md
@@ -0,0 +1,300 @@
+# IS31FL3729 Driver {#is31fl3729-driver}
+
+I²C 16x8/15x9 LED matrix driver by Lumissil. Supports a maximum of four drivers, each controlling up to 135 single-color LEDs, or 45 RGB LEDs.
+
+[IS31FL3729 Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3729_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3729 driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3729` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3729-mono.c # For single-color
+SRC += is31fl3729.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|----------------------------|--------------------------------------|----------------------------------------------------|
+|`IS31FL3729_SDB_PIN` |*Not defined* |The GPIO pin connected to the drivers' shutdown pins|
+|`IS31FL3729_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3729_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`IS31FL3729_I2C_ADDRESS_1` |*Not defined* |The I²C address of driver 0 |
+|`IS31FL3729_I2C_ADDRESS_2` |*Not defined* |The I²C address of driver 1 |
+|`IS31FL3729_I2C_ADDRESS_3` |*Not defined* |The I²C address of driver 2 |
+|`IS31FL3729_I2C_ADDRESS_4` |*Not defined* |The I²C address of driver 3 |
+|`IS31FL3729_PWM_FREQUENCY` |`IS31FL3729_PWM_FREQUENCY_32K_HZ` |The PWM frequency of the LEDs |
+|`IS31FL3729_SW_PULLDOWN` |`IS31FL3729_SW_PULLDOWN_2K_OHM_SW_OFF`|The `SWx` pullup resistor value |
+|`IS31FL3729_CS_PULLUP` |`IS31FL3729_CS_PULLUP_2K_OHM_CS_OFF` |The `CSx` pulldown resistor value |
+|`IS31FL3729_GLOBAL_CURRENT` |`0x40` |The global current control value |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3729 has four possible 7-bit I²C addresses, depending on how the `AD` pin is connected.
+
+To configure this, set the `IS31FL3729_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|----------------------------|------|
+|`IS31FL3729_I2C_ADDRESS_GND`|`0x34`|
+|`IS31FL3729_I2C_ADDRESS_SCL`|`0x35`|
+|`IS31FL3729_I2C_ADDRESS_SDA`|`0x36`|
+|`IS31FL3729_I2C_ADDRESS_VCC`|`0x37`|
+
+### PWM Frequency {#pwm-frequency}
+
+The PWM frequency can be adjusted by adding the following to your `config.h`:
+
+```c
+#define IS31FL3729_PWM_FREQUENCY IS31FL3729_PWM_FREQUENCY_32K_HZ
+```
+
+Valid values are:
+
+|Define |Frequency |
+|----------------------------------|----------------|
+|`IS31FL3729_PWM_FREQUENCY_55K_HZ` |55 kHz |
+|`IS31FL3729_PWM_FREQUENCY_32K_HZ` |32 kHz (default)|
+|`IS31FL3729_PWM_FREQUENCY_4K_HZ` |4 kHz |
+|`IS31FL3729_PWM_FREQUENCY_2K_HZ` |2 kHz |
+|`IS31FL3729_PWM_FREQUENCY_1K_HZ` |1 kHz |
+|`IS31FL3729_PWM_FREQUENCY_500_HZ` |500 Hz |
+|`IS31FL3729_PWM_FREQUENCY_250_HZ` |250 Hz |
+|`IS31FL3729_PWM_FREQUENCY_80K_HZ` |80 kHz |
+
+### De-Ghosting {#de-ghosting}
+
+These settings control the pulldown and pullup resistor values on the `SWy` and `CSx` pins respectively, for the purposes of eliminating ghosting. Refer to the datasheet (p. 18) for more information on how and why this occurs.
+
+To adjust the resistor values, add the following to your `config.h`:
+
+```c
+#define IS31FL3729_SW_PULLDOWN IS31FL3729_SW_PULLDOWN_2K_OHM_SW_OFF
+#define IS31FL3729_CS_PULLUP IS31FL3729_CS_PULLUP_2K_OHM_CS_OFF
+```
+
+Valid values for `IS31FL3729_SW_PULLDOWN` are:
+
+|Define |Resistance |
+|---------------------------------------|------------------------------|
+|`IS31FL3729_SW_PULLDOWN_0_OHM` |None |
+|`IS31FL3729_SW_PULLDOWN_0K5_OHM_SW_OFF`|0.5 kΩ in SWy off time |
+|`IS31FL3729_SW_PULLDOWN_1K_OHM_SW_OFF` |1 kΩ in SWy off time |
+|`IS31FL3729_SW_PULLDOWN_2K_OHM_SW_OFF` |2 kΩ in SWy off time (default)|
+|`IS31FL3729_SW_PULLDOWN_1K_OHM` |1 kΩ |
+|`IS31FL3729_SW_PULLDOWN_2K_OHM` |2 kΩ |
+|`IS31FL3729_SW_PULLDOWN_4K_OHM` |4 kΩ |
+|`IS31FL3729_SW_PULLDOWN_8K_OHM` |8 kΩ |
+
+Valid values for `IS31FL3729_CS_PULLUP` are:
+
+|Define |Resistance |
+|-------------------------------------|------------------------------|
+|`IS31FL3729_CS_PULLUP_0_OHM` |None |
+|`IS31FL3729_CS_PULLUP_0K5_OHM_CS_OFF`|0.5 kΩ in CSx off time |
+|`IS31FL3729_CS_PULLUP_1K_OHM_CS_OFF` |1 kΩ in CSx off time |
+|`IS31FL3729_CS_PULLUP_2K_OHM_CS_OFF` |2 kΩ in CSx off time (default)|
+|`IS31FL3729_CS_PULLUP_1K_OHM` |1 kΩ |
+|`IS31FL3729_CS_PULLUP_2K_OHM` |2 kΩ |
+|`IS31FL3729_CS_PULLUP_4K_OHM` |4 kΩ |
+|`IS31FL3729_CS_PULLUP_8K_OHM` |8 kΩ |
+
+### Global Current Control {#global-current-control}
+
+This setting controls the current sunk by the `CSx` pins, from 0 to 255. By default, the value is 64, but if you need to adjust it, add the following to your `config.h`:
+
+```c
+#define IS31FL3729_GLOBAL_CURRENT 0x40
+```
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3729_led_t PROGMEM g_is31fl3729_leds[IS31FL3729_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their anodes connected to the `SW1` pin, and their cathodes on the `CS1`, `CS2` and `CS3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3729_led_t PROGMEM g_is31fl3729_leds[IS31FL3729_LED_COUNT] = {
+/* Driver
+ * | V */
+ {0, SW1_CS1},
+ // etc...
+};
+```
+
+These values correspond to the register indices as shown in the datasheet on page 12, figure 9.
+
+## API {#api}
+
+### `struct is31fl3729_led_t` {#api-is31fl3729-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3729-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3729_init(uint8_t index)` {#api-is31fl3729-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-is31fl3729-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3729_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3729-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3729-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3729_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3729-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3729_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3729-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3729_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3729_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3729-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3729-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3729_set_value(int index, uint8_t value)` {#api-is31fl3729-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3729_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3729-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3729_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3729_set_value_all(uint8_t value)` {#api-is31fl3729-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3729-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3729_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3729-set-scaling-register-rgb}
+
+Configure the scaling registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3729_update_scaling_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3729-set-scaling-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3729_leds` array).
+ - `uint8_t red`
+ The scaling value for the red channel.
+ - `uint8_t green`
+ The scaling value for the green channel.
+ - `uint8_t blue`
+ The scaling value for the blue channel.
+
+---
+
+### `void is31fl3729_set_scaling_register(uint8_t index, uint8_t value)` {#api-is31fl3729-set-scaling-register-mono}
+
+Configure the scaling registers for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3729_update_scaling_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3729-set-scaling-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3729_leds` array).
+ - `uint8_t value`
+ The scaling value for the LED.
+
+---
+
+### `void is31fl3729_update_pwm_buffers(uint8_t index)` {#api-is31fl3729-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-is31fl3729-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3729_update_scaling_registers(uint8_t index)` {#api-is31fl3729-update-scaling-registers}
+
+Flush the scaling register values to the LED driver.
+
+#### Arguments {#api-is31fl3729-update-scaling-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/is31fl3731.md b/docs/drivers/is31fl3731.md
new file mode 100644
index 000000000000..0d928a919ef7
--- /dev/null
+++ b/docs/drivers/is31fl3731.md
@@ -0,0 +1,254 @@
+# IS31FL3731 Driver {#is31fl3731-driver}
+
+I²C Charlieplexed 16x9 LED matrix driver by Lumissil. Supports a maximum of four drivers, each controlling up to 144 single-color LEDs, or 48 RGB LEDs.
+
+[IS31FL3731 Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3731_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3731 driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3731` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3731-mono.c # For single-color
+SRC += is31fl3731.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|----------------------------|-------------|----------------------------------------------------|
+|`IS31FL3731_SDB_PIN` |*Not defined*|The GPIO pin connected to the drivers' shutdown pins|
+|`IS31FL3731_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3731_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`IS31FL3731_I2C_ADDRESS_1` |*Not defined*|The I²C address of driver 0 |
+|`IS31FL3731_I2C_ADDRESS_2` |*Not defined*|The I²C address of driver 1 |
+|`IS31FL3731_I2C_ADDRESS_3` |*Not defined*|The I²C address of driver 2 |
+|`IS31FL3731_I2C_ADDRESS_4` |*Not defined*|The I²C address of driver 3 |
+|`IS31FL3731_DEGHOST` |*Not defined*|Enable ghost image prevention |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3731 has four possible 7-bit I²C addresses, depending on how the `AD` pin is connected.
+
+To configure this, set the `IS31FL3731_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|----------------------------|------|
+|`IS31FL3731_I2C_ADDRESS_GND`|`0x74`|
+|`IS31FL3731_I2C_ADDRESS_SCL`|`0x75`|
+|`IS31FL3731_I2C_ADDRESS_SDA`|`0x76`|
+|`IS31FL3731_I2C_ADDRESS_VCC`|`0x77`|
+
+### De-Ghosting {#de-ghosting}
+
+This setting enables the de-ghosting feature on the IS31FL3731. See this [Application Note](https://www.lumissil.com/assets/pdf/core/IS31FL3731_AN.pdf) (p. 15) for more information.
+
+To enable, add the following to your `config.h`:
+
+```c
+#define IS31FL3731_DEGHOST
+```
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, C1_1, C1_2, C1_3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their cathodes connected to the `CA1` pin, and their anodes on the `CA2`, `CA3` and `CA4` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
+/* Driver
+ * | V */
+ {0, C1_1},
+ // etc...
+};
+```
+
+These values correspond to the register indices as shown in the datasheet on page 11, figure 8.
+
+## API {#api}
+
+### `struct is31fl3731_led_t` {#api-is31fl3731-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3731-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3731_init(uint8_t index)` {#api-is31fl3731-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-is31fl3731-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3731_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3731-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3731-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3731_select_page(uint8_t index, uint8_t page)` {#api-is31fl3731-select-page}
+
+Change the current page for configuring the LED driver.
+
+#### Arguments {#api-is31fl3731-select-page-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t page`
+ The page number to select.
+
+---
+
+### `void is31fl3731_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3731-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3731_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3731-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3731_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3731_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3731-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3731-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3731_set_value(int index, uint8_t value)` {#api-is31fl3731-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3731_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3731-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3731_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3731_set_value_all(uint8_t value)` {#api-is31fl3731-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3731-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3731_set_led_control_register(uint8_t index, bool red, bool green, bool blue)` {#api-is31fl3731-set-led-control-register-rgb}
+
+Configure the LED control registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3731_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3731-set-led-control-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3731_leds` array).
+ - `bool red`
+ Enable or disable the red channel.
+ - `bool green`
+ Enable or disable the green channel.
+ - `bool blue`
+ Enable or disable the blue channel.
+
+---
+
+### `void is31fl3731_set_led_control_register(uint8_t index, bool value)` {#api-is31fl3731-set-led-control-register-mono}
+
+Configure the LED control registers for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3731_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3731-set-led-control-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3731_leds` array).
+ - `bool value`
+ Enable or disable the LED.
+
+---
+
+### `void is31fl3731_update_pwm_buffers(uint8_t index)` {#api-is31fl3731-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-is31fl3731-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3731_update_led_control_registers(uint8_t index)` {#api-is31fl3731-update-led-control-registers}
+
+Flush the LED control register values to the LED driver.
+
+#### Arguments {#api-is31fl3731-update-led-control-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/is31fl3733.md b/docs/drivers/is31fl3733.md
new file mode 100644
index 000000000000..e299f785bda0
--- /dev/null
+++ b/docs/drivers/is31fl3733.md
@@ -0,0 +1,338 @@
+# IS31FL3733 Driver {#is31fl3733-driver}
+
+I²C 12x16 LED matrix driver by Lumissil. Supports a maximum of four drivers, each controlling up to 192 single-color LEDs, or 64 RGB LEDs.
+
+[IS31FL3733 Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3733_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3733 driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3733` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3733-mono.c # For single-color
+SRC += is31fl3733.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|----------------------------|---------------------------------|----------------------------------------------------|
+|`IS31FL3733_SDB_PIN` |*Not defined* |The GPIO pin connected to the drivers' shutdown pins|
+|`IS31FL3733_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3733_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`IS31FL3733_I2C_ADDRESS_1` |*Not defined* |The I²C address of driver 0 |
+|`IS31FL3733_I2C_ADDRESS_2` |*Not defined* |The I²C address of driver 1 |
+|`IS31FL3733_I2C_ADDRESS_3` |*Not defined* |The I²C address of driver 2 |
+|`IS31FL3733_I2C_ADDRESS_4` |*Not defined* |The I²C address of driver 3 |
+|`IS31FL3733_SYNC_1` |`IS31FL3733_SYNC_NONE` |The sync configuration for driver 0 |
+|`IS31FL3733_SYNC_2` |`IS31FL3733_SYNC_NONE` |The sync configuration for driver 1 |
+|`IS31FL3733_SYNC_3` |`IS31FL3733_SYNC_NONE` |The sync configuration for driver 2 |
+|`IS31FL3733_SYNC_4` |`IS31FL3733_SYNC_NONE` |The sync configuration for driver 3 |
+|`IS31FL3733_PWM_FREQUENCY` |`IS31FL3733_PWM_FREQUENCY_8K4_HZ`|The PWM frequency of the LEDs (IS31FL3733B only) |
+|`IS31FL3733_SW_PULLUP` |`IS31FL3733_PUR_0_OHM` |The `SWx` pullup resistor value |
+|`IS31FL3733_CS_PULLDOWN` |`IS31FL3733_PDR_0_OHM` |The `CSx` pulldown resistor value |
+|`IS31FL3733_GLOBAL_CURRENT` |`0xFF` |The global current control value |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3733 has 16 possible 7-bit I²C addresses, depending on how the `ADDR1` and `ADDR2` pins are connected.
+
+To configure this, set the `IS31FL3733_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|--------------------------------|------|
+|`IS31FL3733_I2C_ADDRESS_GND_GND`|`0x50`|
+|`IS31FL3733_I2C_ADDRESS_GND_SCL`|`0x51`|
+|`IS31FL3733_I2C_ADDRESS_GND_SDA`|`0x52`|
+|`IS31FL3733_I2C_ADDRESS_GND_VCC`|`0x53`|
+|`IS31FL3733_I2C_ADDRESS_SCL_GND`|`0x54`|
+|`IS31FL3733_I2C_ADDRESS_SCL_SCL`|`0x55`|
+|`IS31FL3733_I2C_ADDRESS_SCL_SDA`|`0x56`|
+|`IS31FL3733_I2C_ADDRESS_SCL_VCC`|`0x57`|
+|`IS31FL3733_I2C_ADDRESS_SDA_GND`|`0x58`|
+|`IS31FL3733_I2C_ADDRESS_SDA_SCL`|`0x59`|
+|`IS31FL3733_I2C_ADDRESS_SDA_SDA`|`0x5A`|
+|`IS31FL3733_I2C_ADDRESS_SDA_VCC`|`0x5B`|
+|`IS31FL3733_I2C_ADDRESS_VCC_GND`|`0x5C`|
+|`IS31FL3733_I2C_ADDRESS_VCC_SCL`|`0x5D`|
+|`IS31FL3733_I2C_ADDRESS_VCC_SDA`|`0x5E`|
+|`IS31FL3733_I2C_ADDRESS_VCC_VCC`|`0x5F`|
+
+### Multi-Driver Synchronization {#multi-driver-synchronization}
+
+Multiple IS31FL3733 drivers can be synchronized by connecting the `SYNC` pins together. One driver must be designated as the "master", and the others configured as "slave".
+
+To do this, set the `IS31FL3733_SYNC_n` defines accordingly in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|------------------------|---------------------------|
+|`IS31FL3733_SYNC_NONE` |No synchronization |
+|`IS31FL3733_SYNC_MASTER`|Driver configured as master|
+|`IS31FL3733_SYNC_SLAVE` |Driver configured as slave |
+
+### PWM Frequency {#pwm-frequency}
+
+The PWM frequency can be adjusted (for IS31FL3733B only) by adding the following to your `config.h`:
+
+```c
+#define IS31FL3733_PWM_FREQUENCY IS31FL3733_PWM_FREQUENCY_8K4_HZ
+```
+
+Valid values are:
+
+|Define |Frequency |
+|----------------------------------|-----------------|
+|`IS31FL3733_PWM_FREQUENCY_8K4_HZ` |8.4 kHz (default)|
+|`IS31FL3733_PWM_FREQUENCY_4K2_HZ` |4.2 kHz |
+|`IS31FL3733_PWM_FREQUENCY_26K7_HZ`|26.7 kHz |
+|`IS31FL3733_PWM_FREQUENCY_2K1_HZ` |2.1 kHz |
+|`IS31FL3733_PWM_FREQUENCY_1K05_HZ`|1.05 kHz |
+
+### De-Ghosting {#de-ghosting}
+
+These settings control the pullup and pulldown resistor values on the `SWy` and `CSx` pins respectively, for the purposes of eliminating ghosting. Refer to the datasheet (p. 23) for more information on how and why this occurs.
+
+To adjust the resistor values, add the following to your `config.h`:
+
+```c
+#define IS31FL3733_SW_PULLUP IS31FL3733_PUR_0_OHM
+#define IS31FL3733_CS_PULLDOWN IS31FL3733_PUR_0_OHM
+```
+
+Valid values for `IS31FL3733_SW_PULLUP` are:
+
+|Define |Resistance |
+|------------------------|--------------|
+|`IS31FL3733_PUR_0_OHM` |None (default)|
+|`IS31FL3733_PUR_0K5_OHM`|0.5 kΩ |
+|`IS31FL3733_PUR_1K_OHM` |1 kΩ |
+|`IS31FL3733_PUR_2K_OHM` |2 kΩ |
+|`IS31FL3733_PUR_4K_OHM` |4 kΩ |
+|`IS31FL3733_PUR_8K_OHM` |8 kΩ |
+|`IS31FL3733_PUR_16K_OHM`|16 kΩ |
+|`IS31FL3733_PUR_32K_OHM`|32 kΩ |
+
+Valid values for `IS31FL3733_CS_PULLDOWN` are:
+
+|Define |Resistance |
+|------------------------|--------------|
+|`IS31FL3733_PDR_0_OHM` |None (default)|
+|`IS31FL3733_PDR_0K5_OHM`|0.5 kΩ |
+|`IS31FL3733_PDR_1K_OHM` |1 kΩ |
+|`IS31FL3733_PDR_2K_OHM` |2 kΩ |
+|`IS31FL3733_PDR_4K_OHM` |4 kΩ |
+|`IS31FL3733_PDR_8K_OHM` |8 kΩ |
+|`IS31FL3733_PDR_16K_OHM`|16 kΩ |
+|`IS31FL3733_PDR_32K_OHM`|32 kΩ |
+
+### Global Current Control {#global-current-control}
+
+This setting controls the current sunk by the `CSx` pins, from 0 to 255. By default, the value is the maximum (255), but if you need to lower it, add the following to your `config.h`:
+
+```c
+#define IS31FL3733_GLOBAL_CURRENT 0xFF
+```
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their cathodes connected to the `SW1` pin, and their anodes on the `CS1`, `CS2` and `CS3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
+/* Driver
+ * | V */
+ {0, SW1_CS1},
+ // etc...
+};
+```
+
+These values correspond to the register indices as shown in the datasheet on page 15, figure 9.
+
+## API {#api}
+
+### `struct is31fl3733_led_t` {#api-is31fl3733-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3733-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3733_init(uint8_t index)` {#api-is31fl3733-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-is31fl3733-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3733_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3733-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3733-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3733_select_page(uint8_t index, uint8_t page)` {#api-is31fl3733-select-page}
+
+Change the current page for configuring the LED driver.
+
+#### Arguments {#api-is31fl3733-select-page-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t page`
+ The page number to select.
+
+---
+
+### `void is31fl3733_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3733-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3733_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3733-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3733_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3733_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3733-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3733-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3733_set_value(int index, uint8_t value)` {#api-is31fl3733-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3733_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3733-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3733_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3733_set_value_all(uint8_t value)` {#api-is31fl3733-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3733-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3733_set_led_control_register(uint8_t index, bool red, bool green, bool blue)` {#api-is31fl3733-set-led-control-register-rgb}
+
+Configure the LED control registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3733_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3733-set-led-control-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3733_leds` array).
+ - `bool red`
+ Enable or disable the red channel.
+ - `bool green`
+ Enable or disable the green channel.
+ - `bool blue`
+ Enable or disable the blue channel.
+
+---
+
+### `void is31fl3733_set_led_control_register(uint8_t index, bool value)` {#api-is31fl3733-set-led-control-register-mono}
+
+Configure the LED control registers for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3733_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3733-set-led-control-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3733_leds` array).
+ - `bool value`
+ Enable or disable the LED.
+
+---
+
+### `void is31fl3733_update_pwm_buffers(uint8_t index)` {#api-is31fl3733-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-is31fl3733-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3733_update_led_control_registers(uint8_t index)` {#api-is31fl3733-update-led-control-registers}
+
+Flush the LED control register values to the LED driver.
+
+#### Arguments {#api-is31fl3733-update-led-control-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/is31fl3736.md b/docs/drivers/is31fl3736.md
new file mode 100644
index 000000000000..b679a232cd67
--- /dev/null
+++ b/docs/drivers/is31fl3736.md
@@ -0,0 +1,322 @@
+# IS31FL3736 Driver {#is31fl3736-driver}
+
+I²C 12x8 LED matrix driver by Lumissil. Supports a maximum of four drivers, each controlling up to 96 single-color LEDs, or 32 RGB LEDs.
+
+[IS31FL3736 Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3736_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3736 driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3736` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3736-mono.c # For single-color
+SRC += is31fl3736.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|----------------------------|---------------------------------|----------------------------------------------------|
+|`IS31FL3736_SDB_PIN` |*Not defined* |The GPIO pin connected to the drivers' shutdown pins|
+|`IS31FL3736_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3736_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`IS31FL3736_I2C_ADDRESS_1` |*Not defined* |The I²C address of driver 0 |
+|`IS31FL3736_I2C_ADDRESS_2` |*Not defined* |The I²C address of driver 1 |
+|`IS31FL3736_I2C_ADDRESS_3` |*Not defined* |The I²C address of driver 2 |
+|`IS31FL3736_I2C_ADDRESS_4` |*Not defined* |The I²C address of driver 3 |
+|`IS31FL3736_PWM_FREQUENCY` |`IS31FL3736_PWM_FREQUENCY_8K4_HZ`|The PWM frequency of the LEDs (IS31FL3736B only) |
+|`IS31FL3736_SW_PULLUP` |`IS31FL3736_PUR_0_OHM` |The `SWx` pullup resistor value |
+|`IS31FL3736_CS_PULLDOWN` |`IS31FL3736_PDR_0_OHM` |The `CSx` pulldown resistor value |
+|`IS31FL3736_GLOBAL_CURRENT` |`0xFF` |The global current control value |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3736 has 16 possible 7-bit I²C addresses, depending on how the `ADDR1` and `ADDR2` pins are connected.
+
+To configure this, set the `IS31FL3736_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|--------------------------------|------|
+|`IS31FL3736_I2C_ADDRESS_GND_GND`|`0x50`|
+|`IS31FL3736_I2C_ADDRESS_GND_SCL`|`0x51`|
+|`IS31FL3736_I2C_ADDRESS_GND_SDA`|`0x52`|
+|`IS31FL3736_I2C_ADDRESS_GND_VCC`|`0x53`|
+|`IS31FL3736_I2C_ADDRESS_SCL_GND`|`0x54`|
+|`IS31FL3736_I2C_ADDRESS_SCL_SCL`|`0x55`|
+|`IS31FL3736_I2C_ADDRESS_SCL_SDA`|`0x56`|
+|`IS31FL3736_I2C_ADDRESS_SCL_VCC`|`0x57`|
+|`IS31FL3736_I2C_ADDRESS_SDA_GND`|`0x58`|
+|`IS31FL3736_I2C_ADDRESS_SDA_SCL`|`0x59`|
+|`IS31FL3736_I2C_ADDRESS_SDA_SDA`|`0x5A`|
+|`IS31FL3736_I2C_ADDRESS_SDA_VCC`|`0x5B`|
+|`IS31FL3736_I2C_ADDRESS_VCC_GND`|`0x5C`|
+|`IS31FL3736_I2C_ADDRESS_VCC_SCL`|`0x5D`|
+|`IS31FL3736_I2C_ADDRESS_VCC_SDA`|`0x5E`|
+|`IS31FL3736_I2C_ADDRESS_VCC_VCC`|`0x5F`|
+
+### PWM Frequency {#pwm-frequency}
+
+The PWM frequency can be adjusted (for IS31FL3736B only) by adding the following to your `config.h`:
+
+```c
+#define IS31FL3736_PWM_FREQUENCY IS31FL3736_PWM_FREQUENCY_8K4_HZ
+```
+
+Valid values are:
+
+|Define |Frequency |
+|----------------------------------|-----------------|
+|`IS31FL3736_PWM_FREQUENCY_8K4_HZ` |8.4 kHz (default)|
+|`IS31FL3736_PWM_FREQUENCY_4K2_HZ` |4.2 kHz |
+|`IS31FL3736_PWM_FREQUENCY_26K7_HZ`|26.7 kHz |
+|`IS31FL3736_PWM_FREQUENCY_2K1_HZ` |2.1 kHz |
+|`IS31FL3736_PWM_FREQUENCY_1K05_HZ`|1.05 kHz |
+
+### De-Ghosting {#de-ghosting}
+
+These settings control the pullup and pulldown resistor values on the `SWy` and `CSx` pins respectively, for the purposes of eliminating ghosting. Refer to the datasheet (p. 25) for more information on how and why this occurs.
+
+To adjust the resistor values, add the following to your `config.h`:
+
+```c
+#define IS31FL3736_SW_PULLUP IS31FL3736_PUR_0_OHM
+#define IS31FL3736_CS_PULLDOWN IS31FL3736_PDR_0_OHM
+```
+
+Valid values for `IS31FL3736_SW_PULLUP` are:
+
+|Define |Resistance |
+|------------------------|--------------|
+|`IS31FL3736_PUR_0_OHM` |None (default)|
+|`IS31FL3736_PUR_0K5_OHM`|0.5 kΩ |
+|`IS31FL3736_PUR_1K_OHM` |1 kΩ |
+|`IS31FL3736_PUR_2K_OHM` |2 kΩ |
+|`IS31FL3736_PUR_4K_OHM` |4 kΩ |
+|`IS31FL3736_PUR_8K_OHM` |8 kΩ |
+|`IS31FL3736_PUR_16K_OHM`|16 kΩ |
+|`IS31FL3736_PUR_32K_OHM`|32 kΩ |
+
+Valid values for `IS31FL3736_CS_PULLDOWN` are:
+
+|Define |Resistance |
+|------------------------|--------------|
+|`IS31FL3736_PDR_0_OHM` |None (default)|
+|`IS31FL3736_PDR_0K5_OHM`|0.5 kΩ |
+|`IS31FL3736_PDR_1K_OHM` |1 kΩ |
+|`IS31FL3736_PDR_2K_OHM` |2 kΩ |
+|`IS31FL3736_PDR_4K_OHM` |4 kΩ |
+|`IS31FL3736_PDR_8K_OHM` |8 kΩ |
+|`IS31FL3736_PDR_16K_OHM`|16 kΩ |
+|`IS31FL3736_PDR_32K_OHM`|32 kΩ |
+
+### Global Current Control {#global-current-control}
+
+This setting controls the current sunk by the `CSx` pins, from 0 to 255. By default, the value is the maximum (255), but if you need to lower it, add the following to your `config.h`:
+
+```c
+#define IS31FL3736_GLOBAL_CURRENT 0xFF
+```
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their cathodes connected to the `SW1` pin, and their anodes on the `CS1`, `CS2` and `CS3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
+/* Driver
+ * | V */
+ {0, SW1_CS1},
+ // etc...
+};
+```
+
+These values correspond to the register indices as shown in the datasheet on page 16, figure 9.
+
+## API {#api}
+
+### `struct is31fl3736_led_t` {#api-is31fl3736-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3736-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3736_init(uint8_t index)` {#api-is31fl3736-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-is31fl3736-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3736_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3736-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3736-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3736_select_page(uint8_t index, uint8_t page)` {#api-is31fl3736-select-page}
+
+Change the current page for configuring the LED driver.
+
+#### Arguments {#api-is31fl3736-select-page-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t page`
+ The page number to select.
+
+---
+
+### `void is31fl3736_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3736-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3736_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3736-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3736_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3736_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3736-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3736-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3736_set_value(int index, uint8_t value)` {#api-is31fl3736-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3736_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3736-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3736_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3736_set_value_all(uint8_t value)` {#api-is31fl3736-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3736-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3736_set_led_control_register(uint8_t index, bool red, bool green, bool blue)` {#api-is31fl3736-set-led-control-register-rgb}
+
+Configure the LED control registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3736_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3736-set-led-control-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3736_leds` array).
+ - `bool red`
+ Enable or disable the red channel.
+ - `bool green`
+ Enable or disable the green channel.
+ - `bool blue`
+ Enable or disable the blue channel.
+
+---
+
+### `void is31fl3736_set_led_control_register(uint8_t index, bool value)` {#api-is31fl3736-set-led-control-register-mono}
+
+Configure the LED control registers for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3736_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3736-set-led-control-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3736_leds` array).
+ - `bool value`
+ Enable or disable the LED.
+
+---
+
+### `void is31fl3736_update_pwm_buffers(uint8_t index)` {#api-is31fl3736-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-is31fl3736-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3736_update_led_control_registers(uint8_t index)` {#api-is31fl3736-update-led-control-registers}
+
+Flush the LED control register values to the LED driver.
+
+#### Arguments {#api-is31fl3736-update-led-control-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/is31fl3737.md b/docs/drivers/is31fl3737.md
new file mode 100644
index 000000000000..d23def237ff0
--- /dev/null
+++ b/docs/drivers/is31fl3737.md
@@ -0,0 +1,310 @@
+# IS31FL3737 Driver {#is31fl3737-driver}
+
+I²C 12x12 LED matrix driver by Lumissil. Supports a maximum of four drivers, each controlling up to 144 single-color LEDs, or 48 RGB LEDs.
+
+[IS31FL3737 Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3737_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3737 driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3737` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3737-mono.c # For single-color
+SRC += is31fl3737.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|----------------------------|---------------------------------|----------------------------------------------------|
+|`IS31FL3737_SDB_PIN` |*Not defined* |The GPIO pin connected to the drivers' shutdown pins|
+|`IS31FL3737_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3737_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`IS31FL3737_I2C_ADDRESS_1` |*Not defined* |The I²C address of driver 0 |
+|`IS31FL3737_I2C_ADDRESS_2` |*Not defined* |The I²C address of driver 1 |
+|`IS31FL3737_I2C_ADDRESS_3` |*Not defined* |The I²C address of driver 2 |
+|`IS31FL3737_I2C_ADDRESS_4` |*Not defined* |The I²C address of driver 3 |
+|`IS31FL3737_PWM_FREQUENCY` |`IS31FL3737_PWM_FREQUENCY_8K4_HZ`|The PWM frequency of the LEDs (IS31FL3737B only) |
+|`IS31FL3737_SW_PULLUP` |`IS31FL3737_PUR_0_OHM` |The `SWx` pullup resistor value |
+|`IS31FL3737_CS_PULLDOWN` |`IS31FL3737_PDR_0_OHM` |The `CSx` pulldown resistor value |
+|`IS31FL3737_GLOBAL_CURRENT` |`0xFF` |The global current control value |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3737 has four possible 7-bit I²C addresses, depending on how the `ADDR` pin is connected.
+
+To configure this, set the `IS31FL3737_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|----------------------------|------|
+|`IS31FL3737_I2C_ADDRESS_GND`|`0x50`|
+|`IS31FL3737_I2C_ADDRESS_SCL`|`0x55`|
+|`IS31FL3737_I2C_ADDRESS_SDA`|`0x5A`|
+|`IS31FL3737_I2C_ADDRESS_VCC`|`0x5F`|
+
+### PWM Frequency {#pwm-frequency}
+
+The PWM frequency can be adjusted (for IS31FL3737B only) by adding the following to your `config.h`:
+
+```c
+#define IS31FL3737_PWM_FREQUENCY IS31FL3737_PWM_FREQUENCY_8K4_HZ
+```
+
+Valid values are:
+
+|Define |Frequency |
+|----------------------------------|-----------------|
+|`IS31FL3737_PWM_FREQUENCY_8K4_HZ` |8.4 kHz (default)|
+|`IS31FL3737_PWM_FREQUENCY_4K2_HZ` |4.2 kHz |
+|`IS31FL3737_PWM_FREQUENCY_26K7_HZ`|26.7 kHz |
+|`IS31FL3737_PWM_FREQUENCY_2K1_HZ` |2.1 kHz |
+|`IS31FL3737_PWM_FREQUENCY_1K05_HZ`|1.05 kHz |
+
+### De-Ghosting {#de-ghosting}
+
+These settings control the pullup and pulldown resistor values on the `SWy` and `CSx` pins respectively, for the purposes of eliminating ghosting. Refer to the datasheet (p. 23) for more information on how and why this occurs.
+
+To adjust the resistor values, add the following to your `config.h`:
+
+```c
+#define IS31FL3737_SW_PULLUP IS31FL3737_PUR_0_OHM
+#define IS31FL3737_CS_PULLDOWN IS31FL3737_PDR_0_OHM
+```
+
+Valid values for `IS31FL3737_SW_PULLUP` are:
+
+|Define |Resistance |
+|------------------------|--------------|
+|`IS31FL3737_PUR_0_OHM` |None (default)|
+|`IS31FL3737_PUR_0K5_OHM`|0.5 kΩ |
+|`IS31FL3737_PUR_1K_OHM` |1 kΩ |
+|`IS31FL3737_PUR_2K_OHM` |2 kΩ |
+|`IS31FL3737_PUR_4K_OHM` |4 kΩ |
+|`IS31FL3737_PUR_8K_OHM` |8 kΩ |
+|`IS31FL3737_PUR_16K_OHM`|16 kΩ |
+|`IS31FL3737_PUR_32K_OHM`|32 kΩ |
+
+Valid values for `IS31FL3737_CS_PULLDOWN` are:
+
+|Define |Resistance |
+|------------------------|--------------|
+|`IS31FL3737_PDR_0_OHM` |None (default)|
+|`IS31FL3737_PDR_0K5_OHM`|0.5 kΩ |
+|`IS31FL3737_PDR_1K_OHM` |1 kΩ |
+|`IS31FL3737_PDR_2K_OHM` |2 kΩ |
+|`IS31FL3737_PDR_4K_OHM` |4 kΩ |
+|`IS31FL3737_PDR_8K_OHM` |8 kΩ |
+|`IS31FL3737_PDR_16K_OHM`|16 kΩ |
+|`IS31FL3737_PDR_32K_OHM`|32 kΩ |
+
+### Global Current Control {#global-current-control}
+
+This setting controls the current sunk by the `CSx` pins, from 0 to 255. By default, the value is the maximum (255), but if you need to lower it, add the following to your `config.h`:
+
+```c
+#define IS31FL3737_GLOBAL_CURRENT 0xFF
+```
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their cathodes connected to the `SW1` pin, and their anodes on the `CS1`, `CS2` and `CS3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
+/* Driver
+ * | V */
+ {0, SW1_CS1},
+ // etc...
+};
+```
+
+These values correspond to the register indices as shown in the datasheet on page 15, figure 9.
+
+## API {#api}
+
+### `struct is31fl3737_led_t` {#api-is31fl3737-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3737-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3737_init(uint8_t index)` {#api-is31fl3737-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-is31fl3737-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3737_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3737-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3737-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3737_select_page(uint8_t index, uint8_t page)` {#api-is31fl3737-select-page}
+
+Change the current page for configuring the LED driver.
+
+#### Arguments {#api-is31fl3737-select-page-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t page`
+ The page number to select.
+
+---
+
+### `void is31fl3737_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3737-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3737_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3737-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3737_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3737_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3737-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3737-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3737_set_value(int index, uint8_t value)` {#api-is31fl3737-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3737_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3737-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3737_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3737_set_value_all(uint8_t value)` {#api-is31fl3737-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3737-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3737_set_led_control_register(uint8_t index, bool red, bool green, bool blue)` {#api-is31fl3737-set-led-control-register-rgb}
+
+Configure the LED control registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3737_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3737-set-led-control-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3737_leds` array).
+ - `bool red`
+ Enable or disable the red channel.
+ - `bool green`
+ Enable or disable the green channel.
+ - `bool blue`
+ Enable or disable the blue channel.
+
+---
+
+### `void is31fl3737_set_led_control_register(uint8_t index, bool value)` {#api-is31fl3737-set-led-control-register-mono}
+
+Configure the LED control registers for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3737_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3737-set-led-control-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3737_leds` array).
+ - `bool value`
+ Enable or disable the LED.
+
+---
+
+### `void is31fl3737_update_pwm_buffers(uint8_t index)` {#api-is31fl3737-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-is31fl3737-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3737_update_led_control_registers(uint8_t index)` {#api-is31fl3737-update-led-control-registers}
+
+Flush the LED control register values to the LED driver.
+
+#### Arguments {#api-is31fl3737-update-led-control-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/is31fl3741.md b/docs/drivers/is31fl3741.md
new file mode 100644
index 000000000000..dce5c08b21b7
--- /dev/null
+++ b/docs/drivers/is31fl3741.md
@@ -0,0 +1,310 @@
+# IS31FL3741 Driver {#is31fl3741-driver}
+
+I²C 39x9 LED matrix driver by Lumissil. Supports a maximum of four drivers, each controlling up to 351 single-color LEDs, or 117 RGB LEDs.
+
+[IS31FL3741A Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3741A_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3741 driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3741` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3741-mono.c # For single-color
+SRC += is31fl3741.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|----------------------------|---------------------------------|----------------------------------------------------|
+|`IS31FL3741_SDB_PIN` |*Not defined* |The GPIO pin connected to the drivers' shutdown pins|
+|`IS31FL3741_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3741_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`IS31FL3741_I2C_ADDRESS_1` |*Not defined* |The I²C address of driver 0 |
+|`IS31FL3741_I2C_ADDRESS_2` |*Not defined* |The I²C address of driver 1 |
+|`IS31FL3741_I2C_ADDRESS_3` |*Not defined* |The I²C address of driver 2 |
+|`IS31FL3741_I2C_ADDRESS_4` |*Not defined* |The I²C address of driver 3 |
+|`IS31FL3741_CONFIGURATION` |`1` |The value of the configuration register |
+|`IS31FL3741_PWM_FREQUENCY` |`IS31FL3741_PWM_FREQUENCY_29K_HZ`|The PWM frequency of the LEDs (IS31FL3741A only) |
+|`IS31FL3741_SW_PULLUP` |`IS31FL3741_PUR_32K_OHM` |The `SWx` pullup resistor value |
+|`IS31FL3741_CS_PULLDOWN` |`IS31FL3741_PDR_32K_OHM` |The `CSx` pulldown resistor value |
+|`IS31FL3741_GLOBAL_CURRENT` |`0xFF` |The global current control value |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3741 has four possible 7-bit I²C addresses, depending on how the `ADDR` pin is connected.
+
+To configure this, set the `IS31FL3741_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|----------------------------|------|
+|`IS31FL3741_I2C_ADDRESS_GND`|`0x30`|
+|`IS31FL3741_I2C_ADDRESS_SCL`|`0x31`|
+|`IS31FL3741_I2C_ADDRESS_SDA`|`0x32`|
+|`IS31FL3741_I2C_ADDRESS_VCC`|`0x33`|
+
+### PWM Frequency {#pwm-frequency}
+
+The PWM frequency can be adjusted (for IS31FL3741A only) by adding the following to your `config.h`:
+
+```c
+#define IS31FL3741_PWM_FREQUENCY IS31FL3741_PWM_FREQUENCY_29K_HZ
+```
+
+Valid values are:
+
+|Define |Frequency |
+|---------------------------------|----------------|
+|`IS31FL3741_PWM_FREQUENCY_29K_HZ`|29 kHz (default)|
+|`IS31FL3741_PWM_FREQUENCY_3K6_HZ`|3.6 kHz |
+|`IS31FL3741_PWM_FREQUENCY_1K8_HZ`|1.8 kHz |
+|`IS31FL3741_PWM_FREQUENCY_900_HZ`|900 Hz |
+
+### De-Ghosting {#de-ghosting}
+
+These settings control the pullup and pulldown resistor values on the `CSx` and `SWy` pins respectively, for the purposes of eliminating ghosting. Refer to the datasheet (p. 18) for more information on how and why this occurs.
+
+To adjust the resistor values, add the following to your `config.h`:
+
+```c
+#define IS31FL3741_SW_PULLUP IS31FL3741_PUR_32K_OHM
+#define IS31FL3741_CS_PULLDOWN IS31FL3741_PDR_32K_OHM
+```
+
+Valid values for `IS31FL3741_SW_PULLUP` are:
+
+|Define |Resistance |
+|------------------------|---------------|
+|`IS31FL3741_PUR_0_OHM` |None |
+|`IS31FL3741_PUR_0K5_OHM`|0.5 kΩ |
+|`IS31FL3741_PUR_1K_OHM` |1 kΩ |
+|`IS31FL3741_PUR_2K_OHM` |2 kΩ |
+|`IS31FL3741_PUR_4K_OHM` |4 kΩ |
+|`IS31FL3741_PUR_8K_OHM` |8 kΩ |
+|`IS31FL3741_PUR_16K_OHM`|16 kΩ |
+|`IS31FL3741_PUR_32K_OHM`|32 kΩ (default)|
+
+Valid values for `IS31FL3741_CS_PULLDOWN` are:
+
+|Define |Resistance |
+|------------------------|---------------|
+|`IS31FL3741_PDR_0_OHM` |None |
+|`IS31FL3741_PDR_0K5_OHM`|0.5 kΩ |
+|`IS31FL3741_PDR_1K_OHM` |1 kΩ |
+|`IS31FL3741_PDR_2K_OHM` |2 kΩ |
+|`IS31FL3741_PDR_4K_OHM` |4 kΩ |
+|`IS31FL3741_PDR_8K_OHM` |8 kΩ |
+|`IS31FL3741_PDR_16K_OHM`|16 kΩ |
+|`IS31FL3741_PDR_32K_OHM`|32 kΩ (default)|
+
+### Global Current Control {#global-current-control}
+
+This setting controls the current sunk by the `CSx` pins, from 0 to 255. By default, the value is the maximum (255), but if you need to lower it, add the following to your `config.h`:
+
+```c
+#define IS31FL3741_GLOBAL_CURRENT 0xFF
+```
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their anodes connected to the `SW1` pin, and their cathodes on the `CS1`, `CS2` and `CS3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3741_led_t PROGMEM g_is31fl3741_leds[IS31FL3741_LED_COUNT] = {
+/* Driver
+ * | V */
+ {0, SW1_CS1},
+ // etc...
+};
+```
+
+These values correspond to the register indices as shown in the datasheet on page 12, figure 8.
+
+## API {#api}
+
+### `struct is31fl3741_led_t` {#api-is31fl3741-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3741-led-t-members}
+
+ - `uint32_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint32_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint32_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint32_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint32_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3741_init(uint8_t index)` {#api-is31fl3741-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-is31fl3741-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3741_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3741-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3741-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3741_select_page(uint8_t index, uint8_t page)` {#api-is31fl3741-select-page}
+
+Change the current page for configuring the LED driver.
+
+#### Arguments {#api-is31fl3741-select-page-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t page`
+ The page number to select.
+
+---
+
+### `void is31fl3741_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3741-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3741_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3741-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3741_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3741_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3741-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3741-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3741_set_value(int index, uint8_t value)` {#api-is31fl3741-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3741_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3741-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3741_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3741_set_value_all(uint8_t value)` {#api-is31fl3741-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3741-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3741_set_led_control_register(uint8_t index, bool red, bool green, bool blue)` {#api-is31fl3741-set-led-control-register-rgb}
+
+Configure the LED control registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3741_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3741-set-led-control-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3741_leds` array).
+ - `bool red`
+ Enable or disable the red channel.
+ - `bool green`
+ Enable or disable the green channel.
+ - `bool blue`
+ Enable or disable the blue channel.
+
+---
+
+### `void is31fl3741_set_led_control_register(uint8_t index, bool value)` {#api-is31fl3741-set-led-control-register-mono}
+
+Configure the LED control registers for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3741_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3741-set-led-control-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3741_leds` array).
+ - `bool value`
+ Enable or disable the LED.
+
+---
+
+### `void is31fl3741_update_pwm_buffers(uint8_t index)` {#api-is31fl3741-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-is31fl3741-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3741_update_led_control_registers(uint8_t index)` {#api-is31fl3741-update-led-control-registers}
+
+Flush the LED control register values to the LED driver.
+
+#### Arguments {#api-is31fl3741-update-led-control-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/is31fl3742a.md b/docs/drivers/is31fl3742a.md
new file mode 100644
index 000000000000..ebe648cba44d
--- /dev/null
+++ b/docs/drivers/is31fl3742a.md
@@ -0,0 +1,310 @@
+# IS31FL3742A Driver {#is31fl3742a-driver}
+
+I²C 30x6 LED matrix driver by Lumissil. Supports a maximum of four drivers, each controlling up to 180 single-color LEDs, or 60 RGB LEDs.
+
+[IS31FL3742A Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3742A_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3742A driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3742a` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3742a-mono.c # For single-color
+SRC += is31fl3742a.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|-----------------------------|----------------------------------|----------------------------------------------------|
+|`IS31FL3742A_SDB_PIN` |*Not defined* |The GPIO pin connected to the drivers' shutdown pins|
+|`IS31FL3742A_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3742A_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`IS31FL3742A_I2C_ADDRESS_1` |*Not defined* |The I²C address of driver 0 |
+|`IS31FL3742A_I2C_ADDRESS_2` |*Not defined* |The I²C address of driver 1 |
+|`IS31FL3742A_I2C_ADDRESS_3` |*Not defined* |The I²C address of driver 2 |
+|`IS31FL3742A_I2C_ADDRESS_4` |*Not defined* |The I²C address of driver 3 |
+|`IS31FL3742A_CONFIGURATION` |`0x31` |The value of the configuration register |
+|`IS31FL3742A_PWM_FREQUENCY` |`IS31FL3742A_PWM_FREQUENCY_29K_HZ`|The PWM frequency of the LEDs |
+|`IS31FL3742A_SW_PULLDOWN` |`IS31FL3742A_PDR_8K_OHM` |The `SWx` pulldown resistor value |
+|`IS31FL3742A_CS_PULLUP` |`IS31FL3742A_PUR_8K_OHM` |The `CSx` pullup resistor value |
+|`IS31FL3742A_GLOBAL_CURRENT` |`0xFF` |The global current control value |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3742A has four possible 7-bit I²C addresses, depending on how the `ADDR` pin is connected.
+
+To configure this, set the `IS31FL3742A_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|-----------------------------|------|
+|`IS31FL3742A_I2C_ADDRESS_GND`|`0x30`|
+|`IS31FL3742A_I2C_ADDRESS_SCL`|`0x31`|
+|`IS31FL3742A_I2C_ADDRESS_SDA`|`0x32`|
+|`IS31FL3742A_I2C_ADDRESS_VCC`|`0x33`|
+
+### PWM Frequency {#pwm-frequency}
+
+The PWM frequency can be adjusted by adding the following to your `config.h`:
+
+```c
+#define IS31FL3742A_PWM_FREQUENCY IS31FL3742A_PWM_FREQUENCY_29K_HZ
+```
+
+Valid values are:
+
+|Define |Frequency |
+|----------------------------------|----------------|
+|`IS31FL3742A_PWM_FREQUENCY_29K_HZ`|29 kHz (default)|
+|`IS31FL3742A_PWM_FREQUENCY_3K6_HZ`|3.6 kHz |
+|`IS31FL3742A_PWM_FREQUENCY_1K8_HZ`|1.8 kHz |
+|`IS31FL3742A_PWM_FREQUENCY_900_HZ`|900 Hz |
+
+### De-Ghosting {#de-ghosting}
+
+These settings control the pulldown and pullup resistor values on the `SWy` and `CSx` pins respectively, for the purposes of eliminating ghosting. Refer to the datasheet (p. 23) for more information on how and why this occurs.
+
+To adjust the resistor values, add the following to your `config.h`:
+
+```c
+#define IS31FL3742A_SW_PULLDOWN IS31FL3742A_PDR_8K_OHM
+#define IS31FL3742A_CS_PULLUP IS31FL3742A_PUR_8K_OHM
+```
+
+Valid values for `IS31FL3742A_SW_PULLDOWN` are:
+
+|Define |Resistance |
+|-------------------------|--------------|
+|`IS31FL3742A_PDR_0_OHM` |None |
+|`IS31FL3742A_PDR_0K5_OHM`|0.5 kΩ |
+|`IS31FL3742A_PDR_1K_OHM` |1 kΩ |
+|`IS31FL3742A_PDR_2K_OHM` |2 kΩ |
+|`IS31FL3742A_PDR_4K_OHM` |4 kΩ |
+|`IS31FL3742A_PDR_8K_OHM` |8 kΩ (default)|
+|`IS31FL3742A_PDR_16K_OHM`|16 kΩ |
+|`IS31FL3742A_PDR_32K_OHM`|32 kΩ |
+
+Valid values for `IS31FL3742A_CS_PULLUP` are:
+
+|Define |Resistance |
+|-------------------------|--------------|
+|`IS31FL3742A_PUR_0_OHM` |None |
+|`IS31FL3742A_PUR_0K5_OHM`|0.5 kΩ |
+|`IS31FL3742A_PUR_1K_OHM` |1 kΩ |
+|`IS31FL3742A_PUR_2K_OHM` |2 kΩ |
+|`IS31FL3742A_PUR_4K_OHM` |4 kΩ |
+|`IS31FL3742A_PUR_8K_OHM` |8 kΩ (default)|
+|`IS31FL3742A_PUR_16K_OHM`|16 kΩ |
+|`IS31FL3742A_PUR_32K_OHM`|32 kΩ |
+
+### Global Current Control {#global-current-control}
+
+This setting controls the current sunk by the `CSx` pins, from 0 to 255. By default, the value is the maximum (255), but if you need to lower it, add the following to your `config.h`:
+
+```c
+#define IS31FL3742A_GLOBAL_CURRENT 0xFF
+```
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3742a_led_t PROGMEM g_is31fl3742a_leds[IS31FL3742A_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their anodes connected to the `SW1` pin, and their cathodes on the `CS1`, `CS2` and `CS3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3742a_led_t PROGMEM g_is31fl3742a_leds[IS31FL3742A_LED_COUNT] = {
+/* Driver
+ * | V */
+ {0, SW1_CS1},
+ // etc...
+};
+```
+
+These values correspond to the register indices as shown in the datasheet on page 12, figure 8.
+
+## API {#api}
+
+### `struct is31fl3742a_led_t` {#api-is31fl3742a-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3742a-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3742a_init(uint8_t index)` {#api-is31fl3742a-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-is31fl3742a-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3742a_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3742a-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3742a-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3742a_select_page(uint8_t index, uint8_t page)` {#api-is31fl3742a-select-page}
+
+Change the current page for configuring the LED driver.
+
+#### Arguments {#api-is31fl3742a-select-page-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t page`
+ The page number to select.
+
+---
+
+### `void is31fl3742a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3742a-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3742a_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3742a-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3742a_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3742a_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3742a-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3742a-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3742a_set_value(int index, uint8_t value)` {#api-is31fl3742a-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3742a_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3742a-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3742a_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3742a_set_value_all(uint8_t value)` {#api-is31fl3742a-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3742a-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3742a_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3742a-set-scaling-register-rgb}
+
+Configure the scaling registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3742a_update_scaling_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3742a-set-scaling-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3742a_leds` array).
+ - `uint8_t red`
+ The scaling value for the red channel.
+ - `uint8_t green`
+ The scaling value for the green channel.
+ - `uint8_t blue`
+ The scaling value for the blue channel.
+
+---
+
+### `void is31fl3742a_set_scaling_register(uint8_t index, uint8_t value)` {#api-is31fl3742a-set-scaling-register-mono}
+
+Configure the scaling register for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3742a_update_scaling_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3742a-set-scaling-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3742a_leds` array).
+ - `uint8_t value`
+ The scaling value for the LED.
+
+---
+
+### `void is31fl3742a_update_pwm_buffers(uint8_t index)` {#api-is31fl3742a-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-is31fl3742a-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3742a_update_scaling_registers(uint8_t index)` {#api-is31fl3742a-update-scaling-registers}
+
+Flush the scaling register values to the LED driver.
+
+#### Arguments {#api-is31fl3742a-update-scaling-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/is31fl3743a.md b/docs/drivers/is31fl3743a.md
new file mode 100644
index 000000000000..9ca55c5eeb04
--- /dev/null
+++ b/docs/drivers/is31fl3743a.md
@@ -0,0 +1,320 @@
+# IS31FL3743A Driver {#is31fl3743a-driver}
+
+I²C 18x11 LED matrix driver by Lumissil. Supports a maximum of four drivers, each controlling up to 198 single-color LEDs, or 66 RGB LEDs.
+
+[IS31FL3743A Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3743A_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3743A driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3743a` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3743a-mono.c # For single-color
+SRC += is31fl3743a.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|-----------------------------|-------------------------------|----------------------------------------------------|
+|`IS31FL3743A_SDB_PIN` |*Not defined* |The GPIO pin connected to the drivers' shutdown pins|
+|`IS31FL3743A_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3743A_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`IS31FL3743A_I2C_ADDRESS_1` |*Not defined* |The I²C address of driver 0 |
+|`IS31FL3743A_I2C_ADDRESS_2` |*Not defined* |The I²C address of driver 1 |
+|`IS31FL3743A_I2C_ADDRESS_3` |*Not defined* |The I²C address of driver 2 |
+|`IS31FL3743A_I2C_ADDRESS_4` |*Not defined* |The I²C address of driver 3 |
+|`IS31FL3743A_SYNC_1` |`IS31FL3743A_SYNC_NONE` |The sync configuration for driver 0 |
+|`IS31FL3743A_SYNC_2` |`IS31FL3743A_SYNC_NONE` |The sync configuration for driver 1 |
+|`IS31FL3743A_SYNC_3` |`IS31FL3743A_SYNC_NONE` |The sync configuration for driver 2 |
+|`IS31FL3743A_SYNC_4` |`IS31FL3743A_SYNC_NONE` |The sync configuration for driver 3 |
+|`IS31FL3743A_CONFIGURATION` |`0x01` |The value of the configuration register |
+|`IS31FL3743A_SW_PULLDOWN` |`IS31FL3743A_PDR_2K_OHM_SW_OFF`|The `SWx` pulldown resistor value |
+|`IS31FL3743A_CS_PULLUP` |`IS31FL3743A_PUR_2K_OHM_CS_OFF`|The `CSx` pullup resistor value |
+|`IS31FL3743A_GLOBAL_CURRENT` |`0xFF` |The global current control value |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3743A has 16 possible 7-bit I²C addresses, depending on how the `ADDR1` and `ADDR2` pins are connected.
+
+To configure this, set the `IS31FL3743A_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|---------------------------------|------|
+|`IS31FL3743A_I2C_ADDRESS_GND_GND`|`0x20`|
+|`IS31FL3743A_I2C_ADDRESS_GND_SCL`|`0x21`|
+|`IS31FL3743A_I2C_ADDRESS_GND_SDA`|`0x22`|
+|`IS31FL3743A_I2C_ADDRESS_GND_VCC`|`0x23`|
+|`IS31FL3743A_I2C_ADDRESS_SCL_GND`|`0x24`|
+|`IS31FL3743A_I2C_ADDRESS_SCL_SCL`|`0x25`|
+|`IS31FL3743A_I2C_ADDRESS_SCL_SDA`|`0x26`|
+|`IS31FL3743A_I2C_ADDRESS_SCL_VCC`|`0x27`|
+|`IS31FL3743A_I2C_ADDRESS_SDA_GND`|`0x28`|
+|`IS31FL3743A_I2C_ADDRESS_SDA_SCL`|`0x29`|
+|`IS31FL3743A_I2C_ADDRESS_SDA_SDA`|`0x2A`|
+|`IS31FL3743A_I2C_ADDRESS_SDA_VCC`|`0x2B`|
+|`IS31FL3743A_I2C_ADDRESS_VCC_GND`|`0x2C`|
+|`IS31FL3743A_I2C_ADDRESS_VCC_SCL`|`0x2D`|
+|`IS31FL3743A_I2C_ADDRESS_VCC_SDA`|`0x2E`|
+|`IS31FL3743A_I2C_ADDRESS_VCC_VCC`|`0x2F`|
+
+### Multi-Driver Synchronization {#multi-driver-synchronization}
+
+Multiple IS31FL3743A drivers can be synchronized by connecting the `SYNC` pins together. One driver must be designated as the "master", and the others configured as "slave".
+
+To do this, set the `IS31FL3743A_SYNC_n` defines accordingly in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|-------------------------|---------------------------|
+|`IS31FL3743A_SYNC_NONE` |No synchronization |
+|`IS31FL3743A_SYNC_MASTER`|Driver configured as master|
+|`IS31FL3743A_SYNC_SLAVE` |Driver configured as slave |
+
+### De-Ghosting {#de-ghosting}
+
+These settings control the pulldown and pullup resistor values on the `SWy` and `CSx` pins respectively, for the purposes of eliminating ghosting. Refer to the datasheet (p. 23) for more information on how and why this occurs.
+
+To adjust the resistor values, add the following to your `config.h`:
+
+```c
+#define IS31FL3743A_SW_PULLDOWN IS31FL3743A_PDR_2K_OHM_SW_OFF
+#define IS31FL3743A_CS_PULLUP IS31FL3743A_PUR_2K_OHM_CS_OFF
+```
+
+Valid values for `IS31FL3743A_SW_PULLDOWN` are:
+
+|Define |Resistance |
+|--------------------------------|------------------------------|
+|`IS31FL3743A_PDR_0_OHM` |None (default) |
+|`IS31FL3743A_PDR_0K5_OHM_SW_OFF`|0.5 kΩ in SWx off time |
+|`IS31FL3743A_PDR_1K_OHM_SW_OFF` |1 kΩ in SWx off time |
+|`IS31FL3743A_PDR_2K_OHM_SW_OFF` |2 kΩ in SWx off time (default)|
+|`IS31FL3743A_PDR_1K_OHM` |1 kΩ |
+|`IS31FL3743A_PDR_2K_OHM` |2 kΩ |
+|`IS31FL3743A_PDR_4K_OHM` |4 kΩ |
+|`IS31FL3743A_PDR_8K_OHM` |8 kΩ |
+
+Valid values for `IS31FL3743A_CS_PULLUP` are:
+
+|Define |Resistance |
+|--------------------------------|------------------------------|
+|`IS31FL3743A_PUR_0_OHM` |None (default) |
+|`IS31FL3743A_PUR_0K5_OHM_CS_OFF`|0.5 kΩ in CSy off time |
+|`IS31FL3743A_PUR_1K_OHM_CS_OFF` |1 kΩ in CSy off time |
+|`IS31FL3743A_PUR_2K_OHM_CS_OFF` |2 kΩ in CSy off time (default)|
+|`IS31FL3743A_PUR_1K_OHM` |1 kΩ |
+|`IS31FL3743A_PUR_2K_OHM` |2 kΩ |
+|`IS31FL3743A_PUR_4K_OHM` |4 kΩ |
+|`IS31FL3743A_PUR_8K_OHM` |8 kΩ |
+
+### Global Current Control {#global-current-control}
+
+This setting controls the current sunk by the `CSy` pins, from 0 to 255. By default, the value is the maximum (255), but if you need to lower it, add the following to your `config.h`:
+
+```c
+#define IS31FL3743A_GLOBAL_CURRENT 0xFF
+```
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their anodes connected to the `SW1` pin, and their cathodes on the `CS1`, `CS2` and `CS3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3743a_led_t PROGMEM g_is31fl3743a_leds[IS31FL3743A_LED_COUNT] = {
+/* Driver
+ * | V */
+ {0, SW1_CS1},
+ // etc...
+};
+```
+
+These values correspond to the register indices as shown in the datasheet on page 12, figure 8.
+
+## API {#api}
+
+### `struct is31fl3743a_led_t` {#api-is31fl3743a-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3743a-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3743a_init(uint8_t index)` {#api-is31fl3743a-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-is31fl3743a-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3743a_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3743a-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3743a-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3743a_select_page(uint8_t index, uint8_t page)` {#api-is31fl3743a-select-page}
+
+Change the current page for configuring the LED driver.
+
+#### Arguments {#api-is31fl3743a-select-page-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t page`
+ The page number to select.
+
+---
+
+### `void is31fl3743a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3743a-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3743a_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3743a-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3743a_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3743a_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3743a-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3743a-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3743a_set_value(int index, uint8_t value)` {#api-is31fl3743a-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3743a_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3743a-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3743a_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3743a_set_value_all(uint8_t value)` {#api-is31fl3743a-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3743a-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3743a_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3743a-set-scaling-register-rgb}
+
+Configure the scaling registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3743a_update_scaling_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3743a-set-scaling-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3743a_leds` array).
+ - `uint8_t red`
+ The scaling value for the red channel.
+ - `uint8_t green`
+ The scaling value for the green channel.
+ - `uint8_t blue`
+ The scaling value for the blue channel.
+
+---
+
+### `void is31fl3743a_set_scaling_register(uint8_t index, uint8_t value)` {#api-is31fl3743a-set-scaling-register-mono}
+
+Configure the scaling register for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3743a_update_scaling_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3743a-set-scaling-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3743a_leds` array).
+ - `uint8_t value`
+ The scaling value for the LED.
+
+---
+
+### `void is31fl3743a_update_pwm_buffers(uint8_t index)` {#api-is31fl3743a-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-is31fl3743a-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3743a_update_scaling_registers(uint8_t index)` {#api-is31fl3743a-update-scaling-registers}
+
+Flush the scaling register values to the LED driver.
+
+#### Arguments {#api-is31fl3743a-update-scaling-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/is31fl3745.md b/docs/drivers/is31fl3745.md
new file mode 100644
index 000000000000..f13f029bfedf
--- /dev/null
+++ b/docs/drivers/is31fl3745.md
@@ -0,0 +1,320 @@
+# IS31FL3745 Driver {#is31fl3745-driver}
+
+I²C 18x8 LED matrix driver by Lumissil. Supports a maximum of four drivers, each controlling up to 144 single-color LEDs, or 48 RGB LEDs.
+
+[IS31FL3745 Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3745_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3745 driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3745` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3745-mono.c # For single-color
+SRC += is31fl3745.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|----------------------------|------------------------------|----------------------------------------------------|
+|`IS31FL3745_SDB_PIN` |*Not defined* |The GPIO pin connected to the drivers' shutdown pins|
+|`IS31FL3745_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3745_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`IS31FL3745_I2C_ADDRESS_1` |*Not defined* |The I²C address of driver 0 |
+|`IS31FL3745_I2C_ADDRESS_2` |*Not defined* |The I²C address of driver 1 |
+|`IS31FL3745_I2C_ADDRESS_3` |*Not defined* |The I²C address of driver 2 |
+|`IS31FL3745_I2C_ADDRESS_4` |*Not defined* |The I²C address of driver 3 |
+|`IS31FL3745_SYNC_1` |`IS31FL3745_SYNC_NONE` |The sync configuration for driver 0 |
+|`IS31FL3745_SYNC_2` |`IS31FL3745_SYNC_NONE` |The sync configuration for driver 1 |
+|`IS31FL3745_SYNC_3` |`IS31FL3745_SYNC_NONE` |The sync configuration for driver 2 |
+|`IS31FL3745_SYNC_4` |`IS31FL3745_SYNC_NONE` |The sync configuration for driver 3 |
+|`IS31FL3745_CONFIGURATION` |`0x31` |The value of the configuration register |
+|`IS31FL3745_SW_PULLDOWN` |`IS31FL3745_PDR_2K_OHM_SW_OFF`|The `SWx` pulldown resistor value |
+|`IS31FL3745_CS_PULLUP` |`IS31FL3745_PUR_2K_OHM_CS_OFF`|The `CSx` pullup resistor value |
+|`IS31FL3745_GLOBAL_CURRENT` |`0xFF` |The global current control value |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3745 has 16 possible 7-bit I²C addresses, depending on how the `ADDR1` and `ADDR2` pins are connected.
+
+To configure this, set the `IS31FL3745_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|--------------------------------|------|
+|`IS31FL3745_I2C_ADDRESS_GND_GND`|`0x20`|
+|`IS31FL3745_I2C_ADDRESS_GND_SCL`|`0x21`|
+|`IS31FL3745_I2C_ADDRESS_GND_SDA`|`0x22`|
+|`IS31FL3745_I2C_ADDRESS_GND_VCC`|`0x23`|
+|`IS31FL3745_I2C_ADDRESS_SCL_GND`|`0x24`|
+|`IS31FL3745_I2C_ADDRESS_SCL_SCL`|`0x25`|
+|`IS31FL3745_I2C_ADDRESS_SCL_SDA`|`0x26`|
+|`IS31FL3745_I2C_ADDRESS_SCL_VCC`|`0x27`|
+|`IS31FL3745_I2C_ADDRESS_SDA_GND`|`0x28`|
+|`IS31FL3745_I2C_ADDRESS_SDA_SCL`|`0x29`|
+|`IS31FL3745_I2C_ADDRESS_SDA_SDA`|`0x2A`|
+|`IS31FL3745_I2C_ADDRESS_SDA_VCC`|`0x2B`|
+|`IS31FL3745_I2C_ADDRESS_VCC_GND`|`0x2C`|
+|`IS31FL3745_I2C_ADDRESS_VCC_SCL`|`0x2D`|
+|`IS31FL3745_I2C_ADDRESS_VCC_SDA`|`0x2E`|
+|`IS31FL3745_I2C_ADDRESS_VCC_VCC`|`0x2F`|
+
+### Multi-Driver Synchronization {#multi-driver-synchronization}
+
+Multiple IS31FL3745 drivers can be synchronized by connecting the `SYNC` pins together. One driver must be designated as the "master", and the others configured as "slave".
+
+To do this, set the `IS31FL3745_SYNC_n` defines accordingly in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|------------------------|---------------------------|
+|`IS31FL3745_SYNC_NONE` |No synchronization |
+|`IS31FL3745_SYNC_MASTER`|Driver configured as master|
+|`IS31FL3745_SYNC_SLAVE` |Driver configured as slave |
+
+### De-Ghosting {#de-ghosting}
+
+These settings control the pulldown and pullup resistor values on the `SWy` and `CSx` pins respectively, for the purposes of eliminating ghosting. Refer to the datasheet (p. 23) for more information on how and why this occurs.
+
+To adjust the resistor values, add the following to your `config.h`:
+
+```c
+#define IS31FL3745_SW_PULLDOWN IS31FL3745_PDR_2K_OHM_SW_OFF
+#define IS31FL3745_CS_PULLUP IS31FL3745_PUR_2K_OHM_CS_OFF
+```
+
+Valid values for `IS31FL3745_SW_PULLDOWN` are:
+
+|Define |Resistance |
+|-------------------------------|------------------------------|
+|`IS31FL3745_PDR_0_OHM` |None (default) |
+|`IS31FL3745_PDR_0K5_OHM_SW_OFF`|0.5 kΩ in SWx off time |
+|`IS31FL3745_PDR_1K_OHM_SW_OFF` |1 kΩ in SWx off time |
+|`IS31FL3745_PDR_2K_OHM_SW_OFF` |2 kΩ in SWx off time (default)|
+|`IS31FL3745_PDR_1K_OHM` |1 kΩ |
+|`IS31FL3745_PDR_2K_OHM` |2 kΩ |
+|`IS31FL3745_PDR_4K_OHM` |4 kΩ |
+|`IS31FL3745_PDR_8K_OHM` |8 kΩ |
+
+Valid values for `IS31FL3745_CS_PULLUP` are:
+
+|Define |Resistance |
+|-------------------------------|------------------------------|
+|`IS31FL3745_PUR_0_OHM` |None (default) |
+|`IS31FL3745_PUR_0K5_OHM_CS_OFF`|0.5 kΩ in CSy off time |
+|`IS31FL3745_PUR_1K_OHM_CS_OFF` |1 kΩ in CSy off time |
+|`IS31FL3745_PUR_2K_OHM_CS_OFF` |2 kΩ in CSy off time (default)|
+|`IS31FL3745_PUR_1K_OHM` |1 kΩ |
+|`IS31FL3745_PUR_2K_OHM` |2 kΩ |
+|`IS31FL3745_PUR_4K_OHM` |4 kΩ |
+|`IS31FL3745_PUR_8K_OHM` |8 kΩ |
+
+### Global Current Control {#global-current-control}
+
+This setting controls the current sunk by the `CSy` pins, from 0 to 255. By default, the value is the maximum (255), but if you need to lower it, add the following to your `config.h`:
+
+```c
+#define IS31FL3745_GLOBAL_CURRENT 0xFF
+```
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3745_led_t PROGMEM g_is31fl3745_leds[IS31FL3745_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their anodes connected to the `SW1` pin, and their cathodes on the `CS1`, `CS2` and `CS3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3745_led_t PROGMEM g_is31fl3745_leds[IS31FL3745_LED_COUNT] = {
+/* Driver
+ * | V */
+ {0, SW1_CS1},
+ // etc...
+};
+```
+
+These values correspond to the register indices as shown in the datasheet on page 12, figure 9.
+
+## API {#api}
+
+### `struct is31fl3745_led_t` {#api-is31fl3745-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3745-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3745_init(uint8_t index)` {#api-is31fl3745-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-is31fl3745-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3745_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3745-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3745-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3745_select_page(uint8_t index, uint8_t page)` {#api-is31fl3745-select-page}
+
+Change the current page for configuring the LED driver.
+
+#### Arguments {#api-is31fl3745-select-page-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t page`
+ The page number to select.
+
+---
+
+### `void is31fl3745_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3745-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3745_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3745-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3745_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3745_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3745-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3745-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3745_set_value(int index, uint8_t value)` {#api-is31fl3745-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3745_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3745-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3745_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3745_set_value_all(uint8_t value)` {#api-is31fl3745-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3745-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3745_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3745-set-scaling-register-rgb}
+
+Configure the scaling registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3745_update_scaling_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3745-set-scaling-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3745_leds` array).
+ - `uint8_t red`
+ The scaling value for the red channel.
+ - `uint8_t green`
+ The scaling value for the green channel.
+ - `uint8_t blue`
+ The scaling value for the blue channel.
+
+---
+
+### `void is31fl3745_set_scaling_register(uint8_t index, uint8_t value)` {#api-is31fl3745-set-scaling-register-mono}
+
+Configure the scaling register for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3745_update_scaling_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3745-set-scaling-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3745_leds` array).
+ - `uint8_t value`
+ The scaling value for the LED.
+
+---
+
+### `void is31fl3745_update_pwm_buffers(uint8_t index)` {#api-is31fl3745-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-is31fl3745-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3745_update_scaling_registers(uint8_t index)` {#api-is31fl3745-update-scaling-registers}
+
+Flush the scaling register values to the LED driver.
+
+#### Arguments {#api-is31fl3745-update-scaling-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/is31fl3746a.md b/docs/drivers/is31fl3746a.md
new file mode 100644
index 000000000000..bdd5c1835778
--- /dev/null
+++ b/docs/drivers/is31fl3746a.md
@@ -0,0 +1,327 @@
+# IS31FL3746A Driver {#is31fl3746a-driver}
+
+I²C 18x4 LED matrix driver by Lumissil. Supports a maximum of four drivers, each controlling up to 72 single-color LEDs, or 24 RGB LEDs.
+
+[IS31FL3746A Datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3746A_DS.pdf)
+
+## Usage {#usage}
+
+The IS31FL3746A driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `is31fl3746a` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led/issi
+SRC += is31fl3746a-mono.c # For single-color
+SRC += is31fl3746a.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|-----------------------------|----------------------------------|----------------------------------------------------|
+|`IS31FL3746A_SDB_PIN` |*Not defined* |The GPIO pin connected to the drivers' shutdown pins|
+|`IS31FL3746A_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`IS31FL3746A_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`IS31FL3746A_I2C_ADDRESS_1` |*Not defined* |The I²C address of driver 0 |
+|`IS31FL3746A_I2C_ADDRESS_2` |*Not defined* |The I²C address of driver 1 |
+|`IS31FL3746A_I2C_ADDRESS_3` |*Not defined* |The I²C address of driver 2 |
+|`IS31FL3746A_I2C_ADDRESS_4` |*Not defined* |The I²C address of driver 3 |
+|`IS31FL3746A_CONFIGURATION` |`0x01` |The value of the configuration register |
+|`IS31FL3746A_PWM_FREQUENCY` |`IS31FL3746A_PWM_FREQUENCY_29K_HZ`|The PWM frequency of the LEDs |
+|`IS31FL3746A_SW_PULLDOWN` |`IS31FL3746A_PDR_2K_OHM_SW_OFF` |The `SWx` pulldown resistor value |
+|`IS31FL3746A_CS_PULLUP` |`IS31FL3746A_PUR_2K_OHM_CS_OFF` |The `CSx` pullup resistor value |
+|`IS31FL3746A_GLOBAL_CURRENT` |`0xFF` |The global current control value |
+
+### I²C Addressing {#i2c-addressing}
+
+The IS31FL3746A has 16 possible 7-bit I²C addresses, depending on how the `ADDR1` and `ADDR2` pins are connected.
+
+To configure this, set the `IS31FL3746A_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|---------------------------------|------|
+|`IS31FL3746A_I2C_ADDRESS_GND_GND`|`0x60`|
+|`IS31FL3746A_I2C_ADDRESS_GND_SCL`|`0x61`|
+|`IS31FL3746A_I2C_ADDRESS_GND_SDA`|`0x62`|
+|`IS31FL3746A_I2C_ADDRESS_GND_VCC`|`0x63`|
+|`IS31FL3746A_I2C_ADDRESS_SCL_GND`|`0x64`|
+|`IS31FL3746A_I2C_ADDRESS_SCL_SCL`|`0x65`|
+|`IS31FL3746A_I2C_ADDRESS_SCL_SDA`|`0x66`|
+|`IS31FL3746A_I2C_ADDRESS_SCL_VCC`|`0x67`|
+|`IS31FL3746A_I2C_ADDRESS_SDA_GND`|`0x68`|
+|`IS31FL3746A_I2C_ADDRESS_SDA_SCL`|`0x69`|
+|`IS31FL3746A_I2C_ADDRESS_SDA_SDA`|`0x6A`|
+|`IS31FL3746A_I2C_ADDRESS_SDA_VCC`|`0x6B`|
+|`IS31FL3746A_I2C_ADDRESS_VCC_GND`|`0x6C`|
+|`IS31FL3746A_I2C_ADDRESS_VCC_SCL`|`0x6D`|
+|`IS31FL3746A_I2C_ADDRESS_VCC_SDA`|`0x6E`|
+|`IS31FL3746A_I2C_ADDRESS_VCC_VCC`|`0x6F`|
+
+### PWM Frequency {#pwm-frequency}
+
+The PWM frequency can be adjusted by adding the following to your `config.h`:
+
+```c
+#define IS31FL3746A_PWM_FREQUENCY IS31FL3746A_PWM_FREQUENCY_29K_HZ
+```
+
+Valid values are:
+
+|Define |Frequency |
+|-----------------------------------|----------------|
+|`IS31FL3746A_PWM_FREQUENCY_29K_HZ` |29 kHz (default)|
+|`IS31FL3746A_PWM_FREQUENCY_14K5_HZ`|14.5 kHz |
+|`IS31FL3746A_PWM_FREQUENCY_7K25_HZ`|7.25 kHz |
+|`IS31FL3746A_PWM_FREQUENCY_3K63_HZ`|3.63 kHz |
+|`IS31FL3746A_PWM_FREQUENCY_1K81_HZ`|1.81 kHz |
+|`IS31FL3746A_PWM_FREQUENCY_906_HZ` |906 Hz |
+|`IS31FL3746A_PWM_FREQUENCY_453_HZ` |453 Hz |
+
+### De-Ghosting {#de-ghosting}
+
+These settings control the pulldown and pullup resistor values on the `SWy` and `CSx` pins respectively, for the purposes of eliminating ghosting. Refer to the datasheet (p. 23) for more information on how and why this occurs.
+
+To adjust the resistor values, add the following to your `config.h`:
+
+```c
+#define IS31FL3746A_SW_PULLDOWN IS31FL3746A_PDR_2K_OHM_SW_OFF
+#define IS31FL3746A_CS_PULLUP IS31FL3746A_PUR_2K_OHM_CS_OFF
+```
+
+Valid values for `IS31FL3746A_SW_PULLDOWN` are:
+
+|Define |Resistance |
+|--------------------------------|------------------------------|
+|`IS31FL3746A_PDR_0_OHM` |None |
+|`IS31FL3746A_PDR_0K5_OHM_SW_OFF`|0.5 kΩ in SWx off time |
+|`IS31FL3746A_PDR_1K_OHM_SW_OFF` |1 kΩ in SWx off time |
+|`IS31FL3746A_PDR_2K_OHM_SW_OFF` |2 kΩ in SWx off time (default)|
+|`IS31FL3746A_PDR_1K_OHM` |1 kΩ |
+|`IS31FL3746A_PDR_2K_OHM` |2 kΩ |
+|`IS31FL3746A_PDR_4K_OHM` |4 kΩ |
+|`IS31FL3746A_PDR_8K_OHM` |8 kΩ |
+
+Valid values for `IS31FL3746A_CS_PULLUP` are:
+
+|Define |Resistance |
+|--------------------------------|------------------------------|
+|`IS31FL3746A_PUR_0_OHM` |None (default) |
+|`IS31FL3746A_PUR_0K5_OHM_CS_OFF`|0.5 kΩ in CSy off time |
+|`IS31FL3746A_PUR_1K_OHM_CS_OFF` |1 kΩ in CSy off time |
+|`IS31FL3746A_PUR_2K_OHM_CS_OFF` |2 kΩ in CSy off time (default)|
+|`IS31FL3746A_PUR_1K_OHM` |1 kΩ |
+|`IS31FL3746A_PUR_2K_OHM` |2 kΩ |
+|`IS31FL3746A_PUR_4K_OHM` |4 kΩ |
+|`IS31FL3746A_PUR_8K_OHM` |8 kΩ |
+
+### Global Current Control {#global-current-control}
+
+This setting controls the current sunk by the `CSy` pins, from 0 to 255. By default, the value is the maximum (255), but if you need to lower it, add the following to your `config.h`:
+
+```c
+#define IS31FL3746A_GLOBAL_CURRENT 0xFF
+```
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const is31fl3746a_led_t PROGMEM g_is31fl3746a_leds[IS31FL3746A_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, SW1_CS1, SW1_CS2, SW1_CS3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their anodes connected to the `SW1` pin, and their cathodes on the `CS1`, `CS2` and `CS3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const is31fl3746a_led_t PROGMEM g_is31fl3746a_leds[IS31FL3746A_LED_COUNT] = {
+/* Driver
+ * | V */
+ {0, SW1_CS1},
+ // etc...
+};
+```
+
+These values correspond to the register indices as shown in the datasheet on page 13, figure 8.
+
+## API {#api}
+
+### `struct is31fl3746a_led_t` {#api-is31fl3746a-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-is31fl3746a-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void is31fl3746a_init(uint8_t index)` {#api-is31fl3746a-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-is31fl3746a-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t sync`
+ Sync configuration of the LED driver.
+
+---
+
+### `void is31fl3746a_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-is31fl3746a-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-is31fl3746a-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void is31fl3746a_select_page(uint8_t index, uint8_t page)` {#api-is31fl3746a-select-page}
+
+Change the current page for configuring the LED driver.
+
+#### Arguments {#api-is31fl3746a-select-page-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t page`
+ The page number to select.
+
+---
+
+### `void is31fl3746a_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3746a-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3746a_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3746a-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3746a_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3746a_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3746a-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-is31fl3746a-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void is31fl3746a_set_value(int index, uint8_t value)` {#api-is31fl3746a-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3746a_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-is31fl3746a-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_is31fl3746a_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3746a_set_value_all(uint8_t value)` {#api-is31fl3746a-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-is31fl3746a-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void is31fl3746a_set_scaling_register(uint8_t index, uint8_t red, uint8_t green, uint8_t blue)` {#api-is31fl3746a-set-scaling-register-rgb}
+
+Configure the scaling registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `is31fl3746a_update_scaling_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3746a-set-scaling-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3746a_leds` array).
+ - `uint8_t red`
+ The scaling value for the red channel.
+ - `uint8_t green`
+ The scaling value for the green channel.
+ - `uint8_t blue`
+ The scaling value for the blue channel.
+
+---
+
+### `void is31fl3746a_set_scaling_register(uint8_t index, uint8_t value)` {#api-is31fl3746a-set-scaling-register-mono}
+
+Configure the scaling register for a single LED (single-color driver only). This function does not immediately update the LEDs; call `is31fl3746a_update_scaling_registers()` after you are finished.
+
+#### Arguments {#api-is31fl3746a-set-scaling-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_is31fl3746a_leds` array).
+ - `uint8_t value`
+ The scaling value for the LED.
+
+---
+
+### `void is31fl3746a_update_pwm_buffers(uint8_t index)` {#api-is31fl3746a-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-is31fl3746a-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void is31fl3746a_update_scaling_registers(uint8_t index)` {#api-is31fl3746a-update-scaling-registers}
+
+Flush the scaling register values to the LED driver.
+
+#### Arguments {#api-is31fl3746a-update-scaling-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/serial.md b/docs/drivers/serial.md
index 75d11bc93bcb..dda75f629a27 100644
--- a/docs/drivers/serial.md
+++ b/docs/drivers/serial.md
@@ -12,8 +12,6 @@ The Serial driver powers the [Split Keyboard](../features/split_keyboard) featur
Serial in this context should be read as **sending information one bit at a time**, rather than implementing UART/USART/RS485/RS232 standards.
:::
-
-
## Bitbang
This is the Default driver, absence of configuration assumes this driver. It works by [bit banging](https://en.wikipedia.org/wiki/Bit_banging) a GPIO pin using the CPU. It is therefore not as efficient as a dedicated hardware peripheral, which the Half-duplex and Full-duplex drivers use.
@@ -53,11 +51,15 @@ SERIAL_DRIVER = bitbang
#define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6
```
-3. On ARM platforms you must turn on ChibiOS `PAL_USE_CALLBACKS` feature:
+3. On ARM platforms you must turn on ChibiOS PAL callbacks:
-* In `halconf.h` add the line `#define PAL_USE_CALLBACKS TRUE`.
+```c
+#pragma once
-
+#define PAL_USE_CALLBACKS TRUE // [!code focus]
+
+#include_next
+```
## USART Half-duplex
@@ -117,8 +119,6 @@ For STM32 MCUs several GPIO configuration options can be changed as well. See th
4. Decide either for `SERIAL`, `SIO`, or `PIO` subsystem. See section ["Choosing a driver subsystem"](#choosing-a-driver-subsystem).
-
-
## USART Full-duplex
Targeting ARM boards based on ChibiOS where communication is offloaded to an USART hardware device. The advantages over bitbanging are fast, accurate timings and reduced CPU usage; therefore it is advised to choose this driver over all others where possible. Due to its internal design Full-duplex is slightly more efficient than the Half-duplex driver, but Full-duplex should be primarily chosen if Half-duplex operation is not supported by the controller's USART peripheral.
@@ -179,38 +179,46 @@ For STM32 MCUs several GPIO configuration options, including the ability for `TX
4. Decide either for `SERIAL`, `SIO`, or `PIO` subsystem. See section ["Choosing a driver subsystem"](#choosing-a-driver-subsystem).
-
-
## Choosing a driver subsystem
### The `SERIAL` driver
The `SERIAL` Subsystem is supported for the majority of ChibiOS MCUs and should be used whenever supported. Follow these steps in order to activate it:
-1. In your keyboards `halconf.h` add:
+1. Enable the SERIAL subsystem in the ChibiOS HAL.
-```c
-#define HAL_USE_SERIAL TRUE
-```
+ Add the following to your keyboard's `halconf.h`, creating it if necessary:
-2. In your keyboards `mcuconf.h`: activate the USART peripheral that is used on your MCU. The shown example is for an STM32 MCU, so this will not work on MCUs by other manufacturers. You can find the correct names in the `mcuconf.h` files of your MCU that ship with ChibiOS.
-
-Just below `#include_next ` add:
+ ```c
+ #pragma once
-```c
-#include_next
+ #define HAL_USE_SERIAL TRUE // [!code focus]
-#undef STM32_SERIAL_USE_USARTn
-#define STM32_SERIAL_USE_USARTn TRUE
-```
+ #include_next
+ ```
-Where 'n' matches the peripheral number of your selected USART on the MCU.
+2. Activate the USART peripheral that is used on your MCU. The shown example is for an STM32 MCU, so this will not work on MCUs by other manufacturers. You can find the correct names in the `mcuconf.h` files of your MCU that ship with ChibiOS.
-3. In you keyboards `config.h`: override the default USART `SERIAL` driver if you use a USART peripheral that does not belong to the default selected `SD1` driver. For instance, if you selected `STM32_SERIAL_USE_USART3` the matching driver would be `SD3`.
+ Add the following to your keyboard's `mcuconf.h`, creating it if necessary:
-```c
- #define SERIAL_USART_DRIVER SD3
- ```
+ ```c
+ #pragma once
+
+ #include_next
+
+ #undef STM32_SERIAL_USE_USARTn // [!code focus]
+ #define STM32_SERIAL_USE_USARTn TRUE // [!code focus]
+ ```
+
+ Where *n* matches the peripheral number of your selected USART on the MCU.
+
+3. Override the default USART `SERIAL` driver if you use a USART peripheral that does not belong to the default selected `SD1` driver. For instance, if you selected `STM32_SERIAL_USE_USART3` the matching driver would be `SD3`.
+
+ Add the following to your keyboard's `config.h`:
+
+ ```c
+ #define SERIAL_USART_DRIVER SD3
+ ```
### The `SIO` driver
@@ -218,31 +226,41 @@ The `SIO` Subsystem was added to ChibiOS with the 21.11 release and is only supp
Follow these steps in order to activate it:
-1. In your keyboards `halconf.h` add:
+1. Enable the SIO subsystem in the ChibiOS HAL.
-```c
-#define HAL_USE_SIO TRUE
-```
+ Add the following to your keyboard's `halconf.h`, creating it if necessary:
-2. In your keyboards `mcuconf.h:` activate the USART peripheral that is used on your MCU. The shown example is for an STM32 MCU, so this will not work on MCUs by other manufacturers. You can find the correct names in the `mcuconf.h` files of your MCU that ship with ChibiOS.
-
-Just below `#include_next ` add:
+ ```c
+ #pragma once
-```c
-#include_next
+ #define HAL_USE_SIO TRUE // [!code focus]
-#undef STM32_SIO_USE_USARTn
-#define STM32_SIO_USE_USARTn TRUE
-```
+ #include_next
+ ```
-Where 'n' matches the peripheral number of your selected USART on the MCU.
+2. Activate the USART peripheral that is used on your MCU. The shown example is for an STM32 MCU, so this will not work on MCUs by other manufacturers. You can find the correct names in the `mcuconf.h` files of your MCU that ship with ChibiOS.
-3. In the keyboard's `config.h` file: override the default USART `SIO` driver if you use a USART peripheral that does not belong to the default selected `SIOD1` driver. For instance, if you selected `STM32_SERIAL_USE_USART3` the matching driver would be `SIOD3`.
+ Add the following to your keyboard's `mcuconf.h`, creating it if necessary:
+
+ ```c
+ #pragma once
+
+ #include_next
+
+ #undef STM32_SIO_USE_USARTn // [!code focus]
+ #define STM32_SIO_USE_USARTn TRUE // [!code focus]
+ ```
+
+ Where *n* matches the peripheral number of your selected USART on the MCU.
+
+3. Override the default USART `SIO` driver if you use a USART peripheral that does not belong to the default selected `SIOD1` driver. For instance, if you selected `STM32_SERIAL_USE_USART3` the matching driver would be `SIOD3`.
+
+ Add the following to your keyboard's `config.h`:
+
+ ```c
+ #define SERIAL_USART_DRIVER SIOD3
+ ```
-```c
- #define SERIAL_USART_DRIVER SIOD3
- ```
-
### The `PIO` driver
The `PIO` subsystem is a Raspberry Pi RP2040 specific implementation, using an integrated PIO peripheral and is therefore only available on this MCU. Because of the flexible nature of PIO peripherals, **any** GPIO pin can be used as a `TX` or `RX` pin. Half-duplex and Full-duplex operation modes are fully supported with this driver. Half-duplex uses the built-in pull-ups and GPIO manipulation of the RP2040 to drive the line high by default, thus an external pull-up resistor **is not required**.
@@ -254,8 +272,6 @@ Optionally, the PIO peripheral utilized for split communication can be changed w
The Serial PIO program uses 2 state machines, 13 instructions and the complete interrupt handler of the PIO peripheral it is running on.
-
-
## Advanced Configuration
There are several advanced configuration options that can be defined in your keyboards `config.h` file:
@@ -265,9 +281,11 @@ There are several advanced configuration options that can be defined in your key
If you're having issues or need a higher baudrate with serial communication, you can change the baudrate which in turn controls the communication speed for serial. You want to lower the baudrate if you experience failed transactions.
```c
-#define SELECT_SOFT_SERIAL_SPEED {#}
+#define SELECT_SOFT_SERIAL_SPEED n
```
+Where *n* is one of:
+
| Speed | Bitbang | Half-duplex and Full-duplex |
| ----- | -------------------------- | --------------------------- |
| `0` | 189000 baud (experimental) | 460800 baud |
@@ -287,8 +305,6 @@ This is the default time window in milliseconds in which a successful communicat
#define SERIAL_USART_TIMEOUT 20 // USART driver timeout. default 20
```
-
-
## Troubleshooting
If you're having issues withe serial communication, you can enable debug messages that will give you insights which part of the communication failed. The enable these messages add to your keyboards `config.h` file:
diff --git a/docs/drivers/snled27351.md b/docs/drivers/snled27351.md
new file mode 100644
index 000000000000..1d91182f7c38
--- /dev/null
+++ b/docs/drivers/snled27351.md
@@ -0,0 +1,245 @@
+# SNLED27351 Driver {#snled27351-driver}
+
+I²C 16x12 LED matrix driver by Sonix. Supports a maximum of four drivers, each controlling up to 192 single-color LEDs, or 64 RGB LEDs.
+
+A slightly modified version of this IC is also known as "CKLED2001".
+
+[SNLED27351 Datasheet](https://www.sonix.com.tw/files/1/D235860C0C037C28E050007F01001CBE)
+
+## Usage {#usage}
+
+The SNLED27351 driver code is automatically included if you are using the [LED Matrix](../features/led_matrix) or [RGB Matrix](../features/rgb_matrix) feature with the `snled27351` driver set, and you would use those APIs instead.
+
+However, if you need to use the driver standalone, add this to your `rules.mk`:
+
+```make
+COMMON_VPATH += $(DRIVER_PATH)/led
+SRC += snled27351-mono.c # For single-color
+SRC += snled27351.c # For RGB
+I2C_DRIVER_REQUIRED = yes
+```
+
+## Basic Configuration {#basic-configuration}
+
+Add the following to your `config.h`:
+
+|Define |Default |Description |
+|----------------------------|-------------|----------------------------------------------------|
+|`SNLED27351_SDB_PIN` |*Not defined*|The GPIO pin connected to the drivers' shutdown pins|
+|`SNLED27351_I2C_TIMEOUT` |`100` |The I²C timeout in milliseconds |
+|`SNLED27351_I2C_PERSISTENCE`|`0` |The number of times to retry I²C transmissions |
+|`SNLED27351_I2C_ADDRESS_1` |*Not defined*|The I²C address of driver 0 |
+|`SNLED27351_I2C_ADDRESS_2` |*Not defined*|The I²C address of driver 1 |
+|`SNLED27351_I2C_ADDRESS_3` |*Not defined*|The I²C address of driver 2 |
+|`SNLED27351_I2C_ADDRESS_4` |*Not defined*|The I²C address of driver 3 |
+
+### I²C Addressing {#i2c-addressing}
+
+The SNLED27351 has four possible 7-bit I²C addresses, depending on how the `ADDR` pin is connected.
+
+To configure this, set the `SNLED27351_I2C_ADDRESS_n` defines to one of the following in your `config.h`, where *n* denotes the driver index:
+
+|Define |Value |
+|------------------------------|------|
+|`SNLED27351_I2C_ADDRESS_GND` |`0x74`|
+|`SNLED27351_I2C_ADDRESS_SCL` |`0x75`|
+|`SNLED27351_I2C_ADDRESS_SDA` |`0x76`|
+|`SNLED27351_I2C_ADDRESS_VDDIO`|`0x77`|
+
+## ARM/ChibiOS Configuration {#arm-configuration}
+
+Depending on the ChibiOS board configuration, you may need to [enable and configure I²C](i2c#arm-configuration) at the keyboard level.
+
+## LED Mapping {#led-mapping}
+
+In order to use this driver, each output must be mapped to an LED index, by adding the following to your `.c`:
+
+```c
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
+/* Driver
+ * | R G B */
+ {0, CB1_CA1, CB1_CA2, CB1_CA3},
+ // etc...
+};
+```
+
+In this example, the red, green and blue channels for the first LED index on driver 0 all have their cathodes connected to the `CB1` pin, and their anodes on the `CA1`, `CA2` and `CA3` pins respectively.
+
+For the single-color driver, the principle is the same, but there is only one channel:
+
+```c
+const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
+/* Driver
+ * | V */
+ {0, CB1_CA1},
+ // etc...
+};
+```
+
+These values correspond to the register indices as shown in the datasheet on page 13.
+
+## API {#api}
+
+### `struct snled27351_led_t` {#api-snled27351-led-t}
+
+Contains the PWM register addresses for a single RGB LED.
+
+#### Members {#api-snled27351-led-t-members}
+
+ - `uint8_t driver`
+ The driver index of the LED, from 0 to 3.
+ - `uint8_t r`
+ The output PWM register address for the LED's red channel (RGB driver only).
+ - `uint8_t g`
+ The output PWM register address for the LED's green channel (RGB driver only).
+ - `uint8_t b`
+ The output PWM register address for the LED's blue channel (RGB driver only).
+ - `uint8_t v`
+ The output PWM register address for the LED (single-color driver only).
+
+---
+
+### `void snled27351_init(uint8_t index)` {#api-snled27351-init}
+
+Initialize the LED driver. This function should be called first.
+
+#### Arguments {#api-snled27351-init-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void snled27351_write_register(uint8_t index, uint8_t reg, uint8_t data)` {#api-snled27351-write-register}
+
+Set the value of the given register.
+
+#### Arguments {#api-snled27351-write-register-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t reg`
+ The register address.
+ - `uint8_t data`
+ The value to set.
+
+---
+
+### `void snled27351_select_page(uint8_t index, uint8_t page)` {#api-snled27351-select-page}
+
+Change the current page for configuring the LED driver.
+
+#### Arguments {#api-snled27351-select-page-arguments}
+
+ - `uint8_t index`
+ The driver index.
+ - `uint8_t page`
+ The page number to select.
+
+---
+
+### `void snled27351_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-snled27351-set-color}
+
+Set the color of a single LED (RGB driver only). This function does not immediately update the LEDs; call `snled27351_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-snled27351-set-color-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_snled27351_leds` array).
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void snled27351_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-snled27351-set-color-all}
+
+Set the color of all LEDs (RGB driver only).
+
+#### Arguments {#api-snled27351-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void snled27351_set_value(int index, uint8_t value)` {#api-snled27351-set-value}
+
+Set the brightness of a single LED (single-color driver only). This function does not immediately update the LEDs; call `snled27351_update_pwm_buffers()` after you are finished.
+
+#### Arguments {#api-snled27351-set-value-arguments}
+
+ - `int index`
+ The LED index (ie. the index into the `g_snled27351_leds` array).
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void snled27351_set_value_all(uint8_t value)` {#api-snled27351-set-value-all}
+
+Set the brightness of all LEDs (single-color driver only).
+
+#### Arguments {#api-snled27351-set-value-all-arguments}
+
+ - `uint8_t value`
+ The brightness value to set.
+
+---
+
+### `void snled27351_set_led_control_register(uint8_t index, bool red, bool green, bool blue)` {#api-snled27351-set-led-control-register-rgb}
+
+Configure the LED control registers for a single LED (RGB driver only). This function does not immediately update the LEDs; call `snled27351_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-snled27351-set-led-control-register-rgb-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_snled27351_leds` array).
+ - `bool red`
+ Enable or disable the red channel.
+ - `bool green`
+ Enable or disable the green channel.
+ - `bool blue`
+ Enable or disable the blue channel.
+
+---
+
+### `void snled27351_set_led_control_register(uint8_t index, bool value)` {#api-snled27351-set-led-control-register-mono}
+
+Configure the LED control registers for a single LED (single-color driver only). This function does not immediately update the LEDs; call `snled27351_update_led_control_registers()` after you are finished.
+
+#### Arguments {#api-snled27351-set-led-control-register-mono-arguments}
+
+ - `uint8_t index`
+ The LED index (ie. the index into the `g_snled27351_leds` array).
+ - `bool value`
+ Enable or disable the LED.
+
+---
+
+### `void snled27351_update_pwm_buffers(uint8_t index)` {#api-snled27351-update-pwm-buffers}
+
+Flush the PWM values to the LED driver.
+
+#### Arguments {#api-snled27351-update-pwm-buffers-arguments}
+
+ - `uint8_t index`
+ The driver index.
+
+---
+
+### `void snled27351_update_led_control_registers(uint8_t index)` {#api-snled27351-update-led-control-registers}
+
+Flush the LED control register values to the LED driver.
+
+#### Arguments {#api-snled27351-update-led-control-registers-arguments}
+
+ - `uint8_t index`
+ The driver index.
diff --git a/docs/drivers/spi.md b/docs/drivers/spi.md
index ddc35de8511a..43d2a056d5db 100644
--- a/docs/drivers/spi.md
+++ b/docs/drivers/spi.md
@@ -32,20 +32,27 @@ You may use more than one slave select pin, not just the `SS` pin. This is usefu
You'll need to determine which pins can be used for SPI -- as an example, STM32 parts generally have multiple SPI peripherals, labeled SPI1, SPI2, SPI3 etc.
-To enable SPI, modify your board's `halconf.h` to enable SPI:
+To enable SPI, modify your board's `halconf.h` to enable SPI, then modify your board's `mcuconf.h` to enable the peripheral you've chosen:
-```c
-#define HAL_USE_SPI TRUE
-#define SPI_USE_WAIT TRUE
-#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD
+::: code-group
+```c [halconf.h]
+#pragma once
+
+#define HAL_USE_SPI TRUE // [!code focus]
+#define SPI_USE_WAIT TRUE // [!code focus]
+#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD // [!code focus]
+
+#include_next
```
+```c [mcuconf.h]
+#pragma once
-Then, modify your board's `mcuconf.h` to enable the peripheral you've chosen, for example:
+#include_next
-```c
-#undef STM32_SPI_USE_SPI2
-#define STM32_SPI_USE_SPI2 TRUE
+#undef STM32_SPI_USE_SPI2 // [!code focus]
+#define STM32_SPI_USE_SPI2 TRUE // [!code focus]
```
+:::
Configuration-wise, you'll need to set up the peripheral as per your MCU's datasheet -- the defaults match the pins for a Proton-C, i.e. STM32F303.
diff --git a/docs/drivers/uart.md b/docs/drivers/uart.md
index 23f5b3d6e431..7cc68727eec1 100644
--- a/docs/drivers/uart.md
+++ b/docs/drivers/uart.md
@@ -35,8 +35,12 @@ You'll need to determine which pins can be used for UART -- as an example, STM32
To enable UART, modify your board's `mcuconf.h` to enable the peripheral you've chosen, for example:
```c
-#undef STM32_SERIAL_USE_USART2
-#define STM32_SERIAL_USE_USART2 TRUE
+#pragma once
+
+#include_next
+
+#undef STM32_SERIAL_USE_USART2 // [!code focus]
+#define STM32_SERIAL_USE_USART2 TRUE // [!code focus]
```
Configuration-wise, you'll need to set up the peripheral as per your MCU's datasheet -- the defaults match the pins for a Proton-C, i.e. STM32F303.
diff --git a/docs/drivers/ws2812.md b/docs/drivers/ws2812.md
index 61addf1917ed..4d1e72792818 100644
--- a/docs/drivers/ws2812.md
+++ b/docs/drivers/ws2812.md
@@ -160,15 +160,23 @@ To configure the DI pin for open drain configuration, add the following to your
Depending on the ChibiOS board configuration, you may need to enable SPI at the keyboard level. For STM32, this would look like:
-`halconf.h`:
-```c
-#define HAL_USE_SPI TRUE
+::: code-group
+```c [halconf.h]
+#pragma once
+
+#define HAL_USE_SPI TRUE // [!code focus]
+
+#include_next
```
-`mcuconf.h`:
-```c
-#undef STM32_SPI_USE_SPI1
-#define STM32_SPI_USE_SPI1 TRUE
+```c [mcuconf.h]
+#pragma once
+
+#include_next
+
+#undef STM32_SPI_USE_SPI1 // [!code focus]
+#define STM32_SPI_USE_SPI1 TRUE // [!code focus]
```
+:::
The following `define`s apply only to the `spi` driver:
@@ -213,15 +221,23 @@ The following `#define`s apply only to the PIO driver:
Depending on the ChibiOS board configuration, you may need to enable PWM at the keyboard level. For STM32, this would look like:
-`halconf.h`:
-```c
-#define HAL_USE_PWM TRUE
+::: code-group
+```c [halconf.h]
+#pragma once
+
+#define HAL_USE_PWM TRUE // [!code focus]
+
+#include_next
```
-`mcuconf.h`:
-```c
-#undef STM32_PWM_USE_TIM2
-#define STM32_PWM_USE_TIM2 TRUE
+```c [mcuconf.h]
+#pragma once
+
+#include_next
+
+#undef STM32_PWM_USE_TIM2 // [!code focus]
+#define STM32_PWM_USE_TIM2 TRUE // [!code focus]
```
+:::
The following `#define`s apply only to the `pwm` driver:
@@ -236,18 +252,49 @@ The following `#define`s apply only to the `pwm` driver:
|`WS2812_PWM_COMPLEMENTARY_OUTPUT`|*Not defined* |Whether the PWM output is complementary (`TIMx_CHyN`) |
::: tip
-Using a complementary timer output (`TIMx_CHyN`) is possible only for advanced-control timers (1, 8 and 20 on STM32), and the `STM32_PWM_USE_ADVANCED` option in `mcuconf.h` must be set to `TRUE`. Complementary outputs of general-purpose timers are not supported due to ChibiOS limitations.
+Using a complementary timer output (`TIMx_CHyN`) is possible only for advanced-control timers (1, 8 and 20 on STM32). Complementary outputs of general-purpose timers are not supported due to ChibiOS limitations.
:::
## API {#api}
-### `void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds)` {#api-ws2812-setleds}
+### `void ws2812_init(void)` {#api-ws2812-init}
+
+Initialize the LED driver. This function should be called first.
+
+---
+
+### `void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue)` {#api-ws2812-set-color}
+
+Set the color of a single LED. This function does not immediately update the LEDs; call `ws2812_flush()` after you are finished.
+
+#### Arguments {#api-ws2812-set-color-arguments}
+
+ - `int index`
+ The LED index in the WS2812 chain.
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
+
+---
+
+### `void ws812_set_color_all(uint8_t red, uint8_t green, uint8_t blue)` {#api-ws2812-set-color-all}
+
+Set the color of all LEDs.
+
+#### Arguments {#api-ws2812-set-color-all-arguments}
+
+ - `uint8_t red`
+ The red value to set.
+ - `uint8_t green`
+ The green value to set.
+ - `uint8_t blue`
+ The blue value to set.
-Send RGB data to the WS2812 LED chain.
+---
-#### Arguments {#api-ws2812-setleds-arguments}
+### `void ws2812_flush(void)` {#api-ws2812-flush}
- - `rgb_led_t *ledarray`
- A pointer to the LED array.
- - `uint16_t number_of_leds`
- The length of the LED array.
+Flush the PWM values to the LED chain.
diff --git a/docs/faq_general.md b/docs/faq_general.md
index 69ef4efa17b4..fe26dc3806fd 100644
--- a/docs/faq_general.md
+++ b/docs/faq_general.md
@@ -40,7 +40,7 @@ That's amazing! We would love to assist you with that!
In fact, we have a [whole page](https://qmk.fm/powered/) dedicated to adding QMK Branding to your page and keyboard. This covers pretty much everything you need (knowledge and images) to officially support QMK.
-If you have any questions about this, open an issue or head to [Discord](https://discord.gg/Uq7gcHh).
+If you have any questions about this, open an issue or head to [Discord](https://discord.gg/qmk).
## What Differences Are There Between QMK and TMK?
diff --git a/docs/faq_keymap.md b/docs/faq_keymap.md
index 56ccc6f6ccf5..05bd4fed3e4a 100644
--- a/docs/faq_keymap.md
+++ b/docs/faq_keymap.md
@@ -34,7 +34,7 @@ On first run, the VIA code in the firmware will copy the keymap from flash memor
The simple fix for this is to clear the EEPROM. You can do this in several ways:
-* Hold the Bootmagic Lite key (usually top left/Escape) while plugging the board in, which will also place the board into bootloader mode; then unplug and replug the board.
+* Hold the Bootmagic key (usually top left/Escape) while plugging the board in, which will also place the board into bootloader mode; then unplug and replug the board.
* Press the `QK_CLEAR_EEPROM`/`EE_CLR` keycode if it is accessible on your keymap.
* Place the board into bootloader mode and hit the "Clear EEPROM" button. This may not be available for all bootloaders, and you may need to reflash the board afterwards.
diff --git a/docs/feature_advanced_keycodes.md b/docs/feature_advanced_keycodes.md
index 7f5a10d1c13d..18740044f435 100644
--- a/docs/feature_advanced_keycodes.md
+++ b/docs/feature_advanced_keycodes.md
@@ -11,7 +11,7 @@ These allow you to combine a modifier with a keycode. When pressed, the keydown
|`RCTL(kc)`| |Hold Right Control and press `kc` |
|`RSFT(kc)`| |Hold Right Shift and press `kc` |
|`RALT(kc)`|`ROPT(kc)`, `ALGR(kc)` |Hold Right Alt and press `kc` |
-|`RGUI(kc)`|`RCMD(kc)`, `LWIN(kc)` |Hold Right GUI and press `kc` |
+|`RGUI(kc)`|`RCMD(kc)`, `RWIN(kc)` |Hold Right GUI and press `kc` |
|`LSG(kc)` |`SGUI(kc)`, `SCMD(kc)`, `SWIN(kc)`|Hold Left Shift and GUI and press `kc` |
|`LAG(kc)` | |Hold Left Alt and Left GUI and press `kc` |
|`RSG(kc)` | |Hold Right Shift and Right GUI and press `kc` |
diff --git a/docs/feature_converters.md b/docs/feature_converters.md
index 229d1007ab4c..06cc7b3a11f3 100644
--- a/docs/feature_converters.md
+++ b/docs/feature_converters.md
@@ -10,7 +10,7 @@ The following converters are available at this time:
|------------|-------------------|
| `promicro` | `proton_c` |
| `promicro` | `kb2040` |
-| `promicro` | `promicro_rp2040` |
+| `promicro` | `sparkfun_pm2040` |
| `promicro` | `blok` |
| `promicro` | `bit_c_pro` |
| `promicro` | `stemcell` |
@@ -21,6 +21,7 @@ The following converters are available at this time:
| `promicro` | `liatris` |
| `promicro` | `imera` |
| `promicro` | `michi` |
+| `promicro` | `svlinky` |
| `elite_c` | `stemcell` |
| `elite_c` | `rp2040_ce` |
| `elite_c` | `elite_pi` |
@@ -77,7 +78,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co
|------------------------------------------------------------------------------------------|-------------------|
| [Proton C](https://qmk.fm/proton-c/) | `proton_c` |
| [Adafruit KB2040](https://learn.adafruit.com/adafruit-kb2040) | `kb2040` |
-| [SparkFun Pro Micro - RP2040](https://www.sparkfun.com/products/18288) | `promicro_rp2040` |
+| [SparkFun Pro Micro - RP2040](https://www.sparkfun.com/products/18288) | `sparkfun_pm2040` |
| [Blok](https://boardsource.xyz/store/628b95b494dfa308a6581622) | `blok` |
| [Bit-C PRO](https://nullbits.co/bit-c-pro) | `bit_c_pro` |
| [STeMCell](https://github.com/megamind4089/STeMCell) | `stemcell` |
@@ -87,6 +88,7 @@ If a board currently supported in QMK uses a [Pro Micro](https://www.sparkfun.co
| [Liatris](https://splitkb.com/products/liatris) | `liatris` |
| [Imera](https://splitkb.com/products/imera) | `imera` |
| [Michi](https://github.com/ci-bus/michi-promicro-rp2040) | `michi` |
+| [Svlinky](https://github.com/sadekbaroudi/svlinky) | `svlinky` |
Converter summary:
@@ -94,7 +96,7 @@ Converter summary:
|-------------------|---------------------------------|------------------------------|-------------------------------------|
| `proton_c` | `-e CONVERT_TO=proton_c` | `CONVERT_TO=proton_c` | `#ifdef CONVERT_TO_PROTON_C` |
| `kb2040` | `-e CONVERT_TO=kb2040` | `CONVERT_TO=kb2040` | `#ifdef CONVERT_TO_KB2040` |
-| `promicro_rp2040` | `-e CONVERT_TO=promicro_rp2040` | `CONVERT_TO=promicro_rp2040` | `#ifdef CONVERT_TO_PROMICRO_RP2040` |
+| `sparkfun_pm2040` | `-e CONVERT_TO=sparkfun_pm2040` | `CONVERT_TO=sparkfun_pm2040` | `#ifdef CONVERT_TO_SPARKFUN_PM2040` |
| `blok` | `-e CONVERT_TO=blok` | `CONVERT_TO=blok` | `#ifdef CONVERT_TO_BLOK` |
| `bit_c_pro` | `-e CONVERT_TO=bit_c_pro` | `CONVERT_TO=bit_c_pro` | `#ifdef CONVERT_TO_BIT_C_PRO` |
| `stemcell` | `-e CONVERT_TO=stemcell` | `CONVERT_TO=stemcell` | `#ifdef CONVERT_TO_STEMCELL` |
@@ -105,6 +107,7 @@ Converter summary:
| `liatris` | `-e CONVERT_TO=liatris` | `CONVERT_TO=liatris` | `#ifdef CONVERT_TO_LIATRIS` |
| `imera` | `-e CONVERT_TO=imera` | `CONVERT_TO=imera` | `#ifdef CONVERT_TO_IMERA` |
| `michi` | `-e CONVERT_TO=michi` | `CONVERT_TO=michi` | `#ifdef CONVERT_TO_MICHI` |
+| `svlinky` | `-e CONVERT_TO=svlinky` | `CONVERT_TO=svlinky` | `#ifdef CONVERT_TO_SVLINKY` |
### Proton C {#proton_c}
@@ -135,7 +138,7 @@ The following defaults are based on what has been implemented for [RP2040](platf
| USB Host (e.g. USB-USB converter) | Not supported (USB host code is AVR specific and is not currently supported on ARM) |
| [Split keyboards](features/split_keyboard) | Partial via `PIO` vendor driver - heavily dependent on enabled features |
-### SparkFun Pro Micro - RP2040, Blok, Bit-C PRO and Michi {#promicro_rp2040 }
+### SparkFun Pro Micro - RP2040, Blok, Bit-C PRO and Michi {#sparkfun_pm2040 }
Feature set is identical to [Adafruit KB2040](#kb2040).
@@ -170,6 +173,9 @@ The Bonsai C4 only has one on-board LED (B2), and by default, both the Pro Micro
Feature set is identical to [Adafruit KB2040](#kb2040). VBUS detection is enabled by default for superior split keyboard support. For more information, refer to the [Community Edition pinout](platformdev_rp2040#rp2040_ce) docs.
+### Svlinky {#svlinky}
+
+Feature set is a pro micro equivalent of the [RP2040 Community Edition](#rp2040_ce), except that two of the analog GPIO have been replaced with digital only GPIO. These two were moved to the FPC connector to support the [VIK specification](https://github.com/sadekbaroudi/vik). This means that if you are expecting analog support on all 4 pins as provided on a RP2040 Community Edition pinout, you will not have that. Please see the [Svlinky github page](https://github.com/sadekbaroudi/svlinky) for more details.
## Elite-C
diff --git a/docs/feature_eeprom.md b/docs/feature_eeprom.md
index 2912407ac765..22257b320224 100644
--- a/docs/feature_eeprom.md
+++ b/docs/feature_eeprom.md
@@ -109,7 +109,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
}
```
-And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EE_CLR` keycode or [Bootmagic Lite](features/bootmagic) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued.
+And lastly, you want to add the `eeconfig_init_user` function, so that when the EEPROM is reset, you can specify default values, and even custom actions. To force an EEPROM reset, use the `EE_CLR` keycode or [Bootmagic](features/bootmagic) functionallity. For example, if you want to set rgb layer indication by default, and save the default valued.
```c
void eeconfig_init_user(void) { // EEPROM is getting reset!
diff --git a/docs/feature_layers.md b/docs/feature_layers.md
index fe9932fadbe6..da6a28bd8821 100644
--- a/docs/feature_layers.md
+++ b/docs/feature_layers.md
@@ -8,7 +8,8 @@ For a detailed explanation of how the layer stack works, checkout [Keymap Overvi
These functions allow you to activate layers in various ways. Note that layers are not generally independent layouts -- multiple layers can be activated at once, and it's typical for layers to use `KC_TRNS` to allow keypresses to pass through to lower layers. When using momentary layer switching with MO(), LM(), TT(), or LT(), make sure to leave the key on the above layers transparent or it may not work as intended.
-* `DF(layer)` - switches the default layer. The default layer is the always-active base layer that other layers stack on top of. See below for more about the default layer. This might be used to switch from QWERTY to Dvorak layout. (Note that this is a temporary switch that only persists until the keyboard loses power. To modify the default layer in a persistent way requires deeper customization, such as calling the `set_single_persistent_default_layer` function inside of [process_record_user](custom_quantum_functions#programming-the-behavior-of-any-keycode).)
+* `DF(layer)` - switches the default layer. The default layer is the always-active base layer that other layers stack on top of. See below for more about the default layer. This might be used to switch from QWERTY to Dvorak layout. Note that this is a temporary switch that only persists until the keyboard loses power.
+* `PDF(layer)` - sets a persistent default layer. This switch, which will last through a power loss, might be used to switch from QWERTY to Dvorak layout and only switch again when you want to.
* `MO(layer)` - momentarily activates *layer*. As soon as you let go of the key, the layer is deactivated.
* `LM(layer, mod)` - Momentarily activates *layer* (like `MO`), but with modifier(s) *mod* active. Only supports layers 0-15. The modifiers this keycode accept are prefixed with `MOD_`, not `KC_`. These modifiers can be combined using bitwise OR, e.g. `LM(_RAISE, MOD_LCTL | MOD_LALT)`.
* `LT(layer, kc)` - momentarily activates *layer* when held, and sends *kc* when tapped. Only supports layers 0-15.
@@ -17,6 +18,9 @@ These functions allow you to activate layers in various ways. Note that layers a
* `TO(layer)` - activates *layer* and de-activates all other layers (except your default layer). This function is special, because instead of just adding/removing one layer to your active layer stack, it will completely replace your current active layers, uniquely allowing you to replace higher layers with a lower one. This is activated on keydown (as soon as the key is pressed).
* `TT(layer)` - Layer Tap-Toggle. If you hold the key down, *layer* is activated, and then is de-activated when you let go (like `MO`). If you repeatedly tap it, the layer will be toggled on or off (like `TG`). It needs 5 taps by default, but you can change this by defining `TAPPING_TOGGLE` -- for example, `#define TAPPING_TOGGLE 2` to toggle on just two taps.
+See also the [Layer Lock key](features/layer_lock), which locks the highest
+active layer until pressed again.
+
### Caveats {#caveats}
Currently, the `layer` argument of `LT()` is limited to layers 0-15, and the `kc` argument to the [Basic Keycode set](keycodes_basic), meaning you can't use keycodes like `LCTL()`, `KC_TILD`, or anything greater than `0xFF`. This is because QMK uses 16-bit keycodes, of which 4 bits are used for the function identifier and 4 bits for the layer, leaving only 8 bits for the keycode.
@@ -74,6 +78,7 @@ There are a number of functions (and variables) related to how you can use or ma
| `default_layer_and(layer_mask)` | Turns on layers based on matching enabled bits between specifed layer and existing default layer state. |
| `default_layer_xor(layer_mask)` | Turns on layers based on non-matching bits between specifed layer and existing default layer state. |
| `default_layer_debug(layer_mask)` | Prints out the current bit mask and highest active default layer to debugger console. |
+| [`set_single_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer) | Sets the default layer, but does _not_ write it to persistent memory (EEPROM). |
| [`set_single_persistent_default_layer(layer)`](ref_functions.md#setting-the-persistent-default-layer) | Sets the default layer and writes it to persistent memory (EEPROM). |
| [`update_tri_layer(x, y, z)`](ref_functions.md#update_tri_layerx-y-z) | Checks if layers `x` and `y` are both on, and sets `z` based on that (on if both on, otherwise off). |
| [`update_tri_layer_state(state, x, y, z)`](ref_functions.md#update_tri_layer_statestate-x-y-z) | Does the same as `update_tri_layer(x, y, z)`, but from `layer_state_set_*` functions. |
diff --git a/docs/feature_macros.md b/docs/feature_macros.md
index 055bb3ff8f72..b4e37a1ba96f 100644
--- a/docs/feature_macros.md
+++ b/docs/feature_macros.md
@@ -42,38 +42,7 @@ You can define up to 32 macros in a `keymap.json` file, as used by [Configurator
### Selecting Your Host Keyboard Layout
-If you type in a language other than English, or use a non-QWERTY layout like Colemak, Dvorak, or Workman, you may have set your computer's input language to match this layout. This presents a challenge when creating macros - you may need to type different keys to get the same letters! To address this you can add the `host_language` key to your `keymap.json`, like so:
-
-```json
-{
- "keyboard": "handwired/my_macropad",
- "keymap": "my_keymap",
- "host_language": "dvorak",
- "macros": [
- ["Hello, World!"]
- ],
- "layout": "LAYOUT_all",
- "layers": [
- ["QK_MACRO_0"]
- ]
-}
-```
-
-The current list of available languages is:
-
-| belgian | bepo | br_abnt2 | canadian_multilingual |
-|:-------:|:----:|:--------:|:---------------------:|
-| **colemak** | **croatian** | **czech** | **danish** |
-| **dvorak_fr** | **dvorak** | **dvp** | **estonian** |
-| **finnish** | **fr_ch** | **french_afnor** | **french** |
-| **french_osx** | **german_ch** | **german** | **german_osx** |
-| **hungarian** | **icelandic** | **italian** | **italian_osx_ansi** |
-| **italian_osx_iso** | **jis** | **latvian** | **lithuanian_azerty** |
-| **lithuanian_qwerty** | **norman** | **norwegian** | **portuguese** |
-| **portuguese_osx_iso** | **romanian** | **serbian_latin** | **slovak** |
-| **slovenian** | **spanish_dvorak** | **spanish_latin_america** | **spanish** |
-| **swedish** | **turkish_f** | **turkish_q** | **uk** |
-| **us_international** | **workman** | **workman_zxcvm** |
+If you type in a language other than English, or use a non-QWERTY layout like Colemak, Dvorak, or Workman, you may have set your computer's input language to match this layout. This presents a challenge when creating macros — you may need to type different keys to get the same letters! To address this you can use [language-specific keycodes](reference_keymap_extras).
### Macro Basics
diff --git a/docs/features/backlight.md b/docs/features/backlight.md
index 94726756fdb9..20f84ac6b59e 100644
--- a/docs/features/backlight.md
+++ b/docs/features/backlight.md
@@ -161,15 +161,23 @@ Note that the choice of timer may conflict with the [Audio](audio) feature.
Depending on the ChibiOS board configuration, you may need to enable PWM at the keyboard level. For STM32, this would look like:
-`halconf.h`:
-```c
-#define HAL_USE_PWM TRUE
+::: code-group
+```c [halconf.h]
+#pragma once
+
+#define HAL_USE_PWM TRUE // [!code focus]
+
+#include_next
```
-`mcuconf.h`:
-```c
-#undef STM32_PWM_USE_TIM4
-#define STM32_PWM_USE_TIM4 TRUE
+```c [mcuconf.h]
+#pragma once
+
+#include_next
+
+#undef STM32_PWM_USE_TIM4 // [!code focus]
+#define STM32_PWM_USE_TIM4 TRUE // [!code focus]
```
+:::
The following `#define`s apply only to the `pwm` driver:
@@ -187,15 +195,23 @@ Refer to the ST datasheet for your particular MCU to determine these values. For
Depending on the ChibiOS board configuration, you may need to enable general-purpose timers at the keyboard level. For STM32, this would look like:
-`halconf.h`:
-```c
-#define HAL_USE_GPT TRUE
+::: code-group
+```c [halconf.h]
+#pragma once
+
+#define HAL_USE_GPT TRUE // [!code focus]
+
+#include_next
```
-`mcuconf.h`:
-```c
-#undef STM32_GPT_USE_TIM15
-#define STM32_GPT_USE_TIM15 TRUE
+```c [mcuconf.h]
+#pragma once
+
+#include_next
+
+#undef STM32_GPT_USE_TIM15 // [!code focus]
+#define STM32_GPT_USE_TIM15 TRUE // [!code focus]
```
+:::
The following `#define`s apply only to the `timer` driver:
diff --git a/docs/features/bluetooth.md b/docs/features/bluetooth.md
deleted file mode 100644
index 1dbf15f4e104..000000000000
--- a/docs/features/bluetooth.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# Bluetooth
-
-## Bluetooth Known Supported Hardware
-
-Currently Bluetooth support is limited to AVR based chips. For Bluetooth 2.1, QMK has support for RN-42 modules. For more recent BLE protocols, currently only the Adafruit Bluefruit SPI Friend is directly supported. BLE is needed to connect to iOS devices. Note iOS does not support mouse input.
-
-|Board |Bluetooth Protocol |Connection Type|rules.mk |Bluetooth Chip|
-|----------------------------------------------------------------|--------------------|---------------|---------------------------------|--------------|
-|Roving Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic |UART |`BLUETOOTH_DRIVER = rn42` |RN-42 |
-|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy|SPI |`BLUETOOTH_DRIVER = bluefruit_le`|nRF51822 |
-
-Not Supported Yet but possible:
-* [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479). [Possible tmk implementation found in](https://github.com/tmk/tmk_keyboard/issues/514)
-* HC-05 boards flashed with RN-42 firmware. They apparently both use the CSR BC417 Chip. Flashing it with RN-42 firmware gives it HID capability.
-* Sparkfun Bluetooth Mate
-* HM-13 based boards
-
-### Adafruit BLE SPI Friend
-Currently The only bluetooth chipset supported by QMK is the Adafruit Bluefruit SPI Friend. It's a Nordic nRF51822 based chip running Adafruit's custom firmware. Data is transmitted via Adafruit's SDEP over Hardware SPI. The [Feather 32u4 Bluefruit LE](https://www.adafruit.com/product/2829) is supported as it's an AVR mcu connected via SPI to the Nordic BLE chip with Adafruit firmware. If Building a custom board with the SPI friend it would be easiest to just use the pin selection that the 32u4 feather uses but you can change the pins in the config.h options with the following defines:
-* `#define BLUEFRUIT_LE_RST_PIN D4`
-* `#define BLUEFRUIT_LE_CS_PIN B4`
-* `#define BLUEFRUIT_LE_IRQ_PIN E6`
-
-A Bluefruit UART friend can be converted to an SPI friend, however this [requires](https://github.com/qmk/qmk_firmware/issues/2274) some reflashing and soldering directly to the MDBT40 chip.
-
-
-## Bluetooth Rules.mk Options
-
-The currently supported Bluetooth chipsets do not support [N-Key Rollover (NKRO)](../reference_glossary#n-key-rollover-nkro), so `rules.mk` must contain `NKRO_ENABLE = no`.
-
-Add the following to your `rules.mk`:
-
-```make
-BLUETOOTH_ENABLE = yes
-BLUETOOTH_DRIVER = bluefruit_le # or rn42
-```
-
-## Bluetooth Keycodes
-
-This is used when multiple keyboard outputs can be selected. Currently this only allows for switching between USB and Bluetooth on keyboards that support both.
-
-|Key |Aliases |Description |
-|---------------------|---------|----------------------------------------------|
-|`QK_OUTPUT_AUTO` |`OU_AUTO`|Automatically switch between USB and Bluetooth|
-|`QK_OUTPUT_USB` |`OU_USB` |USB only |
-|`QK_OUTPUT_BLUETOOTH`|`OU_BT` |Bluetooth only |
diff --git a/docs/features/combo.md b/docs/features/combo.md
index bdb8c4b15fcb..afe202ad54ac 100644
--- a/docs/features/combo.md
+++ b/docs/features/combo.md
@@ -152,14 +152,15 @@ In order to use these features, the following configuration options and function
| Config Flag | Function | Description |
|-----------------------------|-----------------------------------------------------------|--------------------------------------------------------------------------------------------------------|
-| `COMBO_TERM_PER_COMBO` | uint16_t get_combo_term(uint16_t index, combo_t \*combo) | Optional per-combo timeout window. (default: `COMBO_TERM`) |
-| `COMBO_MUST_HOLD_PER_COMBO` | bool get_combo_must_hold(uint16_t index, combo_t \*combo) | Controls if a given combo should fire immediately on tap or if it needs to be held. (default: `false`) |
-| `COMBO_MUST_TAP_PER_COMBO` | bool get_combo_must_tap(uint16_t index, combo_t \*combo) | Controls if a given combo should fire only if tapped within `COMBO_HOLD_TERM`. (default: `false`) |
-| `COMBO_MUST_PRESS_IN_ORDER_PER_COMBO` | bool get_combo_must_press_in_order(uint16_t index, combo_t \*combo) | Controls if a given combo should fire only if its keys are pressed in order. (default: `true`) |
+| `COMBO_TERM_PER_COMBO` | `uint16_t get_combo_term(uint16_t combo_index, combo_t *combo)` | Optional per-combo timeout window. (default: `COMBO_TERM`) |
+| `COMBO_MUST_HOLD_PER_COMBO` | `bool get_combo_must_hold(uint16_t combo_index, combo_t *combo)` | Controls if a given combo should fire immediately on tap or if it needs to be held. (default: `false`) |
+| `COMBO_MUST_TAP_PER_COMBO` | `bool get_combo_must_tap(uint16_t combo_index, combo_t *combo)` | Controls if a given combo should fire only if tapped within `COMBO_HOLD_TERM`. (default: `false`) |
+| `COMBO_MUST_PRESS_IN_ORDER_PER_COMBO` | `bool get_combo_must_press_in_order(uint16_t combo_index, combo_t *combo)` | Controls if a given combo should fire only if its keys are pressed in order. (default: `true`) |
Examples:
```c
-uint16_t get_combo_term(uint16_t index, combo_t *combo) {
+#ifdef COMBO_TERM_PER_COMBO
+uint16_t get_combo_term(uint16_t combo_index, combo_t *combo) {
// decide by combo->keycode
switch (combo->keycode) {
case KC_X:
@@ -167,7 +168,7 @@ uint16_t get_combo_term(uint16_t index, combo_t *combo) {
}
// or with combo index, i.e. its name from enum.
- switch (index) {
+ switch (combo_index) {
case COMBO_NAME_HERE:
return 9001;
}
@@ -182,8 +183,10 @@ uint16_t get_combo_term(uint16_t index, combo_t *combo) {
return COMBO_TERM;
}
+#endif
-bool get_combo_must_hold(uint16_t index, combo_t *combo) {
+#ifdef COMBO_MUST_HOLD_PER_COMBO
+bool get_combo_must_hold(uint16_t combo_index, combo_t *combo) {
// Same as above, decide by keycode, the combo index, or by the keys in the chord.
if (KEYCODE_IS_MOD(combo->keycode) ||
@@ -192,15 +195,17 @@ bool get_combo_must_hold(uint16_t index, combo_t *combo) {
return true;
}
- switch (index) {
+ switch (combo_index) {
case COMBO_NAME_HERE:
return true;
}
return false;
}
+#endif
-bool get_combo_must_tap(uint16_t index, combo_t *combo) {
+#ifdef COMBO_MUST_TAP_PER_COMBO
+bool get_combo_must_tap(uint16_t combo_index, combo_t *combo) {
// If you want all combos to be tap-only, just uncomment the next line
// return true
@@ -219,7 +224,9 @@ bool get_combo_must_tap(uint16_t index, combo_t *combo) {
return false;
}
+#endif
+#ifdef COMBO_MUST_PRESS_IN_ORDER_PER_COMBO
bool get_combo_must_press_in_order(uint16_t combo_index, combo_t *combo) {
switch (combo_index) {
/* List combos here that you want to only activate if their keys
@@ -231,6 +238,7 @@ bool get_combo_must_press_in_order(uint16_t combo_index, combo_t *combo) {
return false;
}
}
+#endif
```
### Generic hook to (dis)allow a combo activation
@@ -307,6 +315,50 @@ bool process_combo_key_release(uint16_t combo_index, combo_t *combo, uint8_t key
return false;
}
```
+
+### Customizable key repress
+By defining `COMBO_PROCESS_KEY_REPRESS` and implementing `bool process_combo_key_repress(uint16_t combo_index, combo_t *combo, uint8_t key_index, uint16_t keycode)` you can run your custom code when you repress just released key of a combo. By combining it with custom `process_combo_event` we can for example make special handling for Alt+Tab to switch windows, which, on combo F+G activation, registers Alt and presses Tab - then we can switch windows forward by releasing G and pressing it again, or backwards with F key. Here's the full example:
+
+```c
+enum combos {
+ CMB_ALTTAB
+};
+
+const uint16_t PROGMEM combo_alttab[] = {KC_F, KC_G, COMBO_END};
+
+combo_t key_combos[COMBO_LENGTH] = {
+ [CMB_ALTTAB] = COMBO(combo_alttab, KC_NO), // KC_NO to leave processing for process_combo_event
+};
+
+void process_combo_event(uint16_t combo_index, bool pressed) {
+ switch (combo_index) {
+ case CMB_ALTTAB:
+ if (pressed) {
+ register_mods(MOD_LALT);
+ tap_code(KC_TAB);
+ } else {
+ unregister_mods(MOD_LALT);
+ }
+ break;
+ }
+}
+
+bool process_combo_key_repress(uint16_t combo_index, combo_t *combo, uint8_t key_index, uint16_t keycode) {
+ switch (combo_index) {
+ case CMB_ALTTAB:
+ switch (keycode) {
+ case KC_F:
+ tap_code16(S(KC_TAB));
+ return true;
+ case KC_G:
+ tap_code(KC_TAB);
+ return true;
+ }
+ }
+ return false;
+}
+```
+
### Layer independent combos
If you, for example, use multiple base layers for different key layouts, one for QWERTY, and another one for Colemak, you might want your combos to work from the same key positions on all layers. Defining the same combos again for another layout is redundant and takes more memory. The solution is to just check the keycodes from one layer.
diff --git a/docs/features/command.md b/docs/features/command.md
index 7ad45103c786..a6f96dcd835e 100644
--- a/docs/features/command.md
+++ b/docs/features/command.md
@@ -1,6 +1,6 @@
# Command
-Command, formerly known as Magic, is a way to change your keyboard's behavior without having to flash or unplug it to use [Bootmagic Lite](bootmagic). There is a lot of overlap between this functionality and the [Magic Keycodes](../keycodes_magic). Wherever possible we encourage you to use that feature instead of Command.
+Command, formerly known as Magic, is a way to change your keyboard's behavior without having to flash or unplug it to use [Bootmagic](bootmagic). There is a lot of overlap between this functionality and the [Magic Keycodes](../keycodes_magic). Wherever possible we encourage you to use that feature instead of Command.
On some keyboards Command is disabled by default. If this is the case, it must be explicitly enabled in your `rules.mk`:
diff --git a/docs/features/encoders.md b/docs/features/encoders.md
index 9157fe67c8bc..a674eaa4a642 100644
--- a/docs/features/encoders.md
+++ b/docs/features/encoders.md
@@ -9,15 +9,15 @@ ENCODER_ENABLE = yes
and this to your `config.h`:
```c
-#define ENCODERS_PAD_A { B12 }
-#define ENCODERS_PAD_B { B13 }
+#define ENCODER_A_PINS { B12 }
+#define ENCODER_B_PINS { B13 }
```
Each PAD_A/B variable defines an array so multiple encoders can be defined, e.g.:
```c
-#define ENCODERS_PAD_A { encoder1a, encoder2a }
-#define ENCODERS_PAD_B { encoder1b, encoder2b }
+#define ENCODER_A_PINS { encoder1a, encoder2a }
+#define ENCODER_B_PINS { encoder1b, encoder2b }
```
If your encoder's clockwise directions are incorrect, you can swap the A & B pad definitions. They can also be flipped with a define:
@@ -49,8 +49,8 @@ For 4× encoders you also can assign default position if encoder skips pulses wh
If you are using different pinouts for the encoders on each half of a split keyboard, you can define the pinout (and optionally, resolutions) for the right half like this:
```c
-#define ENCODERS_PAD_A_RIGHT { encoder1a, encoder2a }
-#define ENCODERS_PAD_B_RIGHT { encoder1b, encoder2b }
+#define ENCODER_A_PINS_RIGHT { encoder1a, encoder2a }
+#define ENCODER_B_PINS_RIGHT { encoder1b, encoder2b }
#define ENCODER_RESOLUTIONS_RIGHT { 2, 4 }
```
@@ -59,11 +59,11 @@ If the `_RIGHT` definitions aren't specified in your `config.h`, then the non-`_
Additionally, if one side does not have an encoder, you can specify `{}` for the pins/resolution -- for example, a split keyboard with only a right-side encoder:
```c
-#define ENCODERS_PAD_A { }
-#define ENCODERS_PAD_B { }
+#define ENCODER_A_PINS { }
+#define ENCODER_B_PINS { }
#define ENCODER_RESOLUTIONS { }
-#define ENCODERS_PAD_A_RIGHT { B12 }
-#define ENCODERS_PAD_B_RIGHT { B13 }
+#define ENCODER_A_PINS_RIGHT { B12 }
+#define ENCODER_B_PINS_RIGHT { B13 }
#define ENCODER_RESOLUTIONS_RIGHT { 4 }
```
@@ -84,10 +84,10 @@ Your `keymap.c` will then need an encoder mapping defined (for four layers and t
```c
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(UG_HUED, UG_HUEU), ENCODER_CCW_CW(UG_SATD, UG_SATU) },
- [2] = { ENCODER_CCW_CW(UG_VALD, UG_VALU), ENCODER_CCW_CW(UG_SPDD, UG_SPDU) },
- [3] = { ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
+ [0] = { ENCODER_CCW_CW(MS_WHLU, MS_WHLD), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(UG_HUED, UG_HUEU), ENCODER_CCW_CW(UG_SATD, UG_SATU) },
+ [2] = { ENCODER_CCW_CW(UG_VALD, UG_VALU), ENCODER_CCW_CW(UG_SPDD, UG_SPDU) },
+ [3] = { ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
};
#endif
```
@@ -174,13 +174,13 @@ Multiple encoders may share pins so long as each encoder has a distinct pair of
For example you can support two encoders using only 3 pins like this
```
-#define ENCODERS_PAD_A { B1, B1 }
-#define ENCODERS_PAD_B { B2, B3 }
+#define ENCODER_A_PINS { B1, B1 }
+#define ENCODER_B_PINS { B2, B3 }
```
You could even support three encoders using only three pins (one per encoder) however in this configuration, rotating two encoders which share pins simultaneously will often generate incorrect output. For example:
```
-#define ENCODERS_PAD_A { B1, B1, B2 }
-#define ENCODERS_PAD_B { B2, B3, B3 }
+#define ENCODER_A_PINS { B1, B1, B2 }
+#define ENCODER_B_PINS { B2, B3, B3 }
```
Here rotating Encoder 0 `B1 B2` and Encoder 1 `B1 B3` could be interpreted as rotating Encoder 2 `B2 B3` or `B3 B2` depending on the timing. This may still be a useful configuration depending on your use case
diff --git a/docs/features/joystick.md b/docs/features/joystick.md
index f3fd209d5a9a..cbf6c6daf7e9 100644
--- a/docs/features/joystick.md
+++ b/docs/features/joystick.md
@@ -1,6 +1,6 @@
# Joystick {#joystick}
-This feature provides game controller input as a joystick device supporting up to 6 axes and 32 buttons. Axes can be read either from an [ADC-capable input pin](../drivers/adc), or can be virtual, so that its value is provided by your code.
+This feature provides game controller input as a joystick device supporting up to 6 axes, 32 buttons and a hat switch. Axes can be read either from an [ADC-capable input pin](../drivers/adc), or can be virtual, so that its value is provided by your code.
An analog device such as a [potentiometer](https://en.wikipedia.org/wiki/Potentiometer) found on an analog joystick's axes is based on a voltage divider, where adjusting the movable wiper controls the output voltage which can then be read by the microcontroller's ADC.
@@ -18,6 +18,8 @@ By default the joystick driver is `analog`, but you can change this with:
JOYSTICK_DRIVER = digital
```
+When using `analog` with ARM, [you must use 3.3v with your Joystick](../drivers/adc). Although ARM boards such as the [Helios](https://keeb.supply/products/0xcb-helios) have 5v pin output, the ADC driver does not support it.
+
## Configuration {#configuration}
By default, two axes and eight buttons are defined, with a reported resolution of 8 bits (-127 to +127). This can be changed in your `config.h`:
@@ -35,6 +37,42 @@ By default, two axes and eight buttons are defined, with a reported resolution o
You must define at least one button or axis. Also note that the maximum ADC resolution of the supported AVR MCUs is 10-bit, and 12-bit for most STM32 MCUs.
:::
+### Hat Switch {#hat-switch}
+
+To enable the 8-way hat switch, add the following to your `config.h`:
+
+```c
+#define JOYSTICK_HAS_HAT
+````
+
+The position can be set by calling `joystick_set_hat(value)`. The range of values moves clockwise from the top (ie. north), with the default "center" position represented by a value of `-1`:
+
+```
+ 0
+ 7 N 1
+ NW .--'--. NE
+ / \
+6 W | -1 | E 2
+ \ /
+ SW '--.--' SE
+ 5 S 3
+ 4
+```
+
+Alternatively you can use these predefined names:
+
+|Define |Value|Angle|
+|------------------------|-----|-----|
+|`JOYSTICK_HAT_CENTER` |`-1` | |
+|`JOYSTICK_HAT_NORTH` |`0` |0° |
+|`JOYSTICK_HAT_NORTHEAST`|`1` |45° |
+|`JOYSTICK_HAT_EAST` |`2` |90° |
+|`JOYSTICK_HAT_SOUTHEAST`|`3` |135° |
+|`JOYSTICK_HAT_SOUTH` |`4` |180° |
+|`JOYSTICK_HAT_SOUTHWEST`|`5` |225° |
+|`JOYSTICK_HAT_WEST` |`6` |270° |
+|`JOYSTICK_HAT_NORTHWEST`|`7` |315° |
+
### Axes {#axes}
When defining axes for your joystick, you must provide a definition array typically in your `keymap.c`.
@@ -147,6 +185,8 @@ Contains the state of the joystick.
A bit-packed array containing the joystick button states. The size is calculated as `(JOYSTICK_BUTTON_COUNT - 1) / 8 + 1`.
- `int16_t axes[]`
An array of analog values for each defined axis.
+ - `int8_t hat`
+ The hat switch position.
- `bool dirty`
Whether the current state needs to be sent to the host.
@@ -220,3 +260,14 @@ Set the value of the given axis.
The axis to set the value of.
- `int16_t value`
The value to set.
+
+---
+
+### `void joystick_set_hat(int8_t value)` {#api-joystick-set-hat}
+
+Set the position of the hat switch.
+
+#### Arguments {#api-joystick-set-hat-arguments}
+
+ - `int8_t value`
+ The hat switch position to set.
diff --git a/docs/features/key_overrides.md b/docs/features/key_overrides.md
index 4c568f167919..9b6015175cb3 100644
--- a/docs/features/key_overrides.md
+++ b/docs/features/key_overrides.md
@@ -14,7 +14,7 @@ You can use key overrides in a similar way to momentary layer/fn keys to activat
To enable this feature, you need to add `KEY_OVERRIDE_ENABLE = yes` to your `rules.mk`.
-Then, in your `keymap.c` file, you'll need to define the array `key_overrides`, which defines all key overrides to be used. Each override is a value of type `key_override_t`. The array `key_overrides` is `NULL`-terminated and contains pointers to `key_override_t` values (`const key_override_t **`).
+Then, in your `keymap.c` file, you'll need to define the array `key_overrides`, which defines all key overrides to be used. Each override is a value of type `key_override_t`. The array `key_overrides`contains pointers to `key_override_t` values (`const key_override_t **`).
## Creating Key Overrides {#creating-key-overrides}
@@ -42,9 +42,8 @@ This shows how the mentioned example of sending `delete` when `shift` + `backspa
const key_override_t delete_key_override = ko_make_basic(MOD_MASK_SHIFT, KC_BSPC, KC_DEL);
// This globally defines all key overrides to be used
-const key_override_t **key_overrides = (const key_override_t *[]){
- &delete_key_override,
- NULL // Null terminate the array of overrides!
+const key_override_t *key_overrides[] = {
+ &delete_key_override
};
```
@@ -91,14 +90,13 @@ const key_override_t brightness_up_override = ko_make_with_layers_negmods_and_op
const key_override_t brightness_down_override = ko_make_basic(MOD_MASK_CSA, KC_MPLY, KC_BRID);
// This globally defines all key overrides to be used
-const key_override_t **key_overrides = (const key_override_t *[]){
+const key_override_t *key_overrides[] = {
&next_track_override,
&prev_track_override,
&vol_up_override,
&vol_down_override,
&brightness_up_override,
- &brightness_down_override,
- NULL
+ &brightness_down_override
};
```
@@ -112,10 +110,9 @@ const key_override_t tilde_esc_override = ko_make_basic(MOD_MASK_SHIFT, KC_ESC,
// GUI + esc = `
const key_override_t grave_esc_override = ko_make_basic(MOD_MASK_GUI, KC_ESC, KC_GRV);
-const key_override_t **key_overrides = (const key_override_t *[]){
+const key_override_t *key_overrides[] = {
&tilde_esc_override,
- &grave_esc_override,
- NULL
+ &grave_esc_override
};
```
diff --git a/docs/features/layer_lock.md b/docs/features/layer_lock.md
new file mode 100644
index 000000000000..aaf323acccde
--- /dev/null
+++ b/docs/features/layer_lock.md
@@ -0,0 +1,139 @@
+# Layer Lock
+
+Some [layer switches](../feature_layers#switching-and-toggling-layers) access
+the layer by holding the key, including momentary layer `MO(layer)` and layer
+tap `LT(layer, key)` keys. You may sometimes need to stay on the layer for a
+long period of time. Layer Lock "locks" the current layer to stay on, supposing
+it was accessed by one of:
+
+ * `MO(layer)` momentary layer switch
+ * `LT(layer, key)` layer tap
+ * `OSL(layer)` one-shot layer
+ * `TT(layer)` layer tap toggle
+ * `LM(layer, mod)` layer-mod key (the layer is locked, but not the mods)
+
+Press the Layer Lock key again to unlock the layer. Additionally, when a layer
+is locked, layer switch keys that turn off the layer such as `TO(other_layer)`
+will unlock it.
+
+
+## How do I enable Layer Lock
+
+In your rules.mk, add:
+
+```make
+LAYER_LOCK_ENABLE = yes
+```
+
+Pick a key in your keymap on a layer you intend to lock, and assign it the
+keycode `QK_LAYER_LOCK` (short alias `QK_LLCK`). Note that locking the base
+layer has no effect, so typically, this key is used on layers above the base
+layer.
+
+
+## Example use
+
+Consider a keymap with the following base layer.
+
+![Base layer with a MO(NAV) key.](https://i.imgur.com/DkEhj9x.png)
+
+The highlighted key is a momentary layer switch `MO(NAV)`. Holding it accesses a
+navigation layer.
+
+![Nav layer with a Layer Lock key.](https://i.imgur.com/2wUZNWk.png)
+
+
+Holding the NAV key is fine for brief use, but awkward to continue holding when
+using navigation functions continuously. The Layer Lock key comes to the rescue:
+
+1. Hold the NAV key, activating the navigation layer.
+2. Tap Layer Lock.
+3. Release NAV. The navigation layer stays on.
+4. Make use of the arrow keys, etc.
+5. Tap Layer Lock or NAV again to turn the navigation layer back off.
+
+A variation that would also work is to put the Layer Lock key on the base layer
+and make other layers transparent (`KC_TRNS`) in that position. Pressing the
+Layer Lock key locks (or unlocks) the highest active layer, regardless of which
+layer the Layer Lock key is on.
+
+
+## Idle timeout
+
+Optionally, Layer Lock may be configured to unlock if the keyboard is idle
+for some time. In config.h, define `LAYER_LOCK_IDLE_TIMEOUT` in units of
+milliseconds:
+
+```c
+#define LAYER_LOCK_IDLE_TIMEOUT 60000 // Turn off after 60 seconds.
+```
+
+
+## Functions
+
+Use the following functions to query and manipulate the layer lock state.
+
+| Function | Description |
+|----------------------------|------------------------------------|
+| `is_layer_locked(layer)` | Checks whether `layer` is locked. |
+| `layer_lock_on(layer)` | Locks and turns on `layer`. |
+| `layer_lock_off(layer)` | Unlocks and turns off `layer`. |
+| `layer_lock_invert(layer)` | Toggles whether `layer` is locked. |
+
+
+## Representing the current Layer Lock state
+
+There is an optional callback `layer_lock_set_user()` that gets called when a
+layer is locked or unlocked. This is useful to represent the current lock state
+for instance by setting an LED. In keymap.c, define
+
+```c
+bool layer_lock_set_user(layer_state_t locked_layers) {
+ // Do something like `set_led(is_layer_locked(NAV));`
+ return true;
+}
+```
+
+The argument `locked_layers` is a bitfield in which the kth bit is on if the kth
+layer is locked. Alternatively, you can use `is_layer_locked(layer)` to check if
+a given layer is locked.
+
+
+## Combine Layer Lock with a mod-tap
+
+It is possible to create a [mod-tap MT key](../mod_tap) that acts as a modifier
+on hold and Layer Lock on tap. Since Layer Lock is not a [basic
+keycode](../keycodes_basic), attempting `MT(mod, QK_LLCK)` is invalid does not
+work directly, yet this effect can be achieved through [changing the tap
+function](../mod_tap#changing-tap-function). For example, the following
+implements a `SFTLLCK` key that acts as Shift on hold and Layer Lock on tap:
+
+```c
+#define SFTLLCK LSFT_T(KC_0)
+
+// Use SFTLLCK in your keymap...
+
+bool process_record_user(uint16_t keycode, keyrecord_t *record) {
+ switch (keycode) {
+ case SFTLLCK:
+ if (record->tap.count) {
+ if (record->event.pressed) {
+ // Toggle the lock on the highest layer.
+ layer_lock_invert(get_highest_layer(layer_state));
+ }
+ return false;
+ }
+ break;
+
+ // Other macros...
+ }
+ return true;
+}
+```
+
+In the above, `KC_0` is an arbitrary placeholder for the tapping keycode. This
+keycode will never be sent, so any basic keycode will do. In
+`process_record_user()`, the tap press event is changed to toggle the lock on
+the highest layer. Layer Lock can be combined with a [layer-tap LT
+key](../feature_layers#switching-and-toggling-layers) similarly.
+
diff --git a/docs/features/led_indicators.md b/docs/features/led_indicators.md
index 8435c69a5526..211fda258155 100644
--- a/docs/features/led_indicators.md
+++ b/docs/features/led_indicators.md
@@ -21,9 +21,8 @@ There are three ways to get the lock LED state:
The `host_keyboard_led_state()` may reflect an updated state before `led_update_user()` is called.
:::
-Two deprecated functions that provide the LED state as `uint8_t`:
+Deprecated functions that provide the LED state as `uint8_t`:
-* `uint8_t led_set_user(uint8_t usb_led)`
* `uint8_t host_keyboard_leds()`
## Configuration Options
@@ -50,10 +49,6 @@ When the configuration options do not provide enough flexibility, the following
Both receives LED state as a struct parameter. Returning `true` in `led_update_user()` will allow the keyboard level code in `led_update_kb()` to run as well. Returning `false` will override the keyboard level code, depending on how the keyboard level function is set up.
-::: tip
-This boolean return type of `led_update_user` allows for overriding keyboard LED controls, and is thus recommended over the void `led_set_user` function.
-:::
-
### Example of keyboard LED update implementation
This is a template indicator function that can be implemented on keyboard level code:
diff --git a/docs/features/led_matrix.md b/docs/features/led_matrix.md
index f6587f7b3eaa..756cc11e2bee 100644
--- a/docs/features/led_matrix.md
+++ b/docs/features/led_matrix.md
@@ -4,176 +4,32 @@ This feature allows you to use LED matrices driven by external drivers. It hooks
If you want to use RGB LED's you should use the [RGB Matrix Subsystem](rgb_matrix) instead.
-## Driver configuration {#driver-configuration}
----
-### IS31FL3731 {#is31fl3731}
-
-There is basic support for addressable LED matrix lighting with the I2C IS31FL3731 LED controller. To enable it, add this to your `rules.mk`:
+## Driver Configuration {#driver-configuration}
+
+LED Matrix is an abstraction layer on top of an underlying LED driver API. The list of supported LED drivers is below; see the respective documentation for information on how to configure the driver.
+
+|Driver |Max LEDs|
+|-------------------------------------|--------|
+|[IS31FL3218](../drivers/is31fl3218) |18 |
+|[IS31FL3236](../drivers/is31fl3236) |36 |
+|[IS31FL3729](../drivers/is31fl3729) |135 |
+|[IS31FL3731](../drivers/is31fl3731) |144 |
+|[IS31FL3733](../drivers/is31fl3733) |192 |
+|[IS31FL3736](../drivers/is31fl3736) |96 |
+|[IS31FL3737](../drivers/is31fl3737) |144 |
+|[IS31FL3741](../drivers/is31fl3741) |351 |
+|[IS31FL3742A](../drivers/is31fl3742a)|180 |
+|[IS31FL3743A](../drivers/is31fl3743a)|198 |
+|[IS31FL3745](../drivers/is31fl3745) |144 |
+|[IS31FL3746A](../drivers/is31fl3746a)|72 |
+|[SNLED27351](../drivers/snled27351) |192 |
+
+To assign the LED Matrix driver, add the following to your `rules.mk`, for example:
```make
-LED_MATRIX_ENABLE = yes
-LED_MATRIX_DRIVER = is31fl3731
-```
-
-You can use between 1 and 4 IS31FL3731 IC's. Do not specify `LED_DRIVER_ADDR_` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`:
-
-| Variable | Description | Default |
-|----------|-------------|---------|
-| `IS31FL3731_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
-| `IS31FL3731_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
-| `LED_MATRIX_LED_COUNT` | (Required) How many LED lights are present across all drivers | |
-| `IS31FL3731_I2C_ADDRESS_1` | (Required) Address for the first LED driver | |
-| `IS31FL3731_I2C_ADDRESS_2` | (Optional) Address for the second LED driver | |
-| `IS31FL3731_I2C_ADDRESS_3` | (Optional) Address for the third LED driver | |
-| `IS31FL3731_I2C_ADDRESS_4` | (Optional) Address for the fourth LED driver | |
-
-Here is an example using 2 drivers.
-
-```c
-// This is a 7-bit address, that gets left-shifted and bit 0
-// set to 0 for write, 1 for read (as per I2C protocol)
-// The address will vary depending on your wiring:
-// 00 AD <-> GND
-// 01 AD <-> SCL
-// 10 AD <-> SDA
-// 11 AD <-> VCC
-// ADDR represents A1:A0 of the 7-bit address.
-// The result is: 0b11101(ADDR)
-#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-
-#define LED_DRIVER_1_LED_TOTAL 25
-#define LED_DRIVER_2_LED_TOTAL 24
-#define LED_MATRIX_LED_COUNT (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)
-```
-
-::: warning
-Note the parentheses, this is so when `LED_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL)` will give very different results than `rand() % LED_DRIVER_1_LED_TOTAL + LED_DRIVER_2_LED_TOTAL`.
-:::
-
-For split keyboards using `LED_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `IS31FL3731_I2C_ADDRESS_1` for one and `IS31FL3731_I2C_ADDRESS_2` for the other one. Then, in `g_is31fl3731_leds`, fill out the correct driver index (0 or 1). If using one address, use `IS31FL3731_I2C_ADDRESS_1` for both, and use index 0 for `g_is31fl3731_leds`.
-
-Define these arrays listing all the LEDs in your `.c`:
-
-```c
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
-/* Refer to IS31 manual for these locations
- * driver
- * | LED address
- * | | */
- { 0, C1_1 },
- { 0, C1_15 },
- // ...
-}
-```
-
-Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/led/issi/is31fl3731-mono.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` ).
-
----
-### IS31FLCOMMON {#is31flcommon}
-
-There is basic support for addressable LED matrix lighting with a selection of I2C ISSI Lumissil LED controllers through a shared common driver. To enable it, add this to your `rules.mk`:
-
-```makefile
-LED_MATRIX_ENABLE = yes
-LED_MATRIX_DRIVER =
+LED_MATRIX_DRIVER = is31fl3218
```
-Where `` is the applicable LED driver chip as below
-
-| Driver Name | Data Sheet | Capability |
-|-------------|------------|------------|
-| `IS31FL3742A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3742A_DS.pdf) | 180 LED, 30x6 Matrix |
-| `IS31FL3743A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3743A_DS.pdf) | 198 LED, 18x11 Matrix |
-| `IS31FL3745` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3745_DS.pdf) | 144 LED, 18x8 Matrix |
-| `IS31FL3746A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3746A_DS.pdf) | 72 LED, 18x4 Matrix |
-
-You can use between 1 and 4 IC's. Do not specify `DRIVER_ADDR_` define for IC's if not present on your keyboard. The `DRIVER_ADDR_1` default assumes that all Address pins on the controller have been connected to GND. Drivers that have SYNC functionality have the default settings to disable if 1 driver. If more than 1 drivers then `DRIVER_ADDR_1` will be set to Master and the remaiing ones set to Slave.
-
-Configure the hardware via your `config.h`:
-
-| Variable | Description | Default |
-|----------|-------------|---------|
-| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
-| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
-| `LED_MATRIX_LED_COUNT` | (Required) How many LED lights are present across all drivers | |
-| `DRIVER_ADDR_1` | (Optional) Address for the first LED driver | |
-| `DRIVER_ADDR_` | (Required) Address for the additional LED drivers | |
-| `ISSI_SSR_` | (Optional) Configuration for the Spread Spectrum Register | |
-| `ISSI_CONFIGURATION` | (Optional) Configuration for the Configuration Register | |
-| `ISSI_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF |
-| `ISSI_PULLDOWNUP` | (Optional) Configuration for the Pull Up & Pull Down Register | |
-| `ISSI_TEMP` | (Optional) Configuration for the Tempature Register | |
-| `ISSI_PWM_ENABLE` | (Optional) Configuration for the PWM Enable Register | |
-| `ISSI_PWM_SET` | (Optional) Configuration for the PWM Setting Register | |
-| `ISSI_SCAL_LED ` | (Optional) Configuration for the LEDs Scaling Registers | 0xFF |
-| `ISSI_MANUAL_SCALING` | (Optional) If you wish to configure the Scaling Registers manually | |
-
-
-Defaults
-
-| Variable | IS31FL3742A | IS31FL3743A | IS31FL3745 | IS31FL3746 |
-|----------|-------------|-------------|------------|------------|
-| `DRIVER_ADDR_1` | 0b0110000 | 0b0100000 | 0b0100000 | 0b1100000 |
-| `ISSI_SSR_1` | 0x00 | 0x00 / 0x60 | 0x00 / 0xC0 | 0x00 |
-| `ISSI_SSR_<2-4>` | 0x00 | 0x40 | 0x80 | 0x00 |
-| `ISSI_CONFIGURATION` | 0x31 | 0x01 | 0x31 | 0x01 |
-| `ISSI_PULLDOWNUP` | 0x55 | 0x33 | 0x33 | 0x33 |
-| `ISSI_TEMP` | N/A | 0x00 | 0x00 | 0x00 |
-| `ISSI_PWM_ENABLE` | N/A | N/A | N/A | 0x00 |
-| `ISSI_PWM_SET` | 0x00 | N/A | N/A | 0x00 |
-
-Here is an example using 2 drivers.
-
-```c
-#define DRIVER_ADDR_2 0b0100001
-
-#define DRIVER_1_LED_TOTAL 66
-#define DRIVER_2_LED_TOTAL 42
-#define LED_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-```
-::: warning
-Note the parentheses, this is so when `LED_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
-:::
-
-Currently only 4 drivers are supported, but it would be trivial to support for more. Note that using a combination of different drivers is not supported. All drivers must be of the same model.
-
-Define these arrays listing all the LEDs in your `.c`:
-
-```c
-const is31_led PROGMEM g_is31_leds[LED_MATRIX_LED_COUNT] = {
-/* Refer to IS31 manual for these locations
- * driver
- * | LED address
- * | | */
- { 0, SW1_CS1 },
- { 0, SW1_CS2 },
- // ...
-}
-```
-
-Where `CSx_SWx` is the location of the LED in the matrix defined by the datasheet. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` for now).
-
-`ISSI_MANUAL_SCALING` is used to override the Scaling for individual LED's. By default they will be set as per `ISSI_SCAL_LED`. In `config.h` set how many LED's you want to manually set scaling for.
-Eg `#define ISSI_MANUAL_SCALING 3`
-
-Then Define the array listing all the LEDs you want to override in your `.c`:
-
-```c
-const is31_led PROGMEM g_is31_scaling[ISSI_MANUAL_SCALING] = {
-/* LED Index
- * | Scaling
- * | | */
- {5, 120},
- {9, 120},
- ....
-}
-```
-
-Where LED Index is the position of the LED in the `g_is31_leds` array. The `scaling` value between 0 and 255 to be written to the Scaling Register.
-
----
-
## Common Configuration {#common-configuration}
From this point forward the configuration is the same for all the drivers. The `led_config_t` struct provides a key electrical matrix to led index lookup table, what the physical position of each LED is on the board, and what type of key or usage the LED if the LED represents. Here is a brief example:
diff --git a/docs/features/mouse_keys.md b/docs/features/mouse_keys.md
index c2b3e98f4241..d755084f8e63 100644
--- a/docs/features/mouse_keys.md
+++ b/docs/features/mouse_keys.md
@@ -18,27 +18,27 @@ MOUSEKEY_ENABLE = yes
In your keymap you can use the following keycodes to map key presses to mouse actions:
-|Key |Aliases |Description |
-|----------------|---------|-----------------|
-|`KC_MS_UP` |`KC_MS_U`|Move cursor up |
-|`KC_MS_DOWN` |`KC_MS_D`|Move cursor down |
-|`KC_MS_LEFT` |`KC_MS_L`|Move cursor left |
-|`KC_MS_RIGHT` |`KC_MS_R`|Move cursor right|
-|`KC_MS_BTN1` |`KC_BTN1`|Press button 1 |
-|`KC_MS_BTN2` |`KC_BTN2`|Press button 2 |
-|`KC_MS_BTN3` |`KC_BTN3`|Press button 3 |
-|`KC_MS_BTN4` |`KC_BTN4`|Press button 4 |
-|`KC_MS_BTN5` |`KC_BTN5`|Press button 5 |
-|`KC_MS_BTN6` |`KC_BTN6`|Press button 6 |
-|`KC_MS_BTN7` |`KC_BTN7`|Press button 7 |
-|`KC_MS_BTN8` |`KC_BTN8`|Press button 8 |
-|`KC_MS_WH_UP` |`KC_WH_U`|Move wheel up |
-|`KC_MS_WH_DOWN` |`KC_WH_D`|Move wheel down |
-|`KC_MS_WH_LEFT` |`KC_WH_L`|Move wheel left |
-|`KC_MS_WH_RIGHT`|`KC_WH_R`|Move wheel right |
-|`KC_MS_ACCEL0` |`KC_ACL0`|Set speed to 0 |
-|`KC_MS_ACCEL1` |`KC_ACL1`|Set speed to 1 |
-|`KC_MS_ACCEL2` |`KC_ACL2`|Set speed to 2 |
+|Key |Aliases |Description |
+|-------------------------|---------|---------------------------|
+|`QK_MOUSE_CURSOR_UP` |`MS_UP` |Mouse cursor up |
+|`QK_MOUSE_CURSOR_DOWN` |`MS_DOWN`|Mouse cursor down |
+|`QK_MOUSE_CURSOR_LEFT` |`MS_LEFT`|Mouse cursor left |
+|`QK_MOUSE_CURSOR_RIGHT` |`MS_RGHT`|Mouse cursor right |
+|`QK_MOUSE_BUTTON_1` |`MS_BTN1`|Mouse button 1 |
+|`QK_MOUSE_BUTTON_2` |`MS_BTN2`|Mouse button 2 |
+|`QK_MOUSE_BUTTON_3` |`MS_BTN3`|Mouse button 3 |
+|`QK_MOUSE_BUTTON_4` |`MS_BTN4`|Mouse button 4 |
+|`QK_MOUSE_BUTTON_5` |`MS_BTN5`|Mouse button 5 |
+|`QK_MOUSE_BUTTON_6` |`MS_BTN6`|Mouse button 6 |
+|`QK_MOUSE_BUTTON_7` |`MS_BTN7`|Mouse button 7 |
+|`QK_MOUSE_BUTTON_8` |`MS_BTN8`|Mouse button 8 |
+|`QK_MOUSE_WHEEL_UP` |`MS_WHLU`|Mouse wheel up |
+|`QK_MOUSE_WHEEL_DOWN` |`MS_WHLD`|Mouse wheel down |
+|`QK_MOUSE_WHEEL_LEFT` |`MS_WHLL`|Mouse wheel left |
+|`QK_MOUSE_WHEEL_RIGHT` |`MS_WHLR`|Mouse wheel right |
+|`QK_MOUSE_ACCELERATION_0`|`MS_ACL0`|Set mouse acceleration to 0|
+|`QK_MOUSE_ACCELERATION_1`|`MS_ACL1`|Set mouse acceleration to 1|
+|`QK_MOUSE_ACCELERATION_2`|`MS_ACL2`|Set mouse acceleration to 2|
## Configuring mouse keys
@@ -106,17 +106,17 @@ Tips:
### Constant mode
-In this mode you can define multiple different speeds for both the cursor and the mouse wheel. There is no acceleration. `KC_ACL0`, `KC_ACL1` and `KC_ACL2` change the cursor and scroll speed to their respective setting.
+In this mode you can define multiple different speeds for both the cursor and the mouse wheel. There is no acceleration. `MS_ACL0`, `MS_ACL1` and `MS_ACL2` change the cursor and scroll speed to their respective setting.
You can choose whether speed selection is momentary or tap-to-select:
* **Momentary:** The chosen speed is only active while you hold the respective key. When the key is raised, mouse keys returns to the unmodified speed.
-* **Tap-to-select:** The chosen speed is activated when you press the respective key and remains active even after the key has been raised. The default speed is that of `KC_ACL1`. There is no unmodified speed.
+* **Tap-to-select:** The chosen speed is activated when you press the respective key and remains active even after the key has been raised. The default speed is that of `MS_ACL1`. There is no unmodified speed.
The default speeds from slowest to fastest are as follows:
-* **Momentary:** `KC_ACL0` < `KC_ACL1` < *unmodified* < `KC_ACL2`
-* **Tap-to-select:** `KC_ACL0` < `KC_ACL1` < `KC_ACL2`
+* **Momentary:** `MS_ACL0` < `MS_ACL1` < *unmodified* < `MS_ACL2`
+* **Tap-to-select:** `MS_ACL0` < `MS_ACL1` < `MS_ACL2`
To use constant speed mode, you must at least define `MK_3_SPEED` in your keymap’s `config.h` file:
@@ -138,32 +138,32 @@ Use the following settings if you want to adjust cursor movement or scrolling:
|`MK_MOMENTARY_ACCEL` |*Not defined*|Enable momentary speed selection |
|`MK_C_OFFSET_UNMOD` |16 |Cursor offset per movement (unmodified) |
|`MK_C_INTERVAL_UNMOD`|16 |Time between cursor movements (unmodified) |
-|`MK_C_OFFSET_0` |1 |Cursor offset per movement (`KC_ACL0`) |
-|`MK_C_INTERVAL_0` |32 |Time between cursor movements (`KC_ACL0`) |
-|`MK_C_OFFSET_1` |4 |Cursor offset per movement (`KC_ACL1`) |
-|`MK_C_INTERVAL_1` |16 |Time between cursor movements (`KC_ACL1`) |
-|`MK_C_OFFSET_2` |32 |Cursor offset per movement (`KC_ACL2`) |
-|`MK_C_INTERVAL_2` |16 |Time between cursor movements (`KC_ACL2`) |
+|`MK_C_OFFSET_0` |1 |Cursor offset per movement (`MS_ACL0`) |
+|`MK_C_INTERVAL_0` |32 |Time between cursor movements (`MS_ACL0`) |
+|`MK_C_OFFSET_1` |4 |Cursor offset per movement (`MS_ACL1`) |
+|`MK_C_INTERVAL_1` |16 |Time between cursor movements (`MS_ACL1`) |
+|`MK_C_OFFSET_2` |32 |Cursor offset per movement (`MS_ACL2`) |
+|`MK_C_INTERVAL_2` |16 |Time between cursor movements (`MS_ACL2`) |
|`MK_W_OFFSET_UNMOD` |1 |Scroll steps per scroll action (unmodified)|
|`MK_W_INTERVAL_UNMOD`|40 |Time between scroll steps (unmodified) |
-|`MK_W_OFFSET_0` |1 |Scroll steps per scroll action (`KC_ACL0`) |
-|`MK_W_INTERVAL_0` |360 |Time between scroll steps (`KC_ACL0`) |
-|`MK_W_OFFSET_1` |1 |Scroll steps per scroll action (`KC_ACL1`) |
-|`MK_W_INTERVAL_1` |120 |Time between scroll steps (`KC_ACL1`) |
-|`MK_W_OFFSET_2` |1 |Scroll steps per scroll action (`KC_ACL2`) |
-|`MK_W_INTERVAL_2` |20 |Time between scroll steps (`KC_ACL2`) |
+|`MK_W_OFFSET_0` |1 |Scroll steps per scroll action (`MS_ACL0`) |
+|`MK_W_INTERVAL_0` |360 |Time between scroll steps (`MS_ACL0`) |
+|`MK_W_OFFSET_1` |1 |Scroll steps per scroll action (`MS_ACL1`) |
+|`MK_W_INTERVAL_1` |120 |Time between scroll steps (`MS_ACL1`) |
+|`MK_W_OFFSET_2` |1 |Scroll steps per scroll action (`MS_ACL2`) |
+|`MK_W_INTERVAL_2` |20 |Time between scroll steps (`MS_ACL2`) |
### Combined mode
-This mode functions like **Accelerated** mode, however, you can hold `KC_ACL0`, `KC_ACL1` and `KC_ACL2`
+This mode functions like **Accelerated** mode, however, you can hold `MS_ACL0`, `MS_ACL1` and `MS_ACL2`
to momentarily (while held) set the cursor and scroll speeds to constant speeds. When no acceleration
keys are held, this mode is identical to **Accelerated** mode, and can be modified using all of the
relevant settings.
-* **KC_ACL0:** This acceleration sets your cursor to the slowest possible speed. This is useful for very
+* **MS_ACL0:** This acceleration sets your cursor to the slowest possible speed. This is useful for very
small and detailed movements of the cursor.
-* **KC_ACL1:** This acceleration sets your cursor to half the maximum (user defined) speed.
-* **KC_ACL2:** This acceleration sets your cursor to the maximum (computer defined) speed. This is
+* **MS_ACL1:** This acceleration sets your cursor to half the maximum (user defined) speed.
+* **MS_ACL2:** This acceleration sets your cursor to the maximum (computer defined) speed. This is
useful for moving the cursor large distances without much accuracy.
To use combined speed mode, you must at least define `MK_COMBINED` in your keymap’s `config.h` file:
@@ -203,6 +203,19 @@ Tips:
* Keep `MOUSEKEY_MOVE_DELTA` at 1. This allows precise movements before the gliding effect starts.
* Mouse wheel options are the same as the default accelerated mode, and do not use inertia.
+### Overlapping mouse key control
+
+When additional overlapping mouse key is pressed, the mouse cursor will continue in a new direction with the same acceleration. The following settings can be used to reset the acceleration with new overlapping keys for more precise control if desired:
+
+|Define |Default |Description |
+|------------------------------|----------------------|-----------------------------------------------------------------------|
+|`MOUSEKEY_OVERLAP_RESET` |undefined |Enables overlapping mouse key control |
+|`MOUSEKEY_OVERLAP_MOVE_DELTA` |`MOUSEKEY_MOVE_DELTA` |Step size of reset movement acceleration |
+|`MOUSEKEY_OVERLAP_WHEEL_DELTA`|`MOUSEKEY_WHEEL_DELTA`|Step size of reset mouse wheel acceleration |
+|`MOUSEKEY_OVERLAP_INTERVAL` |`MOUSEKEY_INTERVAL` |Reset time between cursor movements in milliseconds (Kinetic mode only)|
+
+?> This feature will not be applied on Inertial mode
+
## Use with PS/2 Mouse and Pointing Device
Mouse keys button state is shared with [PS/2 mouse](ps2_mouse) and [pointing device](pointing_device) so mouse keys button presses can be used for clicks and drags.
diff --git a/docs/features/os_detection.md b/docs/features/os_detection.md
index d0556d2549d1..880e88d4b934 100644
--- a/docs/features/os_detection.md
+++ b/docs/features/os_detection.md
@@ -70,17 +70,33 @@ The process is done in steps, generating a number of intermediate results until
We therefore resort to debouncing the result until it has been stable for a given amount of milliseconds.
This amount can be configured, in case your board is not stable within the default debouncing time of 200ms.
-## KVM and USB switches
-
-Some KVM and USB switches may not trigger the USB controller on the keyboard to fully reset upon switching machines.
-If your keyboard does not redetect the OS in this situation, you can force the keyboard to reset when the USB initialization event is detected, forcing the USB controller to be reconfigured.
-
## Configuration Options
-* `#define OS_DETECTION_DEBOUNCE 200`
+* `#define OS_DETECTION_DEBOUNCE 250`
* defined the debounce time for OS detection, in milliseconds
+ * defaults to 250ms
* `#define OS_DETECTION_KEYBOARD_RESET`
- * enables the keyboard reset upon a USB device reinitilization, such as switching devices on some KVMs
+ * enables the keyboard reset upon a USB device reinitilization
+ * this setting may help with detection issues when switching between devices on some KVMs (see [Troubleshooting](#troubleshooting))
+* `#define OS_DETECTION_SINGLE_REPORT`
+ * allows the report callbacks to be called only once, when the OS detection result is considered stable
+ * subsequent changes in the detection results, if any, are ignored
+ * this setting may help with delayed stability issues when switching devices on some KVMs (see [Troubleshooting](#troubleshooting))
+
+## Troubleshooting
+
+Some KVMs and USB switches may cause issues when the OS detection is turned on.
+Here is a list of common issues and how to fix them:
+
+* **Problem**: _keyboard won't redetect the OS when switching between machines using a KVM_
+ * **Explanation**: some KVMs keep the USB controller powered on during the switch and OS
+ detection happens when the USB device description is being assembled.
+ * **Solution**: use `OS_DETECTION_KEYBOARD_RESET` to force the keyboard to reset upon switching.
+* **Problem**: _keyboard OS detection callback gets invoked even minuted after startup_
+ * **Explanation**: some OSes, notably macOS on ARM-based Macs, may cause this behavior.
+ The actual cause is not known at this time.'
+ * **Solution**: use `OS_DETECTION_SINGLE_REPORT` to suppress repeated callback invocations.
+
## Debug
diff --git a/docs/features/pointing_device.md b/docs/features/pointing_device.md
index a6bf521a184c..0ecf82c8df67 100644
--- a/docs/features/pointing_device.md
+++ b/docs/features/pointing_device.md
@@ -394,6 +394,7 @@ Ideally, new sensor hardware should be added to `drivers/sensors/` and `quantum/
| Setting | Description | Default |
| ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------- |
| `MOUSE_EXTENDED_REPORT` | (Optional) Enables support for extended mouse reports. (-32767 to 32767, instead of just -127 to 127). | _not defined_ |
+| `WHEEL_EXTENDED_REPORT` | (Optional) Enables support for extended wheel reports. (-32767 to 32767, instead of just -127 to 127). | _not defined_ |
| `POINTING_DEVICE_ROTATION_90` | (Optional) Rotates the X and Y data by 90 degrees. | _not defined_ |
| `POINTING_DEVICE_ROTATION_180` | (Optional) Rotates the X and Y data by 180 degrees. | _not defined_ |
| `POINTING_DEVICE_ROTATION_270` | (Optional) Rotates the X and Y data by 270 degrees. | _not defined_ |
diff --git a/docs/features/ps2_mouse.md b/docs/features/ps2_mouse.md
index 90f4cca82757..52443c3ce29b 100644
--- a/docs/features/ps2_mouse.md
+++ b/docs/features/ps2_mouse.md
@@ -90,18 +90,22 @@ PS2_ENABLE = yes
PS2_DRIVER = interrupt
```
-In your keyboard config.h:
+In your keyboard `config.h`:
```c
#define PS2_CLOCK_PIN A8
#define PS2_DATA_PIN A9
```
-And in the chibios specifig halconf.h:
+And in the ChibiOS specific `halconf.h`:
+
```c
-#define PAL_USE_CALLBACKS TRUE
-```
+#pragma once
+#define PAL_USE_CALLBACKS TRUE // [!code focus]
+
+#include_next
+```
### USART Version {#usart-version}
diff --git a/docs/features/repeat_key.md b/docs/features/repeat_key.md
index 53495e0f4d6c..7f2bdc44e655 100644
--- a/docs/features/repeat_key.md
+++ b/docs/features/repeat_key.md
@@ -60,10 +60,10 @@ with mods, like Ctrl + Left ↔ Ctrl + Right Arrow.
|`KC_UP` ↔ `KC_DOWN` | Up ↔ Down Arrow |
|`KC_HOME` ↔ `KC_END` | Home ↔ End |
|`KC_PGUP` ↔ `KC_PGDN` | Page Up ↔ Page Down |
-|`KC_MS_L` ↔ `KC_MS_R` | Mouse Cursor Left ↔ Right |
-|`KC_MS_U` ↔ `KC_MS_D` | Mouse Cursor Up ↔ Down |
-|`KC_WH_L` ↔ `KC_WH_R` | Mouse Wheel Left ↔ Right |
-|`KC_WH_U` ↔ `KC_WH_D` | Mouse Wheel Up ↔ Down |
+|`MS_LEFT` ↔ `MS_RGHT` | Mouse Cursor Left ↔ Right |
+|`MS_UP` ↔ `MS_DOWN` | Mouse Cursor Up ↔ Down |
+|`MS_WHLL` ↔ `MS_WHLR` | Mouse Wheel Left ↔ Right |
+|`MS_WHLU` ↔ `MS_WHLD` | Mouse Wheel Up ↔ Down |
**Misc**
diff --git a/docs/features/rgb_matrix.md b/docs/features/rgb_matrix.md
index aef766ebd248..0e53ce9c35a9 100644
--- a/docs/features/rgb_matrix.md
+++ b/docs/features/rgb_matrix.md
@@ -4,543 +4,35 @@ This feature allows you to use RGB LED matrices driven by external drivers. It h
If you want to use single color LED's you should use the [LED Matrix Subsystem](led_matrix) instead.
-## Driver configuration {#driver-configuration}
----
-### IS31FL3731 {#is31fl3731}
-
-There is basic support for addressable RGB matrix lighting with the I2C IS31FL3731 RGB controller. To enable it, add this to your `rules.mk`:
-
-```make
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = is31fl3731
-```
-
-You can use between 1 and 4 IS31FL3731 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`:
-
-| Variable | Description | Default |
-|----------|-------------|---------|
-| `IS31FL3731_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
-| `IS31FL3731_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
-| `IS31FL3731_DEGHOST` | (Optional) Set this define to enable de-ghosting by halving Vcc during blanking time | |
-| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
-| `IS31FL3731_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | |
-| `IS31FL3731_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | |
-| `IS31FL3731_I2C_ADDRESS_3` | (Optional) Address for the third RGB driver | |
-| `IS31FL3731_I2C_ADDRESS_4` | (Optional) Address for the fourth RGB driver | |
-
-Here is an example using 2 drivers.
-
-```c
-// This is a 7-bit address, that gets left-shifted and bit 0
-// set to 0 for write, 1 for read (as per I2C protocol)
-// The address will vary depending on your wiring:
-// 00 AD <-> GND
-// 01 AD <-> SCL
-// 10 AD <-> SDA
-// 11 AD <-> VCC
-// ADDR represents A1:A0 of the 7-bit address.
-// The result is: 0b11101(ADDR)
-#define IS31FL3731_I2C_ADDRESS_1 IS31FL3731_I2C_ADDRESS_GND
-#define IS31FL3731_I2C_ADDRESS_2 IS31FL3731_I2C_ADDRESS_SDA
-
-#define DRIVER_1_LED_TOTAL 25
-#define DRIVER_2_LED_TOTAL 24
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-```
-
-::: warning
-Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
-:::
-
-For split keyboards using `RGB_MATRIX_SPLIT` with an LED driver, you can either have the same driver address or different driver addresses. If using different addresses, use `IS31FL3731_I2C_ADDRESS_1` for one and `IS31FL3731_I2C_ADDRESS_2` for the other one. Then, in `g_is31fl3731_leds`, fill out the correct driver index (0 or 1). If using one address, use `IS31FL3731_I2C_ADDRESS_1` for both, and use index 0 for `g_is31fl3731_leds`.
-
-Define these arrays listing all the LEDs in your `.c`:
-
-```c
-const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
-/* Refer to IS31 manual for these locations
- * driver
- * | R location
- * | | G location
- * | | | B location
- * | | | | */
- {0, C1_3, C2_3, C3_3},
- ....
-}
-```
-
-Where `Cx_y` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3731.pdf) and the header file `drivers/led/issi/is31fl3731.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3`).
-
----
-### IS31FL3733 {#is31fl3733}
-
-There is basic support for addressable RGB matrix lighting with the I2C IS31FL3733 RGB controller. To enable it, add this to your `rules.mk`:
-
-```make
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = is31fl3733
-```
-
-You can use between 1 and 4 IS31FL3733 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`:
-
-| Variable | Description | Default |
-|----------|-------------|---------|
-| `IS31FL3733_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
-| `IS31FL3733_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
-| `IS31FL3733_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3733B only | 0 |
-| `IS31FL3733_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF |
-| `IS31FL3733_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
-| `IS31FL3733_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
-| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
-| `IS31FL3733_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | |
-| `IS31FL3733_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | |
-| `IS31FL3733_I2C_ADDRESS_3` | (Optional) Address for the third RGB driver | |
-| `IS31FL3733_I2C_ADDRESS_4` | (Optional) Address for the fourth RGB driver | |
-| `IS31FL3733_SYNC_1` | (Optional) Sync configuration for the first RGB driver | 0 |
-| `IS31FL3733_SYNC_2` | (Optional) Sync configuration for the second RGB driver | 0 |
-| `IS31FL3733_SYNC_3` | (Optional) Sync configuration for the third RGB driver | 0 |
-| `IS31FL3733_SYNC_4` | (Optional) Sync configuration for the fourth RGB driver | 0 |
-
-The IS31FL3733 IC's have on-chip resistors that can be enabled to allow for de-ghosting of the RGB matrix. By default these resistors are not enabled (`IS31FL3733_SWPULLUP`/`IS31FL3733_CSPULLUP` are given the value of `IS31FL3733_PUR_0R`), the values that can be set to enable de-ghosting are as follows:
-
-| `IS31FL3733_SWPULLUP/IS31FL3733_CSPULLUP` | Description |
-|----------------------|-------------|
-| `IS31FL3733_PUR_0R` | (default) Do not use the on-chip resistors/enable de-ghosting |
-| `IS31FL3733_PUR_05KR` | The 0.5k Ohm resistor used during blanking period (t_NOL) |
-| `IS31FL3733_PUR_3KR` | The 3k Ohm resistor used at all times |
-| `IS31FL3733_PUR_4KR` | The 4k Ohm resistor used at all times |
-| `IS31FL3733_PUR_8KR` | The 8k Ohm resistor used at all times |
-| `IS31FL3733_PUR_16KR` | The 16k Ohm resistor used at all times |
-| `IS31FL3733_PUR_32KR` | The 32k Ohm resistor used during blanking period (t_NOL) |
-
-Here is an example using 2 drivers.
-
-```c
-// This is a 7-bit address, that gets left-shifted and bit 0
-// set to 0 for write, 1 for read (as per I2C protocol)
-// The address will vary depending on your wiring:
-// 00 ADDRn <-> GND
-// 01 ADDRn <-> SCL
-// 10 ADDRn <-> SDA
-// 11 ADDRn <-> VCC
-// ADDR1 represents A1:A0 of the 7-bit address.
-// ADDR2 represents A3:A2 of the 7-bit address.
-// The result is: 0b101(ADDR2)(ADDR1)
-#define IS31FL3733_I2C_ADDRESS_1 IS31FL3733_I2C_ADDRESS_GND_GND
-#define IS31FL3733_I2C_ADDRESS_2 IS31FL3733_I2C_ADDRESS_GND_VCC
-
-#define DRIVER_1_LED_TOTAL 58
-#define DRIVER_2_LED_TOTAL 10
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-```
-
-::: warning
-Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
-:::
-
-Currently only 4 drivers are supported, but it would be trivial to support all 8 combinations.
-
-Define these arrays listing all the LEDs in your `.c`:
-
-```c
-const is31fl3733_led_t PROGMEM g_is31fl3733_leds[IS31FL3733_LED_COUNT] = {
-/* Refer to IS31 manual for these locations
- * driver
- * | R location
- * | | G location
- * | | | B location
- * | | | | */
- {0, SW1_CS1, SW1_CS2, SW1_CS3},
- ....
-}
-```
-
-Where `SWx_CSy` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3733.pdf) and the header file `drivers/led/issi/is31fl3733.h`. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` for now).
-
----
-### IS31FL3736 {#is31fl3736}
-
-There is basic support for addressable RGB matrix lighting with the I2C IS31FL3736 RGB controller. To enable it, add this to your `rules.mk`:
-
-```make
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = is31fl3736
-```
-You can use between 1 and 4 IS31FL3736 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard.
-
-Configure the hardware via your `config.h`:
-
-| Variable | Description | Default |
-|----------|-------------|---------|
-| `IS31FL3736_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
-| `IS31FL3736_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
-| `IS31FL3736_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3736B only | 0 |
-| `IS31FL3736_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF |
-| `IS31FL3736_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
-| `IS31FL3736_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
-| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
-| `IS31FL3736_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | |
-| `IS31FL3736_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | |
-| `IS31FL3736_I2C_ADDRESS_3` | (Optional) Address for the third RGB driver | |
-| `IS31FL3736_I2C_ADDRESS_4` | (Optional) Address for the fourth RGB driver | |
-
-The IS31FL3736 IC's have on-chip resistors that can be enabled to allow for de-ghosting of the RGB matrix. By default these resistors are not enabled (`IS31FL3736_SWPULLUP`/`IS31FL3736_CSPULLUP` are given the value of `IS31FL3736_PUR_0R`), the values that can be set to enable de-ghosting are as follows:
-
-| `IS31FL3736_SWPULLUP/IS31FL3736_CSPULLUP` | Description |
-|----------------------|-------------|
-| `IS31FL3736_PUR_0R` | (default) Do not use the on-chip resistors/enable de-ghosting |
-| `IS31FL3736_PUR_05KR` | The 0.5k Ohm resistor used during blanking period (t_NOL) |
-| `IS31FL3736_PUR_1KR` | The 1k Ohm resistor used during blanking period (t_NOL) |
-| `IS31FL3736_PUR_2KR` | The 2k Ohm resistor used during blanking period (t_NOL) |
-| `IS31FL3736_PUR_4KR` | The 4k Ohm resistor used during blanking period (t_NOL) |
-| `IS31FL3736_PUR_8KR` | The 8k Ohm resistor during blanking period (t_NOL) |
-| `IS31FL3736_PUR_16KR` | The 16k Ohm resistor during blanking period (t_NOL) |
-| `IS31FL3736_PUR_32KR` | The 32k Ohm resistor used during blanking period (t_NOL) |
-
-Here is an example using 2 drivers.
-
-```c
-// This is a 7-bit address, that gets left-shifted and bit 0
-// set to 0 for write, 1 for read (as per I2C protocol)
-// The address will vary depending on your wiring:
-// 00 ADDRn <-> GND
-// 01 ADDRn <-> SCL
-// 10 ADDRn <-> SDA
-// 11 ADDRn <-> VCC
-// ADDR1 represents A1:A0 of the 7-bit address.
-// ADDR2 represents A3:A2 of the 7-bit address.
-// The result is: 0b101(ADDR2)(ADDR1)
-#define IS31FL3736_I2C_ADDRESS_1 IS31FL3736_I2C_ADDRESS_GND_GND
-#define IS31FL3736_I2C_ADDRESS_2 IS31FL3736_I2C_ADDRESS_GND_SCL
-
-#define DRIVER_1_LED_TOTAL 30
-#define DRIVER_2_LED_TOTAL 32
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-```
-::: warning
-Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
-:::
-
-Define these arrays listing all the LEDs in your `.c`:
-
-```c
-const is31fl3736_led_t PROGMEM g_is31fl3736_leds[IS31FL3736_LED_COUNT] = {
-/* Refer to IS31 manual for these locations
- * driver
- * | R location
- * | | G location
- * | | | B location
- * | | | | */
- {0, SW1_CS1, SW1_CS2, SW1_CS3},
- ....
-}
-```
-### IS31FL3737 {#is31fl3737}
-
-There is basic support for addressable RGB matrix lighting with the I2C IS31FL3737 RGB controller. To enable it, add this to your `rules.mk`:
-
-```make
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = is31fl3737
-```
-You can use between 1 and 4 IS31FL3737 IC's. Do not specify `DRIVER_ADDR_` defines for IC's that are not present on your keyboard.
-
-Configure the hardware via your `config.h`:
-
-| Variable | Description | Default |
-|----------|-------------|---------|
-| `IS31FL3737_I2C_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
-| `IS31FL3737_I2C_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
-| `IS31FL3737_PWM_FREQUENCY` | (Optional) PWM Frequency Setting - IS31FL3737B only | 0 |
-| `IS31FL3737_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF |
-| `IS31FL3737_SWPULLUP` | (Optional) Set the value of the SWx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
-| `IS31FL3737_CSPULLUP` | (Optional) Set the value of the CSx lines on-chip de-ghosting resistors | PUR_0R (Disabled) |
-| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
-| `IS31FL3737_I2C_ADDRESS_1` | (Required) Address for the first RGB driver | |
-| `IS31FL3737_I2C_ADDRESS_2` | (Optional) Address for the second RGB driver | |
-| `IS31FL3737_I2C_ADDRESS_3` | (Optional) Address for the third RGB driver | |
-| `IS31FL3737_I2C_ADDRESS_4` | (Optional) Address for the fourth RGB driver | |
-
-The IS31FL3737 IC's have on-chip resistors that can be enabled to allow for de-ghosting of the RGB matrix. By default these resistors are not enabled (`IS31FL3737_SWPULLUP`/`IS31FL3737_CSPULLUP` are given the value of `IS31FL3737_PUR_0R`), the values that can be set to enable de-ghosting are as follows:
-
-| `IS31FL3737_SWPULLUP/IS31FL3737_CSPULLUP` | Description |
-|----------------------|-------------|
-| `IS31FL3737_PUR_0R` | (default) Do not use the on-chip resistors/enable de-ghosting |
-| `IS31FL3737_PUR_05KR` | The 0.5k Ohm resistor used during blanking period (t_NOL) |
-| `IS31FL3737_PUR_1KR` | The 1k Ohm resistor used during blanking period (t_NOL) |
-| `IS31FL3737_PUR_2KR` | The 2k Ohm resistor used during blanking period (t_NOL) |
-| `IS31FL3737_PUR_4KR` | The 4k Ohm resistor used during blanking period (t_NOL) |
-| `IS31FL3737_PUR_8KR` | The 8k Ohm resistor during blanking period (t_NOL) |
-| `IS31FL3737_PUR_16KR` | The 16k Ohm resistor during blanking period (t_NOL) |
-| `IS31FL3737_PUR_32KR` | The 32k Ohm resistor used during blanking period (t_NOL) |
-
-Here is an example using 2 drivers.
-
-```c
-// This is a 7-bit address, that gets left-shifted and bit 0
-// set to 0 for write, 1 for read (as per I2C protocol)
-// The address will vary depending on your wiring:
-// 0000 ADDR <-> GND
-// 0101 ADDR <-> SCL
-// 1010 ADDR <-> SDA
-// 1111 ADDR <-> VCC
-// ADDR represents A3:A0 of the 7-bit address.
-// The result is: 0b101(ADDR)
-#define IS31FL3737_I2C_ADDRESS_1 IS31FL3737_I2C_ADDRESS_GND
-#define IS31FL3737_I2C_ADDRESS_2 IS31FL3737_I2C_ADDRESS_SCL
-
-#define DRIVER_1_LED_TOTAL 30
-#define DRIVER_2_LED_TOTAL 36
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-```
-::: warning
-Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
-:::
-
-Define these arrays listing all the LEDs in your `.c`:
-
-```c
-const is31fl3737_led_t PROGMEM g_is31fl3737_leds[IS31FL3737_LED_COUNT] = {
-/* Refer to IS31 manual for these locations
- * driver
- * | R location
- * | | G location
- * | | | B location
- * | | | | */
- {0, SW1_CS1, SW1_CS2, SW1_CS3},
- ....
-}
-```
-
-Where `SWx_CSy` is the location of the LED in the matrix defined by [the datasheet](https://www.issi.com/WW/pdf/31FL3737.pdf) and the header file `drivers/led/issi/is31fl3737.h`. The `driver` is the index of the driver you defined in your `config.h` (Only `0`, `1`, `2`, or `3` for now).
-
----
-### IS31FLCOMMON {#is31flcommon}
-
-There is basic support for addressable RGB matrix lighting with a selection of I2C ISSI Lumissil RGB controllers through a shared common driver. To enable it, add this to your `rules.mk`:
-
-```makefile
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER =
-```
-
-Where `` is the applicable LED driver chip as below
-
-| Driver Name | Data Sheet | Capability |
-|-------------|------------|------------|
-| `IS31FL3742A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3742A_DS.pdf) | 60 RGB, 30x6 Matrix |
-| `IS31FL3743A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3743A_DS.pdf) | 66 RGB, 18x11 Matrix |
-| `IS31FL3745` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3745_DS.pdf) | 48 RGB, 18x8 Matrix |
-| `IS31FL3746A` | [datasheet](https://www.lumissil.com/assets/pdf/core/IS31FL3746A_DS.pdf) | 24 RGB, 18x4 Matrix |
-
-You can use between 1 and 4 IC's. Do not specify `DRIVER_ADDR_` define for IC's if not present on your keyboard. The `DRIVER_ADDR_1` default assumes that all Address pins on the controller have been connected to GND. Drivers that have SYNC functionality have the default settings to disable if 1 driver. If more than 1 drivers then `DRIVER_ADDR_1` will be set to Master and the remaining ones set to Slave.
-
-Configure the hardware via your `config.h`:
-
-| Variable | Description | Default |
-|----------|-------------|---------|
-| `ISSI_TIMEOUT` | (Optional) How long to wait for i2c messages, in milliseconds | 100 |
-| `ISSI_PERSISTENCE` | (Optional) Retry failed messages this many times | 0 |
-| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
-| `DRIVER_ADDR_1` | (Optional) Address for the first RGB driver | |
-| `DRIVER_ADDR_` | (Required) Address for the additional RGB drivers | |
-| `ISSI_SSR_` | (Optional) Configuration for the Spread Spectrum Register | |
-| `ISSI_CONFIGURATION` | (Optional) Configuration for the Configuration Register | |
-| `ISSI_GLOBALCURRENT` | (Optional) Configuration for the Global Current Register | 0xFF |
-| `ISSI_PULLDOWNUP` | (Optional) Configuration for the Pull Up & Pull Down Register | |
-| `ISSI_TEMP` | (Optional) Configuration for the Temperature Register | |
-| `ISSI_PWM_ENABLE` | (Optional) Configuration for the PWM Enable Register | |
-| `ISSI_PWM_SET` | (Optional) Configuration for the PWM Setting Register | |
-| `ISSI_SCAL_RED` | (Optional) Configuration for the RED LEDs in Scaling Registers | 0xFF |
-| `ISSI_SCAL_BLUE` | (Optional) Configuration for the BLUE LEDs in Scaling Registers | 0xFF |
-| `ISSI_SCAL_GREEN` | (Optional) Configuration for the GREEN LEDs in Scaling Registers | 0xFF |
-| `ISSI_MANUAL_SCALING` | (Optional) If you wish to configure the Scaling Registers manually | |
-
-
-Defaults
-
-| Variable | IS31FL3742A | IS31FL3743A | IS31FL3745 | IS31FL3746 |
-|----------|-------------|-------------|------------|------------|
-| `DRIVER_ADDR_1` | 0b0110000 | 0b0100000 | 0b0100000 | 0b1100000 |
-| `ISSI_SSR_1` | 0x00 | 0x00 / 0x60 | 0x00 / 0xC0 | 0x00 |
-| `ISSI_SSR_<2-4>` | 0x00 | 0x40 | 0x80 | 0x00 |
-| `ISSI_CONFIGURATION` | 0x31 | 0x01 | 0x31 | 0x01 |
-| `ISSI_PULLDOWNUP` | 0x55 | 0x33 | 0x33 | 0x33 |
-| `ISSI_TEMP` | N/A | 0x00 | 0x00 | 0x00 |
-| `ISSI_PWM_ENABLE` | N/A | N/A | N/A | 0x00 |
-| `ISSI_PWM_SET` | 0x00 | N/A | N/A | 0x00 |
-
-Here is an example using 2 drivers.
-
-```c
-#define DRIVER_ADDR_2 0b0100001
-
-#define DRIVER_1_LED_TOTAL 66
-#define DRIVER_2_LED_TOTAL 42
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-```
-
-::: warning
-Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
-:::
-
-Currently only 4 drivers are supported, but it would be trivial to support for more. Note that using a combination of different drivers is not supported. All drivers must be of the same model.
-
-Define these arrays listing all the LEDs in your `.c`:
-
-```c
-const is31_led PROGMEM g_is31_leds[RGB_MATRIX_LED_COUNT] = {
-/* Refer to IS31 manual for these locations
- * driver
- * | R location
- * | | G location
- * | | | B location
- * | | | | */
- {0, SW1_CS1, SW1_CS2, SW1_CS3},
- ....
-}
-```
-
-Where `CSx_SWx` is the location of the LED in the matrix defined by the datasheet. The `driver` is the index of the driver you defined in your `config.h` (`0`, `1`, `2`, or `3` for now).
-
-`ISSI_MANUAL_SCALING` is used to override the Scaling for individual LED's. By default they will be set as per `ISSI_SCAL_`. In `config.h` set how many LED's you want to manually set scaling for.
-Eg `#define ISSI_MANUAL_SCALING 3`
-
-Then Define the array listing all the LEDs you want to override in your `.c`:
-
-```c
-const is31_led PROGMEM g_is31_scaling[ISSI_MANUAL_SCALING] = {
-/* LED Index
- * | R scaling
- * | | G scaling
- * | | | B scaling
- * | | | | */
- {5, 120, 155, 167},
- {9, 120, 155, 167},
- ....
-}
-```
-
-Where LED Index is the position of the LED in the `g_is31_leds` array. The `scaling` value between 0 and 255 to be written to the Scaling Register.
-
----
-
-### WS2812 {#ws2812}
-
-There is basic support for addressable RGB matrix lighting with a WS2811/WS2812{a,b,c} addressable LED strand. To enable it, add this to your `rules.mk`:
+## Driver Configuration {#driver-configuration}
+
+RGB Matrix is an abstraction layer on top of an underlying LED driver API. The list of supported LED drivers is below; see the respective documentation for information on how to configure the driver.
+
+|Driver |Max LEDs|
+|-------------------------------------|--------|
+|[APA102](../drivers/apa102) |? |
+|[AW20216S](../drivers/aw20216s) |72 |
+|[IS31FL3218](../drivers/is31fl3218) |6 |
+|[IS31FL3236](../drivers/is31fl3236) |12 |
+|[IS31FL3729](../drivers/is31fl3729) |45 |
+|[IS31FL3731](../drivers/is31fl3731) |48 |
+|[IS31FL3733](../drivers/is31fl3733) |64 |
+|[IS31FL3736](../drivers/is31fl3736) |32 |
+|[IS31FL3737](../drivers/is31fl3737) |48 |
+|[IS31FL3741](../drivers/is31fl3741) |117 |
+|[IS31FL3742A](../drivers/is31fl3742a)|60 |
+|[IS31FL3743A](../drivers/is31fl3743a)|66 |
+|[IS31FL3745](../drivers/is31fl3745) |48 |
+|[IS31FL3746A](../drivers/is31fl3746a)|24 |
+|[SNLED27351](../drivers/snled27351) |64 |
+|[WS2812](../drivers/ws2812) |? |
+
+To assign the RGB Matrix driver, add the following to your `rules.mk`, for example:
```make
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = ws2812
+RGB_MATRIX_DRIVER = is31fl3218
```
-Configure the hardware via your `config.h`:
-
-```c
-// The pin connected to the data pin of the LEDs
-#define WS2812_DI_PIN D7
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 70
-```
-
-::: tip
-There are additional configuration options for ARM controllers that offer increased performance over the default bitbang driver. Please see [WS2812 Driver](../drivers/ws2812) for more information.
-:::
-
----
-
-### APA102 {#apa102}
-
-There is basic support for APA102 based addressable LED strands. To enable it, add this to your `rules.mk`:
-
-```make
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = apa102
-```
-
-Configure the hardware via your `config.h`:
-
-```c
-// The pin connected to the data pin of the LEDs
-#define APA102_DI_PIN D7
-// The pin connected to the clock pin of the LEDs
-#define APA102_CI_PIN D6
-// The number of LEDs connected
-#define RGB_MATRIX_LED_COUNT 70
-```
-
----
-### AW20216S {#aw20216s}
-There is basic support for addressable RGB matrix lighting with the SPI AW20216S RGB controller. To enable it, add this to your `rules.mk`:
-
-```make
-RGB_MATRIX_ENABLE = yes
-RGB_MATRIX_DRIVER = aw20216s
-```
-
-You can use up to 2 AW20216S IC's. Do not specify `DRIVER__xxx` defines for IC's that are not present on your keyboard. You can define the following items in `config.h`:
-
-| Variable | Description | Default |
-|----------|-------------|---------|
-| `AW20216S_CS_PIN_1` | (Required) MCU pin connected to first RGB driver chip select line | B13 |
-| `AW20216S_CS_PIN_2` | (Optional) MCU pin connected to second RGB driver chip select line | |
-| `AW20216S_EN_PIN_1` | (Required) MCU pin connected to first RGB driver hardware enable line | C13 |
-| `AW20216S_EN_PIN_2` | (Optional) MCU pin connected to second RGB driver hardware enable line | |
-| `DRIVER_1_LED_TOTAL` | (Required) How many RGB lights are connected to first RGB driver | |
-| `DRIVER_2_LED_TOTAL` | (Optional) How many RGB lights are connected to second RGB driver | |
-| `RGB_MATRIX_LED_COUNT` | (Required) How many RGB lights are present across all drivers | |
-| `AW20216S_SCALING_MAX` | (Optional) LED current scaling value (0-255, higher values mean LED is brighter at full PWM) | 150 |
-| `AW20216S_GLOBAL_CURRENT_MAX` | (Optional) Driver global current limit (0-255, higher values means the driver may consume more power) | 150 |
-| `AW20216S_SPI_MODE` | (Optional) Mode for SPI communication (0-3, defines polarity and phase of the clock) | 3 |
-| `AW20216S_SPI_DIVISOR` | (Optional) Clock divisor for SPI communication (powers of 2, smaller numbers means faster communication, should not be less than 4) | 4 |
-
-Here is an example using 2 drivers.
-
-```c
-#define AW20216S_CS_PIN_1 B13
-#define AW20216S_CS_PIN_2 B14
-// Hardware enable lines may be connected to the same pin
-#define AW20216S_EN_PIN_1 C13
-#define AW20216S_EN_PIN_2 C13
-
-#define DRIVER_1_LED_TOTAL 66
-#define DRIVER_2_LED_TOTAL 32
-#define RGB_MATRIX_LED_COUNT (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)
-```
-
-::: warning
-Note the parentheses, this is so when `RGB_MATRIX_LED_COUNT` is used in code and expanded, the values are added together before any additional math is applied to them. As an example, `rand() % (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)` will give very different results than `rand() % DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL`.
-:::
-
-Define these arrays listing all the LEDs in your `.c`:
-
-```c
-const aw20216s_led_t PROGMEM g_aw20216s_leds[AW20216S_LED_COUNT] = {
-/* Each AW20216S channel is controlled by a register at some offset between 0x00
- * and 0xD7 inclusive.
- * See drivers/led/aw20216s.h for the mapping between register offsets and
- * driver pin locations.
- * driver
- * | R location
- * | | G location
- * | | | B location
- * | | | | */
- { 0, SW1_CS1, SW1_CS2, SW1_CS3 },
- { 0, SW1_CS4, SW1_CS5, SW1_CS6 },
- { 0, SW1_CS7, SW1_CS8, SW1_CS9 },
- { 0, SW1_CS10, SW1_CS11, SW1_CS12 },
- { 0, SW1_CS13, SW1_CS14, SW1_CS15 },
- ...
- { 1, SW1_CS1, SW1_CS2, SW1_CS3 },
- { 1, SW1_CS13, SW1_CS14, SW1_CS15 },
- { 1, SW1_CS16, SW1_CS17, SW1_CS18 },
- { 1, SW2_CS4, SW2_CS5, SW2_CS6 },
- ...
-};
-```
-
----
-
## Common Configuration {#common-configuration}
From this point forward the configuration is the same for all the drivers. The `led_config_t` struct provides a key electrical matrix to led index lookup table, what the physical position of each LED is on the board, and what type of key or usage the LED if the LED represents. Here is a brief example:
@@ -589,38 +81,21 @@ As mentioned earlier, the center of the keyboard by default is expected to be `{
## Keycodes {#keycodes}
-All RGB keycodes are currently shared with the RGBLIGHT system:
-
-|Key |Aliases |Description |
-|-------------------|----------|--------------------------------------------------------------------------------------|
-|`RGB_TOG` | |Toggle RGB lighting on or off |
-|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
-|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held |
-|`RGB_HUI` | |Increase hue, decrease hue when Shift is held |
-|`RGB_HUD` | |Decrease hue, increase hue when Shift is held |
-|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held |
-|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held |
-|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held |
-|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held |
-|`RGB_SPI` | |Increase effect speed (does not support eeprom yet), decrease speed when Shift is held|
-|`RGB_SPD` | |Decrease effect speed (does not support eeprom yet), increase speed when Shift is held|
-|`RGB_MODE_PLAIN` |`RGB_M_P` |Static (no animation) mode |
-|`RGB_MODE_BREATHE` |`RGB_M_B` |Breathing animation mode |
-|`RGB_MODE_RAINBOW` |`RGB_M_R` |Full gradient scrolling left to right (uses the `RGB_MATRIX_CYCLE_LEFT_RIGHT` mode) |
-|`RGB_MODE_SWIRL` |`RGB_M_SW`|Full gradient spinning pinwheel around center of keyboard (uses `RGB_MATRIX_CYCLE_PINWHEEL` mode) |
-
-* `RGB_MODE_*` keycodes will generally work, but not all of the modes are currently mapped to the correct effects for the RGB Matrix system.
-
-`RGB_MODE_PLAIN`, `RGB_MODE_BREATHE`, `RGB_MODE_RAINBOW`, and `RGB_MODE_SWIRL` are the only ones that are mapped properly. The rest don't have a direct equivalent, and are not mapped.
-
-::: tip
-`RGB_*` keycodes cannot be used with functions like `tap_code16(RGB_HUD)` as they're not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions) should be used instead.
-:::
-
-
-::: warning
-By default, if you have both the [RGB Light](rgblight) and the RGB Matrix feature enabled, these keycodes will work for both features, at the same time. You can disable the keycode functionality by defining the `*_DISABLE_KEYCODES` option for the specific feature.
-:::
+|Key |Aliases |Description |
+|-------------------------------|---------|-----------------------------------|
+|`QK_RGB_MATRIX_ON` |`RM_ON` |Turn on RGB Matrix |
+|`QK_RGB_MATRIX_OFF` |`RM_OFF` |Turn off RGB Matrix |
+|`QK_RGB_MATRIX_TOGGLE` |`RM_TOGG`|Toggle RGB Matrix on or off |
+|`QK_RGB_MATRIX_MODE_NEXT` |`RM_NEXT`|Cycle through animations |
+|`QK_RGB_MATRIX_MODE_PREVIOUS` |`RM_PREV`|Cycle through animations in reverse|
+|`QK_RGB_MATRIX_HUE_UP` |`RM_HUEU`|Cycle through hue |
+|`QK_RGB_MATRIX_HUE_DOWN` |`RM_HUED`|Cycle through hue in reverse |
+|`QK_RGB_MATRIX_SATURATION_UP` |`RM_SATU`|Increase the saturation |
+|`QK_RGB_MATRIX_SATURATION_DOWN`|`RM_SATD`|Decrease the saturation |
+|`QK_RGB_MATRIX_VALUE_UP` |`RM_VALU`|Increase the brightness level |
+|`QK_RGB_MATRIX_VALUE_DOWN` |`RM_VALD`|Decrease the brightness level |
+|`QK_RGB_MATRIX_SPEED_UP` |`RM_SPDU`|Increase the animation speed |
+|`QK_RGB_MATRIX_SPEED_DOWN` |`RM_SPDD`|Decrease the animation speed |
## RGB Matrix Effects {#rgb-matrix-effects}
@@ -797,7 +272,7 @@ Solid reactive effects will pulse RGB light on key presses with user configurabl
#define RGB_MATRIX_SOLID_REACTIVE_GRADIENT_MODE
```
-Gradient mode will loop through the color wheel hues over time and its duration can be controlled with the effect speed keycodes (`RGB_SPI`/`RGB_SPD`).
+Gradient mode will loop through the color wheel hues over time and its duration can be controlled with the effect speed keycodes (`RM_SPDU`/`RM_SPDD`).
## Custom RGB Matrix Effects {#custom-rgb-matrix-effects}
@@ -904,7 +379,6 @@ These are defined in [`color.h`](https://github.com/qmk/qmk_firmware/blob/master
#define RGB_MATRIX_DEFAULT_VAL RGB_MATRIX_MAXIMUM_BRIGHTNESS // Sets the default brightness value, if none has been set
#define RGB_MATRIX_DEFAULT_SPD 127 // Sets the default animation speed, if none has been set
#define RGB_MATRIX_DEFAULT_FLAGS LED_FLAG_ALL // Sets the default LED flags, if none has been set
-#define RGB_MATRIX_DISABLE_KEYCODES // disables control of rgb matrix by keycodes (must use code functions to control the feature)
#define RGB_MATRIX_SPLIT { X, Y } // (Optional) For split keyboards, the number of LEDs connected on each half. X = left, Y = Right.
// If reactive effects are enabled, you also will want to enable SPLIT_TRANSPORT_MIRROR
#define RGB_TRIGGER_ON_KEYDOWN // Triggers RGB keypress events on key down. This makes RGB control feel more responsive. This may cause RGB to not function properly on some boards
@@ -1004,18 +478,18 @@ This example sets the modifiers to be a specific color based on the layer state.
```c
bool rgb_matrix_indicators_advanced_user(uint8_t led_min, uint8_t led_max) {
- HSV hsv = {0, 255, 255};
+ hsv_t hsv = {0, 255, 255};
if (layer_state_is(layer_state, 2)) {
- hsv = (HSV){130, 255, 255};
+ hsv = (hsv_t){130, 255, 255};
} else {
- hsv = (HSV){30, 255, 255};
+ hsv = (hsv_t){30, 255, 255};
}
if (hsv.v > rgb_matrix_get_val()) {
hsv.v = rgb_matrix_get_val();
}
- RGB rgb = hsv_to_rgb(hsv);
+ rgb_t rgb = hsv_to_rgb(hsv);
for (uint8_t i = led_min; i < led_max; i++) {
if (HAS_FLAGS(g_led_config.flags[i], 0x01)) { // 0x01 == LED_FLAG_MODIFIER
@@ -1381,13 +855,13 @@ Set the global effect hue, saturation, and value (brightness). New state is not
---
-### `HSV rgb_matrix_get_hsv(void)` {#api-rgb-matrix-get-hsv}
+### `hsv_t rgb_matrix_get_hsv(void)` {#api-rgb-matrix-get-hsv}
Get the current global effect hue, saturation, and value (brightness).
#### Return Value {#api-rgb-matrix-get-hsv-return}
-The current effect HSV as an `HSV` struct.
+The current effect HSV as an `hsv_t` struct.
---
diff --git a/docs/features/rgblight.md b/docs/features/rgblight.md
index 794398a0f958..4322fe796e7a 100644
--- a/docs/features/rgblight.md
+++ b/docs/features/rgblight.md
@@ -59,6 +59,10 @@ Changing the **Value** sets the overall brightness.
## Keycodes
+::: warning
+These keycodes also simultaneously control [RGB Matrix](rgb_matrix), if enabled. This behaviour is in the process of being deprecated, so during this time it is recommended to additionally include the dedicated RGB Matrix keycodes to your keymap, and add `#define RGB_MATRIX_DISABLE_SHARED_KEYCODES` to `config.h`.
+:::
+
|Key |Aliases |Description |
|------------------------------|----------|---------------------------------------------------------------------|
|`QK_UNDERGLOW_TOGGLE` |`UG_TOGG` |Toggle RGB lighting on or off |
@@ -87,11 +91,6 @@ Changing the **Value** sets the overall brightness.
These keycodes cannot be used with functions like `tap_code16()` as they are not USB HID keycodes. If you wish to replicate similar behaviour in custom code within your firmware (e.g. inside `encoder_update_user()` or `process_record_user()`), the equivalent [RGB functions](#functions) should be used instead.
:::
-
-::: warning
-By default, if you have both the RGB Light and the [RGB Matrix](rgb_matrix) feature enabled, these keycodes will work for both features, at the same time. You can disable the keycode functionality by defining the `*_DISABLE_KEYCODES` option for the specific feature.
-:::
-
## Configuration
Your RGB lighting can be configured by placing these `#define`s in your `config.h`:
@@ -104,7 +103,6 @@ Your RGB lighting can be configured by placing these `#define`s in your `config.
|`RGBLIGHT_LIMIT_VAL` |`255` |The maximum brightness level |
|`RGBLIGHT_SLEEP` |*Not defined* |If defined, the RGB lighting will be switched off when the host goes to sleep |
|`RGBLIGHT_SPLIT` |*Not defined* |If defined, synchronization functionality for split keyboards is added |
-|`RGBLIGHT_DISABLE_KEYCODES`|*Not defined* |If defined, disables the ability to control RGB Light from the keycodes. You must use code functions to control the feature|
|`RGBLIGHT_DEFAULT_MODE` |`RGBLIGHT_MODE_STATIC_LIGHT`|The default mode to use upon clearing the EEPROM |
|`RGBLIGHT_DEFAULT_HUE` |`0` (red) |The default hue to use upon clearing the EEPROM |
|`RGBLIGHT_DEFAULT_SAT` |`UINT8_MAX` (255) |The default saturation to use upon clearing the EEPROM |
diff --git a/docs/features/split_keyboard.md b/docs/features/split_keyboard.md
index 6efa1c2a35c3..49582c3946f5 100644
--- a/docs/features/split_keyboard.md
+++ b/docs/features/split_keyboard.md
@@ -417,8 +417,8 @@ This allows you to specify a different set of pins for the matrix on the right s
This allows you to specify a different set of direct pins for the right side.
```c
-#define ENCODERS_PAD_A_RIGHT { encoder1a, encoder2a }
-#define ENCODERS_PAD_B_RIGHT { encoder1b, encoder2b }
+#define ENCODER_A_PINS_RIGHT { encoder1a, encoder2a }
+#define ENCODER_B_PINS_RIGHT { encoder1b, encoder2b }
```
This allows you to specify a different set of encoder pins for the right side.
diff --git a/docs/features/tap_dance.md b/docs/features/tap_dance.md
index 3c4040db224b..8fdd83c18d15 100644
--- a/docs/features/tap_dance.md
+++ b/docs/features/tap_dance.md
@@ -273,12 +273,12 @@ Now, at the bottom of your `keymap.c` file, you'll need to add the following:
* How to figure out tap dance state: interrupted and pressed.
*
* Interrupted: If the state of a dance is "interrupted", that means that another key has been hit
- * under the tapping term. This is typically indicitive that you are trying to "tap" the key.
+ * under the tapping term. This is typically indicative that you are trying to "tap" the key.
*
* Pressed: Whether or not the key is still being pressed. If this value is true, that means the tapping term
* has ended, but the key is still being pressed down. This generally means the key is being "held".
*
- * One thing that is currenlty not possible with qmk software in regards to tap dance is to mimic the "permissive hold"
+ * One thing that is currently not possible with qmk software in regards to tap dance is to mimic the "permissive hold"
* feature. In general, advanced tap dances do not work well if they are used with commonly typed letters.
* For example "A". Tap dances are best used on non-letter keys that are not hit while typing letters.
*
@@ -290,7 +290,7 @@ Now, at the bottom of your `keymap.c` file, you'll need to add the following:
* Not a key that is used frequently to double tap, for example 'tab' is often double tapped in a terminal, or
* in a web form. So 'tab' would be a poor choice for a tap dance.
* Letters used in common words as a double. For example 'p' in 'pepper'. If a tap dance function existed on the
- * letter 'p', the word 'pepper' would be quite frustating to type.
+ * letter 'p', the word 'pepper' would be quite frustrating to type.
*
* For the third point, there does exist the 'TD_DOUBLE_SINGLE_TAP', however this is not fully tested
*
diff --git a/docs/features/wireless.md b/docs/features/wireless.md
new file mode 100644
index 000000000000..0d73ad3583e1
--- /dev/null
+++ b/docs/features/wireless.md
@@ -0,0 +1,58 @@
+# Wireless / Bluetooth
+
+## Bluetooth Known Supported Hardware
+
+Currently Bluetooth support is limited to AVR based chips. For Bluetooth 2.1, QMK has support for RN-42 modules. For more recent BLE protocols, currently only the Adafruit Bluefruit SPI Friend is directly supported. BLE is needed to connect to iOS devices. Note iOS does not support mouse input.
+
+|Board |Bluetooth Protocol |Connection Type|rules.mk |Bluetooth Chip|
+|----------------------------------------------------------------|--------------------|---------------|---------------------------------|--------------|
+|Roving Networks RN-42 (Sparkfun Bluesmirf) |Bluetooth Classic |UART |`BLUETOOTH_DRIVER = rn42` |RN-42 |
+|[Bluefruit LE SPI Friend](https://www.adafruit.com/product/2633)|Bluetooth Low Energy|SPI |`BLUETOOTH_DRIVER = bluefruit_le`|nRF51822 |
+
+Not Supported Yet but possible:
+* [Bluefruit LE UART Friend](https://www.adafruit.com/product/2479). [Possible tmk implementation found in](https://github.com/tmk/tmk_keyboard/issues/514)
+* HC-05 boards flashed with RN-42 firmware. They apparently both use the CSR BC417 Chip. Flashing it with RN-42 firmware gives it HID capability.
+* Sparkfun Bluetooth Mate
+* HM-13 based boards
+
+### Adafruit BLE SPI Friend
+Currently The only bluetooth chipset supported by QMK is the Adafruit Bluefruit SPI Friend. It's a Nordic nRF51822 based chip running Adafruit's custom firmware. Data is transmitted via Adafruit's SDEP over Hardware SPI. The [Feather 32u4 Bluefruit LE](https://www.adafruit.com/product/2829) is supported as it's an AVR mcu connected via SPI to the Nordic BLE chip with Adafruit firmware. If Building a custom board with the SPI friend it would be easiest to just use the pin selection that the 32u4 feather uses but you can change the pins in the config.h options with the following defines:
+* `#define BLUEFRUIT_LE_RST_PIN D4`
+* `#define BLUEFRUIT_LE_CS_PIN B4`
+* `#define BLUEFRUIT_LE_IRQ_PIN E6`
+
+A Bluefruit UART friend can be converted to an SPI friend, however this [requires](https://github.com/qmk/qmk_firmware/issues/2274) some reflashing and soldering directly to the MDBT40 chip.
+
+
+## Bluetooth Rules.mk Options
+
+The currently supported Bluetooth chipsets do not support [N-Key Rollover (NKRO)](../reference_glossary#n-key-rollover-nkro), so `rules.mk` must contain `NKRO_ENABLE = no`.
+
+Add the following to your `rules.mk`:
+
+```make
+BLUETOOTH_ENABLE = yes
+BLUETOOTH_DRIVER = bluefruit_le # or rn42
+```
+
+## Bluetooth Keycodes
+
+This is used when multiple keyboard outputs can be selected. Currently this only allows for switching between USB and Bluetooth on keyboards that support both.
+
+| Key | Aliases | Description |
+|-----------------------------|-----------|-----------------------------------------------------------------------------------------------|
+| `QK_OUTPUT_AUTO` | `OU_AUTO` | Automatically switch to USB when plugged in, otherwise use wireless |
+| `QK_OUTPUT_NEXT` | `OU_NEXT` | Cycle forwards through USB, Bluetooth, and 2.4GHz (when available) **(not yet implemented)** |
+| `QK_OUTPUT_PREV` | `OU_PREV` | Cycle backwards through USB, Bluetooth, and 2.4GHz (when available) **(not yet implemented)** |
+| `QK_OUTPUT_NONE` | `OU_NONE` | Disable all output **(not yet implemented)** |
+| `QK_OUTPUT_USB` | `OU_USB` | Output to USB only |
+| `QK_OUTPUT_2P4GHZ` | `OU_2P4G` | Output to 2.4GHz only **(not yet implemented)** |
+| `QK_OUTPUT_BLUETOOTH` | `OU_BT` | Output to Bluetooth only |
+| `QK_BLUETOOTH_PROFILE_NEXT` | `BT_NEXT` | Move to the next Bluetooth profile **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE_PREV` | `BT_PREV` | Move to the previous Bluetooth profile **(not yet implemented)** |
+| `QK_BLUETOOTH_UNPAIR` | `BT_UNPR` | Un-pair the current Bluetooth profile **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE1` | `BT_PRF1` | Swap to Bluetooth profile #1 **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE2` | `BT_PRF2` | Swap to Bluetooth profile #2 **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE3` | `BT_PRF3` | Swap to Bluetooth profile #3 **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE4` | `BT_PRF4` | Swap to Bluetooth profile #4 **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE5` | `BT_PRF5` | Swap to Bluetooth profile #5 **(not yet implemented)** |
diff --git a/docs/flashing.md b/docs/flashing.md
index 798331eb23d1..29dc780aaf03 100644
--- a/docs/flashing.md
+++ b/docs/flashing.md
@@ -53,7 +53,7 @@ QMK maintains [a fork of the LUFA DFU bootloader](https://github.com/qmk/lufa/tr
//#define QMK_LED E6
//#define QMK_SPEAKER C6
```
-Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic Lite](features/bootmagic), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader.
+Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic](features/bootmagic), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader.
The manufacturer and product strings are automatically pulled from `config.h`, with " Bootloader" appended to the product string.
@@ -209,7 +209,7 @@ To enable the additional features, add the following defines to your `config.h`:
//#define QMK_SPEAKER C6
```
-Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic Lite](features/bootmagic), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader.
+Currently we do not recommend making `QMK_ESC` the same key as the one designated for [Bootmagic](features/bootmagic), as holding it down will cause the MCU to loop back and forth between entering and exiting the bootloader.
The manufacturer and product strings are automatically pulled from `config.h`, with " Bootloader" appended to the product string.
@@ -345,6 +345,39 @@ Flashing sequence:
3. Flash a .bin file
4. Reset the device into application mode (may be done automatically)
+## AT32 DFU
+
+All AT32 MCUs come preloaded with a factory bootloader that cannot be modified nor deleted.
+
+To ensure compatibility with the AT32-DFU bootloader, make sure this block is present in your `rules.mk`:
+
+```make
+# Bootloader selection
+BOOTLOADER = at32-dfu
+```
+
+Compatible flashers:
+
+* [dfu-util](https://dfu-util.sourceforge.net/) / `:dfu-util` target in QMK (recommended command line)
+ ```
+ dfu-util -a 0 -d 2E3C:DF11 -s 0x8000000:leave -D
+ ```
+
+Flashing sequence:
+
+1. Enter the bootloader using any of the following methods:
+ * Tap the `QK_BOOT` keycode
+ * If a reset circuit is present, tap the `RESET` button on the PCB; some boards may also have a toggle switch that must be flipped
+ * Otherwise, you need to bridge `BOOT0` to VCC (via `BOOT0` button or jumper), short `RESET` to GND (via `RESET` button or jumper), and then let go of the `BOOT0` bridge
+2. Wait for the OS to detect the device
+3. Flash a .bin file
+4. Reset the device into application mode (may be done automatically)
+
+### `make` Targets
+
+* `:dfu-util`: Waits until an AT32 bootloader device is available, and then flashes the firmware.
+* `:dfu-util-split-left` and `:dfu-util-split-right`: Flashes the firmware as with `:dfu-util`, but also sets the handedness setting in EEPROM.
+
## tinyuf2
Keyboards may opt into supporting the tinyuf2 bootloader. This is currently only supported on F303/F401/F411.
diff --git a/docs/getting_started_docker.md b/docs/getting_started_docker.md
index 6e69b17d347b..2d90d8566ab1 100644
--- a/docs/getting_started_docker.md
+++ b/docs/getting_started_docker.md
@@ -5,6 +5,7 @@ This project includes a Docker workflow that will allow you to build a new firmw
## Requirements
The main prerequisite is a working `docker` or `podman` install.
+
* [Docker CE](https://docs.docker.com/install/#supported-platforms)
* [Podman](https://podman.io/getting-started/installation)
@@ -18,6 +19,7 @@ cd qmk_firmware
```
Run the following command to build a keymap:
+
```
util/docker_build.sh :
# For example: util/docker_build.sh planck/rev6:default
@@ -32,6 +34,8 @@ util/docker_build.sh keyboard:keymap:target
# For example: util/docker_build.sh planck/rev6:default:flash
```
+Note that mass storage bootloaders are not supported by the `flash` target. In this case you will have to manually copy the firmware file to the keyboard.
+
You can also start the script without any parameters, in which case it will ask you to input the build parameters one by one, which you may find easier to use:
```
diff --git a/docs/hand_wire.md b/docs/hand_wire.md
index cbb917906079..9aeee7512dc6 100644
--- a/docs/hand_wire.md
+++ b/docs/hand_wire.md
@@ -231,7 +231,7 @@ Once you have confirmed that the keyboard is working, if you have used a seperat
If you found this fullfilling you could experiment by adding additional features such as [in switch LEDs](https://geekhack.org/index.php?topic=94258.0), [in switch RGB](https://www.reddit.com/r/MechanicalKeyboards/comments/5s1l5u/photoskeyboard_science_i_made_a_handwired_rgb/), [RGB underglow](https://medium.com/@DavidNZ/hand-wired-custom-keyboard-cdd14429c7b3#.7a1ovebsk) or even an [OLED display!](https://www.reddit.com/r/olkb/comments/5zy7og/adding_ssd1306_oled_display_to_your_build/)
-There are a lot of possibilities inside the firmware - explore [docs.qmk.fm](https://docs.qmk.fm) for a full feature list, and dive into the different keyboards to see how people use all of them. You can always stop by [the OLKB subreddit](https://reddit.com/r/olkb) or [QMK Discord](https://discord.gg/Uq7gcHh) for help!
+There are a lot of possibilities inside the firmware - explore [docs.qmk.fm](https://docs.qmk.fm) for a full feature list, and dive into the different keyboards to see how people use all of them. You can always stop by [the OLKB subreddit](https://reddit.com/r/olkb) or [QMK Discord](https://discord.gg/qmk) for help!
## Links to Other Guides
diff --git a/docs/hardware_keyboard_guidelines.md b/docs/hardware_keyboard_guidelines.md
index de67fa3bc399..7f17c46748d6 100644
--- a/docs/hardware_keyboard_guidelines.md
+++ b/docs/hardware_keyboard_guidelines.md
@@ -111,7 +111,7 @@ The `post_config.h` file can be used for additional post-processing, depending o
#define USB_MAX_POWER_CONSUMPTION 400
#else
// fix iPhone and iPad power adapter issue
- // iOS device need lessthan 100
+ // iOS devices need less than 100
#define USB_MAX_POWER_CONSUMPTION 100
#endif
diff --git a/docs/index.md b/docs/index.md
index 166bdc8ad945..433913adb92c 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -32,7 +32,7 @@ There are a lot of ways you can contribute to the QMK Community. The easiest way
* Help people out on our forums and chat rooms:
* [/r/olkb](https://www.reddit.com/r/olkb/)
- * [Discord Server](https://discord.gg/Uq7gcHh)
+ * [Discord Server](https://discord.gg/qmk)
* Contribute to our documentation by clicking "Edit This Page" at the bottom
* [Report a bug](https://github.com/qmk/qmk_firmware/issues/new/choose)
* [Open a Pull Request](contributing)
diff --git a/docs/keycodes.md b/docs/keycodes.md
index 95268952289b..cf170721c814 100644
--- a/docs/keycodes.md
+++ b/docs/keycodes.md
@@ -290,15 +290,27 @@ See also: [Backlighting](features/backlight)
| `QK_BACKLIGHT_DOWN` | `BL_DOWN` | Decrease the backlight level |
| `QK_BACKLIGHT_TOGGLE_BREATHING` | `BL_BRTG` | Toggle backlight breathing |
-## Bluetooth {#bluetooth}
-
-See also: [Bluetooth](features/bluetooth)
-
-|Key |Aliases |Description |
-|---------------------|---------|----------------------------------------------|
-|`QK_OUTPUT_AUTO` |`OU_AUTO`|Automatically switch between USB and Bluetooth|
-|`QK_OUTPUT_USB` |`OU_USB` |USB only |
-|`QK_OUTPUT_BLUETOOTH`|`OU_BT` |Bluetooth only |
+## Wireless/Bluetooth {#bluetooth}
+
+See also: [Wireless](features/wireless)
+
+| Key | Aliases | Description |
+|-----------------------------|-----------|-----------------------------------------------------------------------------------------------|
+| `QK_OUTPUT_AUTO` | `OU_AUTO` | Automatically switch to USB when plugged in, otherwise use wireless |
+| `QK_OUTPUT_NEXT` | `OU_NEXT` | Cycle forwards through USB, Bluetooth, and 2.4GHz (when available) **(not yet implemented)** |
+| `QK_OUTPUT_PREV` | `OU_PREV` | Cycle backwards through USB, Bluetooth, and 2.4GHz (when available) **(not yet implemented)** |
+| `QK_OUTPUT_NONE` | `OU_NONE` | Disable all output **(not yet implemented)** |
+| `QK_OUTPUT_USB` | `OU_USB` | Output to USB only |
+| `QK_OUTPUT_2P4GHZ` | `OU_2P4G` | Output to 2.4GHz only **(not yet implemented)** |
+| `QK_OUTPUT_BLUETOOTH` | `OU_BT` | Output to Bluetooth only |
+| `QK_BLUETOOTH_PROFILE_NEXT` | `BT_NEXT` | Move to the next Bluetooth profile **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE_PREV` | `BT_PREV` | Move to the previous Bluetooth profile **(not yet implemented)** |
+| `QK_BLUETOOTH_UNPAIR` | `BT_UNPR` | Un-pair the current Bluetooth profile **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE1` | `BT_PRF1` | Swap to Bluetooth profile #1 **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE2` | `BT_PRF2` | Swap to Bluetooth profile #2 **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE3` | `BT_PRF3` | Swap to Bluetooth profile #3 **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE4` | `BT_PRF4` | Swap to Bluetooth profile #4 **(not yet implemented)** |
+| `QK_BLUETOOTH_PROFILE5` | `BT_PRF5` | Swap to Bluetooth profile #5 **(not yet implemented)** |
## Caps Word {#caps-word}
@@ -375,13 +387,22 @@ See also: [Key Lock](features/key_lock)
|---------|--------------------------------------------------------------|
|`QK_LOCK`|Hold down the next key pressed, until the key is pressed again|
+## Layer Lock {#layer-lock}
+
+See also: [Layer Lock](features/layer_lock)
+
+|Key |Aliases |Description |
+|---------------|---------|----------------------------------|
+|`QK_LAYER_LOCK`|`QK_LLCK`|Locks or unlocks the highest layer|
+
## Layer Switching {#layer-switching}
See also: [Layer Switching](feature_layers#switching-and-toggling-layers)
|Key |Description |
|----------------|----------------------------------------------------------------------------------|
-|`DF(layer)` |Set the base (default) layer |
+|`DF(layer)` |Set the base (default) layer until the keyboard loses power |
+|`PDF(layer)` |Set the base (default) layer in EEPROM |
|`MO(layer)` |Momentarily turn on `layer` when pressed (requires `KC_TRNS` on destination layer)|
|`OSL(layer)` |Momentarily activates `layer` until a key is pressed. See [One Shot Keys](one_shot_keys) for details. |
|`LM(layer, mod)`|Momentarily turn on `layer` (like MO) with `mod` active as well. Where `mod` is a mods_bit. Mods can be viewed [here](mod_tap). Example Implementation: `LM(LAYER_1, MOD_LALT)`|
@@ -611,24 +632,27 @@ See also: [MIDI](features/midi)
See also: [Mouse Keys](features/mouse_keys)
-|Key |Aliases |Description |
-|----------------|---------|---------------------------|
-|`KC_MS_UP` |`KC_MS_U`|Mouse Cursor Up |
-|`KC_MS_DOWN` |`KC_MS_D`|Mouse Cursor Down |
-|`KC_MS_LEFT` |`KC_MS_L`|Mouse Cursor Left |
-|`KC_MS_RIGHT` |`KC_MS_R`|Mouse Cursor Right |
-|`KC_MS_BTN1` |`KC_BTN1`|Mouse Button 1 |
-|`KC_MS_BTN2` |`KC_BTN2`|Mouse Button 2 |
-|`KC_MS_BTN3` |`KC_BTN3`|Mouse Button 3 |
-|`KC_MS_BTN4` |`KC_BTN4`|Mouse Button 4 |
-|`KC_MS_BTN5` |`KC_BTN5`|Mouse Button 5 |
-|`KC_MS_WH_UP` |`KC_WH_U`|Mouse Wheel Up |
-|`KC_MS_WH_DOWN` |`KC_WH_D`|Mouse Wheel Down |
-|`KC_MS_WH_LEFT` |`KC_WH_L`|Mouse Wheel Left |
-|`KC_MS_WH_RIGHT`|`KC_WH_R`|Mouse Wheel Right |
-|`KC_MS_ACCEL0` |`KC_ACL0`|Set mouse acceleration to 0|
-|`KC_MS_ACCEL1` |`KC_ACL1`|Set mouse acceleration to 1|
-|`KC_MS_ACCEL2` |`KC_ACL2`|Set mouse acceleration to 2|
+|Key |Aliases |Description |
+|-------------------------|---------|---------------------------|
+|`QK_MOUSE_CURSOR_UP` |`MS_UP` |Mouse cursor up |
+|`QK_MOUSE_CURSOR_DOWN` |`MS_DOWN`|Mouse cursor down |
+|`QK_MOUSE_CURSOR_LEFT` |`MS_LEFT`|Mouse cursor left |
+|`QK_MOUSE_CURSOR_RIGHT` |`MS_RGHT`|Mouse cursor right |
+|`QK_MOUSE_BUTTON_1` |`MS_BTN1`|Mouse button 1 |
+|`QK_MOUSE_BUTTON_2` |`MS_BTN2`|Mouse button 2 |
+|`QK_MOUSE_BUTTON_3` |`MS_BTN3`|Mouse button 3 |
+|`QK_MOUSE_BUTTON_4` |`MS_BTN4`|Mouse button 4 |
+|`QK_MOUSE_BUTTON_5` |`MS_BTN5`|Mouse button 5 |
+|`QK_MOUSE_BUTTON_6` |`MS_BTN6`|Mouse button 6 |
+|`QK_MOUSE_BUTTON_7` |`MS_BTN7`|Mouse button 7 |
+|`QK_MOUSE_BUTTON_8` |`MS_BTN8`|Mouse button 8 |
+|`QK_MOUSE_WHEEL_UP` |`MS_WHLU`|Mouse wheel up |
+|`QK_MOUSE_WHEEL_DOWN` |`MS_WHLD`|Mouse wheel down |
+|`QK_MOUSE_WHEEL_LEFT` |`MS_WHLL`|Mouse wheel left |
+|`QK_MOUSE_WHEEL_RIGHT` |`MS_WHLR`|Mouse wheel right |
+|`QK_MOUSE_ACCELERATION_0`|`MS_ACL0`|Set mouse acceleration to 0|
+|`QK_MOUSE_ACCELERATION_1`|`MS_ACL1`|Set mouse acceleration to 1|
+|`QK_MOUSE_ACCELERATION_2`|`MS_ACL2`|Set mouse acceleration to 2|
## Modifiers {#modifiers}
@@ -725,23 +749,25 @@ See also: [RGB Lighting](features/rgblight)
|`RGB_MODE_RGBTEST` |`RGB_M_T` |Red, Green, Blue test animation mode (deprecated) |
|`RGB_MODE_TWINKLE` |`RGB_M_TW`|Twinkle animation mode (deprecated) |
-## RGB Matrix Lighting {#rgb-matrix-lighting}
-
-See also: [RGB Matrix Lighting](features/rgb_matrix)
-
-|Key |Aliases |Description |
-|-------------------|----------|--------------------------------------------------------------------------------------|
-|`RGB_TOG` | |Toggle RGB lighting on or off |
-|`RGB_MODE_FORWARD` |`RGB_MOD` |Cycle through modes, reverse direction when Shift is held |
-|`RGB_MODE_REVERSE` |`RGB_RMOD`|Cycle through modes in reverse, forward direction when Shift is held |
-|`RGB_HUI` | |Increase hue, decrease hue when Shift is held |
-|`RGB_HUD` | |Decrease hue, increase hue when Shift is held |
-|`RGB_SAI` | |Increase saturation, decrease saturation when Shift is held |
-|`RGB_SAD` | |Decrease saturation, increase saturation when Shift is held |
-|`RGB_VAI` | |Increase value (brightness), decrease value when Shift is held |
-|`RGB_VAD` | |Decrease value (brightness), increase value when Shift is held |
-|`RGB_SPI` | |Increase effect speed (does not support eeprom yet), decrease speed when Shift is held|
-|`RGB_SPD` | |Decrease effect speed (does not support eeprom yet), increase speed when Shift is held|
+## RGB Matrix {#rgb-matrix}
+
+See also: [RGB Matrix](features/rgb_matrix)
+
+|Key |Aliases |Description |
+|-------------------------------|---------|-----------------------------------|
+|`QK_RGB_MATRIX_ON` |`RM_ON` |Turn on RGB Matrix |
+|`QK_RGB_MATRIX_OFF` |`RM_OFF` |Turn off RGB Matrix |
+|`QK_RGB_MATRIX_TOGGLE` |`RM_TOGG`|Toggle RGB Matrix on or off |
+|`QK_RGB_MATRIX_MODE_NEXT` |`RM_NEXT`|Cycle through animations |
+|`QK_RGB_MATRIX_MODE_PREVIOUS` |`RM_PREV`|Cycle through animations in reverse|
+|`QK_RGB_MATRIX_HUE_UP` |`RM_HUEU`|Cycle through hue |
+|`QK_RGB_MATRIX_HUE_DOWN` |`RM_HUED`|Cycle through hue in reverse |
+|`QK_RGB_MATRIX_SATURATION_UP` |`RM_SATU`|Increase the saturation |
+|`QK_RGB_MATRIX_SATURATION_DOWN`|`RM_SATD`|Decrease the saturation |
+|`QK_RGB_MATRIX_VALUE_UP` |`RM_VALU`|Increase the brightness level |
+|`QK_RGB_MATRIX_VALUE_DOWN` |`RM_VALD`|Decrease the brightness level |
+|`QK_RGB_MATRIX_SPEED_UP` |`RM_SPDU`|Increase the animation speed |
+|`QK_RGB_MATRIX_SPEED_DOWN` |`RM_SPDD`|Decrease the animation speed |
## US ANSI Shifted Symbols {#us-ansi-shifted-symbols}
diff --git a/docs/license_violations.md b/docs/license_violations.md
new file mode 100644
index 000000000000..b21bb286ac53
--- /dev/null
+++ b/docs/license_violations.md
@@ -0,0 +1,96 @@
+# License Violations
+
+QMK Firmware has seen its fair share of license violations, which hurts the community and frustrates the QMK maintainers.
+
+Typical non-compliance includes:
+
+* Not providing any source code
+* Providing "crippled" source code, such as a wired-only firmware for a wireless-capable board
+
+Boards from vendors who don't provide source code are proving to be a significant time sink as the QMK team and other support helpers volunteer their time trying to determine which board someone has before they can help -- and in these cases they can't help. Occasionally this is followed by abuse; something that QMK and its volunteers should not be subjected to, rather redirected to the vendor in question.
+
+The QMK team now actively directs support requests back to each vendor - vendors must provide their own product support for their boards. The QMK team are volunteers, the vendor must not expect the team to act as their support staff.
+
+## Offending Vendors
+
+The QMK team cannot tell you which boards you should or should not purchase, but please consider the lack of license compliance from the following vendors before making your decision. If you wish to look at the boards upstream QMK Firmware currently supports, you can search [here](https://browse.qmk.fm/).
+
+If you own a board from one of the following vendors already, consider asking them for the equivalent QMK source code if it's not already available. With enough customers demanding corresponding source code, vendors may start to change their policies.
+
+| Vendor | Reason |
+|------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| BBB Keyboard | Selling tri-mode boards based on QMK without sources, attempted upstreaming crippled firmware without wireless. |
+| Chillkey | |
+| CIDOO | Selling wired boards based on QMK without sources, just `via.json` provided. |
+| Darmoshark | Selling wired boards based on QMK without sources, just `via.json` provided. |
+| Epomaker | Lots of historical keyboards with `via.json` but no corresponding sources. Wireless code for a small handful provided, pending core cleanup for QMK upstreaming. Most other boards have source nowhere to be seen. |
+| Ergokbd (IFKB) | At least their crkbd clone ships with QMK+Vial, seemingly refuses to disclose sources despite multiple customers requesting them. |
+| iLovBee | Official 30-day copyright source code request issued Sep 11 2024 due to deception on PR, no response received. Ambiguity on PRs -- marketing says wireless, PR author said wired-only, then included wireless code anyway. Seemingly intentionally deceptive. |
+| KiiBOOM | Seems to use the same OEM as Epomaker, same problems. |
+| Luminkey | Selling tri-mode boards based on QMK without sources, just `via.json` provided. |
+| Meletrix | Selling tri-mode boards based on QMK without sources, just `via.json` provided. |
+| mmd / Smartmmd / i-game.tech | Ambiguity on PRs -- marketing says wireless, PR author said wired-only, then included wireless code anyway. Seemingly intentionally deceptive. |
+| MyKeyClub | Community-supported JRIS75, vendor was contacted by community members and refused to cooperate. |
+| owlab | Selling wired based on QMK without sources, just `via.json` provided. Ambiguous as to whether or not wireless firmware is based on QMK, given that their configuration tool looks very similar to VIA. |
+| qwertykeys | Selling wired and tri-mode boards based on QMK without sources, just `via.json` provided. |
+| Redragon | Selling tri-mode boards based on QMK without sources, attempted upstreaming crippled firmware without wireless. |
+| Royal Kludge | PRs for fake boards in order to attain VIA compatibility identified. Lots of other keyboards with `via.json` but no corresponding sources, attempted upstreaming crippled firmware without wireless. Wireless code for some provided, pending core cleanup for QMK upstreaming. PRs including different manufacturer names as well. |
+| Shenzhen Hangsheng | PR submissions with crippled firmware, debating with maintainers about wireless despite marketing material clearly stating tri-mode. |
+| Shortcut Studio | Selling tri-mode boards based on QMK without sources, just `via.json` provided. |
+| Tacworks | Selling tri-mode boards based on QMK, crippled firmware already merged into QMK without wireless without QMK team realising. |
+| TKD / Vertex | Selling tri-mode boards based on QMK without sources, attempted upstreaming crippled firmware without wireless. |
+| WOBKEY | Selling tri-mode boards based on QMK without sources, attempted upstreaming crippled firmware without wireless. |
+| Weikav | Selling tri-mode boards based on QMK without sources, just `via.json` provided. |
+| Womier | Selling tri-mode boards based on QMK without sources, attempted upstreaming crippled firmware without wireless. |
+| Wuque Studio | Selling wired and tri-mode boards based on QMK without sources, just `via.json` provided. |
+| Zuoya | Selling tri-mode boards based on QMK without sources, just `via.json` provided. |
+
+::: danger Violations
+Links are not provided above as the QMK team does not wish to inadvertently promote purchases of boards in violation of QMK's license.
+:::
+
+## Licensing
+
+QMK Firmware's license requires full disclosure of source code for any firmware which is based on QMK. This includes any of the following scenarios:
+
+* Use of public QMK Firmware, but with "closed source" privately-held board definitions
+* Vendor-customised QMK Firmware, which the vendor keeps private for building their own boards
+* Any other non-QMK firmware which includes portions of QMK Firmware, such as adaptation of `via.c` into any other non-QMK firmware, even if used as a reference when translated to another programming language.
+
+As per the GPL license requirements, vendors must provide entire source code for the as-shipped firmware.
+
+QMK has traditionally been lenient with this clause -- providing source code to the QMK community is necessary but reproducing the exact build may not be possible. QMK has required functionally-equivalent source code to be made available. In rare cases exact code may be requested; vendors must keep copies regardless.
+
+At minimum, vendors must provide the source code through some distribution mechanism. This could potentially be an clearly available downloadable copy of the code online, a fork of QMK Firmware, or even a DVD accompanying the product in the box.
+
+If sources are unable to be provided in a timely fashion, QMK may revoke the vendor's license, effectively rendering them unable to leverage QMK.
+
+Vendors choosing to keep things closed-source because of a desire to have a "competitive edge" compared to other vendors is unacceptable to both QMK and the community, and is a breach of the QMK license. There's no reason to do so; any new or interesting vendor-specific feature will be quickly replicated by other vendors or the community anyway.
+
+## QMK PR Considerations
+
+Vendors who submit PRs to QMK Firmware whilst not providing full sources for all of their license-violating boards will be put on hold until source code for all violating boards is provided. Intentional deception may result in boards being removed from QMK and all future PRs for that manufacturer being denied outright.
+
+Submitting crippled source code in order to attain a merge into QMK Firmware to pave the way for VIA support is unacceptable. This includes submitting a wired-only firmware for a wireless-capable board, or any other PR which does not include key features as-advertised.
+
+Reusing the `VID` and `PID` for multiple boards (such as for two variants, wired and wireless) is an unacceptable scenario as this creates confusion for support. Many customers have flashed boards with the wrong firmware, which could have been avoided if vendors were obvious about their board identification mechanisms.
+
+If there is sufficient ambiguity about a board, supporting evidence will need to be presented to the QMK team. This may include impartial third parties who can demonstrate a board's existence and can confirm its feature set, such as well-known content producers; popular review sites or notable video creators may be leveraged. If such evidence is unavailable, as a last resort the vendor may be required to ship a fully functional board in full retail packaging to QMK maintainers for verification. Engineering samples will not be accepted, as one-off boards have been deceptively used in the past.
+
+PRs submitted to upstream QMK should not expect an instant merge just because source code has been provided -- code from OEMs has historically been of a quality lower than QMK standards, so as per the [PR checklist](https://docs.qmk.fm/pr_checklist) submitters should make the changes as small as possible and be prepared to change their implementation.
+
+## Detection
+
+If the QMK team identifies or is informed of a license violation from a vendor:
+
+* Any current and future PRs for that vendor will be indefinitely put on hold, preventing merge into QMK Firmware, thus preventing any out-of-the-box VIA support
+* Any existing keyboards from the vendor may be removed from QMK Firmware
+* Vendors will be added to the _offending vendors_ list above
+
+Repeated violations may result in that vendor being disallowed from contributing the QMK in its entirety. In the worst case, the QMK team may choose to revoke a vendor's license to use QMK Firmware outright.
+
+## Remediation
+
+Vendors must provide fully-featured source code for each of their identified violations, matching the feature capabilities of their as-shipped products. This will usually be in their own fork of QMK Firmware while awaiting a merge into upstream.
+
+Once all identified violations have been remediated, current and future PRs will no longer be on hold and the vendor will be removed from the offending vendors list above.
diff --git a/docs/newbs.md b/docs/newbs.md
index 64593cbad12c..95cde67f0cdd 100644
--- a/docs/newbs.md
+++ b/docs/newbs.md
@@ -4,7 +4,7 @@ Your computer keyboard has a processor inside of it, similar to the one inside y
QMK tries to put a lot of power into your hands by making easy things easy, and hard things possible. You don't have to know how to program to create powerful keymaps — you only have to follow a few simple syntax rules.
-Not sure if your keyboard can run QMK? If it's a mechanical keyboard you built yourself chances are good it can. We support a [large number of hobbyist boards](https://qmk.fm/keyboards/). If your current keyboard can't run QMK there are a lot of choices out there for boards that do.
+Not sure if your keyboard can run QMK? If it's a mechanical keyboard you built yourself chances are good it can. We support a [large number of hobbyist boards](https://browse.qmk.fm/). If your current keyboard can't run QMK there are a lot of choices out there for boards that do.
::: tip Is This Guide For Me?
If the thought of programming intimidates you, please [take a look at our online GUI](newbs_building_firmware_configurator) instead.
diff --git a/docs/newbs_flashing.md b/docs/newbs_flashing.md
index e9df397267c6..5d5c1983e196 100644
--- a/docs/newbs_flashing.md
+++ b/docs/newbs_flashing.md
@@ -15,7 +15,7 @@ Different keyboards have different ways to enter this special mode. If your PCB
* Press the physical `RESET` button, usually located on the underside of the PCB
* Locate header pins on the PCB labeled `RESET` and `GND`, and short them together while plugging your PCB in
-If you've attempted all of the above to no avail, and the main chip on the board says `STM32` or `RP2-B1` on it, this may be a bit more complicated. Generally your best bet is to ask on [Discord](https://discord.gg/Uq7gcHh) for assistance. It's likely some photos of the board will be asked for -- if you can get them ready beforehand it'll help move things along!
+If you've attempted all of the above to no avail, and the main chip on the board says `STM32` or `RP2-B1` on it, this may be a bit more complicated. Generally your best bet is to ask on [Discord](https://discord.gg/qmk) for assistance. It's likely some photos of the board will be asked for -- if you can get them ready beforehand it'll help move things along!
Otherwise, you should see a message in yellow, similar to this in QMK Toolbox:
@@ -129,4 +129,4 @@ Congrats! Your custom firmware has been programmed to your keyboard and you're r
With a little bit of luck everything will work perfectly, but if not there are steps that will help you figure out what's wrong.
Testing your keyboard is usually pretty straightforward. Press every single key and make sure it sends the keys you expect. You can use [QMK Configurator](https://config.qmk.fm/#/test/)'s test mode to check your keyboard, even if it doesn't run QMK.
-Still not working? Browse the FAQ topics for more information, or [chat with us on Discord](https://discord.gg/Uq7gcHh).
+Still not working? Browse the FAQ topics for more information, or [chat with us on Discord](https://discord.gg/qmk).
diff --git a/docs/other_vscode.md b/docs/other_vscode.md
index 31208d8f3bfc..ab2b23e96b41 100644
--- a/docs/other_vscode.md
+++ b/docs/other_vscode.md
@@ -177,12 +177,13 @@ You'll need to perform some modifications to the file above in order to target y
Windows builds of QMK Firmware are generally compiled using QMK MSYS, and the path to gdb's location (`C:\\QMK_MSYS\\mingw64\\bin`) needs to be specified under `armToolchainPath` for it to be detected. You may also need to change the GDB path to point at `C:\\QMK_MSYS\\mingw64\\bin\\gdb-multiarch.exe` in the VSCode Cortex-Debug user settings: ![VSCode Settings](https://i.imgur.com/EGrPM1L.png)
:::
-Optionally, the following modifications should also be made to the keyboard's `rules.mk` file to disable optimisations -- not strictly required but will ensure breakpoints and variable viewing works correctly:
+The following modifications must be made to the keyboard's `rules.mk` file to enable debug information and disable optimisations -- this will ensure breakpoints and variable viewing works correctly:
```makefile
+# Enable debug information in the final binaries
+DEBUG_ENABLE = yes
# Disable optimisations for debugging purposes
LTO_ENABLE = no
OPT = g
-DEBUG = 3
```
At this point, you should build and flash your firmware through normal methods (`qmk compile ...` and `qmk flash ...`).
diff --git a/docs/porting_your_keyboard_to_qmk.md b/docs/porting_your_keyboard_to_qmk.md
index eb45790128d1..737ec4a2cf38 100644
--- a/docs/porting_your_keyboard_to_qmk.md
+++ b/docs/porting_your_keyboard_to_qmk.md
@@ -4,52 +4,51 @@ This page describes the support for [Compatible Microcontrollers](compatible_mic
If you have not yet you should read the [Keyboard Guidelines](hardware_keyboard_guidelines) to get a sense of how keyboards fit into QMK.
-
QMK has a number of features to simplify working with keyboards. For most, you don't have to write a single line of code. To get started, run `qmk new-keyboard`:
```
$ qmk new-keyboard
Ψ Generating a new QMK keyboard directory
-Name Your Keyboard Project
-For more infomation, see:
-https://docs.qmk.fm/hardware_keyboard_guidelines#naming-your-keyboardproject
-
-keyboard Name? mycoolkeeb
-
-Attribution
-Used for maintainer, copyright, etc
-
-Your GitHub Username? [jsmith]
-
-More Attribution
-Used for maintainer, copyright, etc
-
-Your Real Name? [John Smith]
-
-Pick Base Layout
-As a starting point, one of the common layouts can be used to bootstrap the process
-
-Default Layout?
- 1. 60_ansi
-...
- 50. tkl_iso
- 51. none of the above
-Please enter your choice: [51]
-
-What Powers Your Project
-For more infomation, see:
-https://docs.qmk.fm/#/compatible_microcontrollers
-
-MCU?
- 1. atmega32u4
-...
- 22. STM32F303
-Please enter your choice: [12]
+Ψ Name Your Keyboard Project
+Ψ For more information, see:
+https://docs.qmk.fm/hardware_keyboard_guidelines#naming-your-keyboard-project
+Keyboard Name? mycoolkeeb
+Ψ Attribution
+Ψ Used for maintainer, copyright, etc.
+Your GitHub Username? [jsmith]
+Ψ More Attribution
+Ψ Used for maintainer, copyright, etc.
+Your Real Name? [John Smith]
+Ψ Pick Base Layout
+Ψ As a starting point, one of the common layouts can be used to
+bootstrap the process
+Default Layout?
+ 1. 60_abnt2
+ ...
+ 65. none of the above
+Please enter your choice: [65]
+Ψ What Powers Your Project
+Ψ Is your board using a separate development board, such as a Pro Micro,
+or is the microcontroller integrated onto the PCB?
+
+For more information, see:
+https://docs.qmk.fm/compatible_microcontrollers
+Using a Development Board? [y/n] y
+Ψ Select Development Board
+Ψ For more information, see:
+https://docs.qmk.fm/compatible_microcontrollers
+Development Board?
+ 1. bit_c_pro
+ ...
+ 14. promicro
+ ...
+ 18. svlinky
+Please enter your choice: [14]
Ψ Created a new keyboard called mycoolkeeb.
-Ψ To start working on things, `cd` into keyboards/mycoolkeeb,
-Ψ or open the directory in your preferred text editor.
-Ψ And build with qmk compile -kb mycoolkeeb -km default.
+Ψ Build Command: qmk compile -kb mycoolkeeb -km default.
+Ψ Project Location: /Users/jsmith/qmk_firmware/keyboards/mycoolkeeb.
+Ψ Now update the config files to match the hardware!
```
This will create all the files needed to support your new keyboard, and populate the settings with default values. Now you just need to customize it for your keyboard.
@@ -58,13 +57,13 @@ This will create all the files needed to support your new keyboard, and populate
This is where you'll describe your keyboard. Please follow the [Keyboard Readme Template](documentation_templates#keyboard-readmemd-template) when writing your `readme.md`. You're encouraged to place an image at the top of your `readme.md`, please use an external service such as [Imgur](https://imgur.com) to host the images.
-## `info.json`
+## `keyboard.json`
-The `info.json` file is where you configure the hardware and feature set for your keyboard. There are a lot of options that can be placed in that file, too many to list here. For a complete overview of available options see the [Data Driven Configuration Options](reference_info_json) page.
+The `keyboard.json` file is where you configure the hardware and feature set for your keyboard. There are a lot of options that can be placed in that file, too many to list here. For a complete overview of available options see the [Data Driven Configuration Options](reference_info_json) page.
### Hardware Configuration
-At the top of the `info.json` you'll find USB related settings. These control how your keyboard appears to the Operating System. If you don't have a good reason to change you should leave the `usb.vid` as `0xFEED`. For the `usb.pid` you should pick a number that is not yet in use.
+At the top of the `keyboard.json` you'll find USB related settings. These control how your keyboard appears to the Operating System. If you don't have a good reason to change you should leave the `usb.vid` as `0xFEED`. For the `usb.pid` you should pick a number that is not yet in use.
Do change the `manufacturer` and `keyboard_name` lines to accurately reflect your keyboard.
@@ -82,10 +81,11 @@ Do change the `manufacturer` and `keyboard_name` lines to accurately reflect you
Windows and macOS will display the `manufacturer` and `keyboard_name` in the list of USB devices. `lsusb` on Linux instead prefers the values in the list maintained by the [USB ID Repository](http://www.linux-usb.org/usb-ids.html). By default, it will only use `manufacturer` and `keyboard_name` if the list does not contain that `usb.vid` / `usb.pid`. `sudo lsusb -v` will show the values reported by the device, and they are also present in kernel logs after plugging it in.
:::
-
### Matrix Configuration
-The next section of the `info` file deals with your keyboard's matrix. The first thing you should define is which pins on your MCU are connected to rows and columns. To do so simply specify the names of those pins:
+The next section of the `keyboard.json` deals with your keyboard's matrix. The first thing you should define is which pins on your MCU are connected to rows and columns. To do so simply specify the names of those pins:
+
+#### Diode Matrix
```json
"matrix_pins": {
@@ -94,7 +94,7 @@ The next section of the `info` file deals with your keyboard's matrix. The first
},
```
-The size of the `matrix_pins.cols` and `matrix_pins.rows` arrays infer the size of the matrix (previously `MATRIX_ROWS` and `MATRIX_COLS`).
+The matrix dimensions are inferred from the length of the `matrix_pins.cols` and `matrix_pins.rows` arrays (previously specified explicitly in `config.h` with `MATRIX_ROWS` and `MATRIX_COLS`).
Finally, you can specify the direction your diodes point. This can be `COL2ROW` or `ROW2COL`.
@@ -103,54 +103,56 @@ Finally, you can specify the direction your diodes point. This can be `COL2ROW`
```
#### Direct Pin Matrix
-To configure a keyboard where each switch is connected to a separate pin and ground instead of sharing row and column pins, use `matrix_pins.direct`. The mapping defines the pins of each switch in rows and columns, from left to right. The size of the `matrix_pins.direct` array infers the size of the matrix. Use `NO_PIN` to fill in blank spaces. Overrides the behaviour of `diode_direction`, `matrix_pins.cols` and `matrix_pins.rows`.
+
+To configure a keyboard where each switch is connected to a separate pin and ground instead of sharing row and column pins, use `matrix_pins.direct`. This overrides the behaviour of `diode_direction`, `matrix_pins.cols` and `matrix_pins.rows`, and they should not be specified together.
```json
"matrix_pins": {
"direct": [
- ["F1", "E6", "B0", "B2", "B3" ],
- ["F5", "F0", "B1", "B7", "D2" ],
- ["F6", "F7", "C7", "D5", "D3" ],
- ["B5", "C6", "B6", "NO_PIN", "NO_PIN"]
+ ["F1", "E6", "B0", "B2", "B3"],
+ ["F5", "F0", "B1", "B7", "D2"],
+ ["F6", "F7", "C7", "D5", "D3"],
+ ["B5", "C6", "B6", null, null]
]
},
```
-### Layout macros
+Here, the matrix dimensions are inferred directly from the dimensions of the `matrix_pins.direct` array. Since there are no row or column pins to prescribe the matrix dimensions, you can arrange it however you like. Each "row" must contain the same number of "column"s; use `null` to fill in blank spaces, but try to minimize them.
+
+### Layout Macros
-Next is configuring Layout Macro(s). These define the physical arrangement of keys, and its position within the matrix that a switch are connected to. This allows you to have a physical arrangement of keys that differs from the wiring matrix.
+Next is configuring layout macro(s). These define the physical arrangement of keys, and their position within the matrix that switches are connected to. This allows you to have a physical arrangement of keys that differs from the wiring matrix.
```json
"layouts": {
"LAYOUT_ortho_4x4": {
"layout": [
- { "matrix": [0, 0], "x": 0, "y": 0 },
- { "matrix": [0, 1], "x": 1, "y": 0 },
- { "matrix": [0, 2], "x": 2, "y": 0 },
- { "matrix": [0, 3], "x": 3, "y": 0 },
- { "matrix": [1, 0], "x": 0, "y": 1 },
- { "matrix": [1, 1], "x": 1, "y": 1 },
- { "matrix": [1, 2], "x": 2, "y": 1 },
- { "matrix": [1, 3], "x": 3, "y": 1 },
- { "matrix": [2, 0], "x": 0, "y": 2 },
- { "matrix": [2, 1], "x": 1, "y": 2 },
- { "matrix": [2, 2], "x": 2, "y": 2 },
- { "matrix": [2, 3], "x": 3, "y": 2 },
- { "matrix": [3, 0], "x": 0, "y": 3 },
- { "matrix": [3, 1], "x": 1, "y": 3 },
- { "matrix": [3, 2], "x": 2, "y": 3 },
- { "matrix": [3, 3], "x": 3, "y": 3 }
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3}
]
}
}
-
```
-In the above example,
+In the above example,
* `LAYOUT_ortho_4x4` defines the name of the layout macro
- * It must conform to the [layout guidelines](hardware_keyboard_guidelines#ltkeyboard_namehgt)
-* `"matrix": [0, 0]` defines the electrical position
+ * It must conform to the [layout guidelines](hardware_keyboard_guidelines#keyboard-name-h)
+* `"matrix": [0, 0]` defines the matrix row and column that the key is associated with
::: tip
See also: [Split Keyboard Layout Macro](features/split_keyboard#layout-macro) and [Matrix to Physical Layout](understanding_qmk#matrix-to-physical-layout-map).
@@ -158,9 +160,10 @@ See also: [Split Keyboard Layout Macro](features/split_keyboard#layout-macro) an
## Additional Configuration
-There are a lot of features that can be turned on or off, configured or tuned. Some of these have yet to be migrated over to [Data Driven Configuration](data_driven_config). The following sections cover the process for when an `info.json` option is unavailable.
+There are a lot of features that can be turned on or off, configured or tuned. Some of these have yet to be migrated over to [Data Driven Configuration](data_driven_config). The following sections cover the process for when a data-driven option is unavailable.
### Configuration Options
+
For available options for `config.h`, you should see the [Config Options](config_options#the-configh-file) page for more details.
### Build Options
diff --git a/docs/pr_checklist.md b/docs/pr_checklist.md
index e0b0810aef7b..268e3b1b116a 100644
--- a/docs/pr_checklist.md
+++ b/docs/pr_checklist.md
@@ -2,7 +2,7 @@
This is a non-exhaustive checklist of what the QMK Collaborators will be checking when reviewing submitted PRs.
-If there are any inconsistencies with these recommendations, you're best off [creating an issue](https://github.com/qmk/qmk_firmware/issues/new) against this document, or getting in touch with a QMK Collaborator on [Discord](https://discord.gg/Uq7gcHh).
+If there are any inconsistencies with these recommendations, you're best off [creating an issue](https://github.com/qmk/qmk_firmware/issues/new) against this document, or getting in touch with a QMK Collaborator on [Discord](https://discord.gg/qmk).
## Requirements for all PRs
@@ -44,12 +44,14 @@ If there are any inconsistencies with these recommendations, you're best off [cr
Note that personal keymap submissions will no longer be accepted. This section applies to manufacturer-supported keymaps. Please see this [issue](https://github.com/qmk/qmk_firmware/issues/22724) for more information.
:::
-- PRs for vendor specific keymaps will be permitted. The naming convention for these should be `default_${vendor}`, `via_${vendor}` i.e. `via_clueboard`.
- - vendor specific keymaps do not necessarily need to be "vanilla" and can be more richly featured than `default` or `via` stock keymaps.
+- PRs for vendor specific keymaps will be permitted. The naming convention for these should be `default_${vendor}` i.e. `default_clueboard`.
+ - vendor specific keymaps do not necessarily need to be "vanilla" and can be more richly featured than `default` stock keymaps.
- `#include QMK_KEYBOARD_H` preferred to including specific board files
- prefer layer enums to #defines
- custom keycode enums must have first entry = `QK_USER`
- some care with spacing (e.g., alignment on commas or first char of keycodes) makes for a much nicer-looking keymap. Spaces are preferred to tabs
+- keymaps should not enable VIA
+ - keymaps targeting VIA support should be submitted to the [VIA QMK Userspace](https://github.com/the-via/qmk_userspace_via) repository
## Keyboard PRs
@@ -136,12 +138,12 @@ https://github.com/qmk/qmk_firmware/pulls?q=is%3Apr+is%3Aclosed+label%3Akeyboard
- `keymaps/default/keymap.c`
- `QMKBEST`/`QMKURL` example macros removed
- if using `MO(1)` and `MO(2)` keycodes together to access a third layer, the [Tri Layer](features/tri_layer) feature should be used, rather than manually implementing this using `layer_on/off()` and `update_tri_layer()` functions in the keymap's `process_record_user()`.
-- default (and via) keymaps should be "pristine"
+- default keymaps should be "pristine"
- bare minimum to be used as a "clean slate" for another user to develop their own user-specific keymap
- what does pristine mean? no custom keycodes. no advanced features like tap dance or macros. basic mod taps and home row mods would be acceptable where their use is necessary
- standard layouts preferred in these keymaps, if possible
- should use [encoder map feature](features/encoders#encoder-map), rather than `encoder_update_user()`
- - default keymap should not enable VIA -- the VIA integration documentation requires a keymap called `via`
+ - default keymap should not enable VIA -- keymaps targeting VIA support should be submitted to the [VIA QMK Userspace](https://github.com/the-via/qmk_userspace_via) repository
- submitters can add an example (or bells-and-whistles) keymap showcasing capabilities in the same PR but it shouldn't be embedded in the 'default' keymap
- submitters can also have a "manufacturer-matching" keymap that mirrors existing functionality of the commercial product, if porting an existing board
- Do not include VIA json files in the PR. These do not belong in the QMK repository as they are not used by QMK firmware -- they belong in the [VIA Keyboard Repo](https://github.com/the-via/keyboards)
@@ -174,7 +176,7 @@ Also, specific to ChibiOS:
- all core PRs must now target `develop` branch, which will subsequently be merged back to `master` on the breaking changes timeline
- as indicated above, the smallest set of changes to core components should be included in each PR
- PRs containing multiple areas of change will be asked to be split up and raised separately
- - keyboard and keymap changes should only be included if they affect base keyboard builds, or the default-like `default`, `via`, `default_????` keymaps etc.
+ - keyboard and keymap changes should only be included if they affect base keyboard builds, or the default-like `default`, `default_????` keymaps etc.
- keymap modifications for anything other than the default-like keymaps **should not be included in the initial PR** in order to simplify the review process
- the core PR submitter should submit a followup PR affecting other keymaps after initial PR merge
- large-scale refactoring or consolidation PRs that affect other keymaps (such as renaming keycodes) should always be raised separately
diff --git a/docs/quantum_painter.md b/docs/quantum_painter.md
index 1d844d0f942f..782d496ff7d1 100644
--- a/docs/quantum_painter.md
+++ b/docs/quantum_painter.md
@@ -28,6 +28,8 @@ Supported devices:
| ILI9341 | RGB LCD | 240x320 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9341_spi` |
| ILI9486 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9486_spi` |
| ILI9488 | RGB LCD | 320x480 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ili9488_spi` |
+| LD7032 (SPI) | Monochrome OLED | 128x40 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ld7032_spi` |
+| LD7032 (I2C) | Monochrome OLED | 128x40 | I2C | `QUANTUM_PAINTER_DRIVERS += ld7032_i2c` |
| SSD1351 | RGB OLED | 128x128 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += ssd1351_spi` |
| ST7735 | RGB LCD | 132x162, 80x160 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7735_spi` |
| ST7789 | RGB LCD | 240x320, 240x240 | SPI + D/C + RST | `QUANTUM_PAINTER_DRIVERS += st7789_spi` |
@@ -478,6 +480,40 @@ Native color format mono2 is compatible with SH1106
SSD1306 and SH1106 are almost entirely identical, to the point of being indisinguishable by Quantum Painter. Enable SH1106 support in Quantum Painter and create SH1106 devices in firmware to perform drawing operations on SSD1306 displays.
+==== LD7032
+
+Enabling support for the LD7032 in Quantum Painter is done by adding the following to `rules.mk`:
+
+```make
+QUANTUM_PAINTER_ENABLE = yes
+# For SPI:
+QUANTUM_PAINTER_DRIVERS += ld7032_spi
+# For I2C:
+QUANTUM_PAINTER_DRIVERS += ld7032_i2c
+```
+
+Creating a SH1106 device in firmware can then be done with the following APIs:
+
+```c
+// SPI-based LD7032:
+painter_device_t qp_ld7032_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode);
+// I2C-based LD7032:
+painter_device_t qp_ld7032_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address);
+```
+
+The device handle returned from the `qp_ld7032_make_???_device` function can be used to perform all other drawing operations.
+
+The maximum number of displays of each type can be configured by changing the following in your `config.h` (default is 1):
+
+```c
+// 3 SPI displays:
+#define LD7032_NUM_SPI_DEVICES 3
+// 3 I2C displays:
+#define LD7032_NUM_I2C_DEVICES 3
+```
+
+Native color format mono2 is compatible with LD7032.
+
:::::
===== Surface
diff --git a/docs/ref_functions.md b/docs/ref_functions.md
index 577273c05d34..599515ebc1e1 100644
--- a/docs/ref_functions.md
+++ b/docs/ref_functions.md
@@ -69,7 +69,7 @@ layer_state_t layer_state_set_user(layer_state_t state) {
Do you want to set the default layer, so that it's retained even after you unplug the board? If so, this is the function for you.
-To use this, you would use `set_single_persistent_default_layer(layer)`. If you have a name defined for your layer, you can use that instead (such as _QWERTY, _DVORAK or _COLEMAK).
+To do this, you would use `set_single_persistent_default_layer(layer)`. If you have a name defined for your layer, you can use that instead (such as _QWERTY, _DVORAK or _COLEMAK).
This will set the default layer, update the persistent settings, and play a tune if you have [Audio](features/audio) enabled on your board, and the default layer sounds set.
@@ -82,6 +82,8 @@ To configure the default layer sounds, you would want to define this in your `co
}
```
+If you do not require it to be retained after you unplug the board, use `set_single_default_layer(layer)` instead.
+
::: tip
There are a large number of predefined songs in [quantum/audio/song_list.h](https://github.com/qmk/qmk_firmware/blob/master/quantum/audio/song_list.h) that you can use.
@@ -99,7 +101,7 @@ To reset to the bootloader use `QK_BOOTLOADER` or `QK_BOOT` keycode or `reset_ke
## Wiping the EEPROM (Persistent Storage)
-If you're having issues with Audio, RGB Underglow, backlighting or keys acting weird, then you can reset the EEPROM (persistent setting storage). To force an EEPROM reset, use the [`EE_CLR` keycode](quantum_keycodes) or [Bootmagic Lite](features/bootmagic) functionality. If neither of those are an option, then you can use a custom macro to do so.
+If you're having issues with Audio, RGB Underglow, backlighting or keys acting weird, then you can reset the EEPROM (persistent setting storage). To force an EEPROM reset, use the [`EE_CLR` keycode](quantum_keycodes) or [Bootmagic](features/bootmagic) functionality. If neither of those are an option, then you can use a custom macro to do so.
To wipe the EEPROM, run `eeconfig_init()` from your function or macro to reset most of the settings to default.
diff --git a/docs/reference_configurator_support.md b/docs/reference_configurator_support.md
index dffed5c0c349..d0824c7705eb 100644
--- a/docs/reference_configurator_support.md
+++ b/docs/reference_configurator_support.md
@@ -156,25 +156,25 @@ For more on the `info.json` files, see [`info.json` Format](reference_info_json)
The Configurator's API uses the layout macro and the JSON file we've given it to create a visual representation of the keyboard that has each visual object tied to a specific key, in sequence:
-key in layout macro | JSON object used
-:---: | :----
-k00 | {"label":"Num Lock", "x":0, "y":0}
-k01 | {"label":"/", "x":1, "y":0}
-k02 | {"label":"*", "x":2, "y":0}
-k03 | {"label":"-", "x":3, "y":0}
-k10 | {"label":"7", "x":0, "y":1}
-k11 | {"label":"8", "x":1, "y":1}
-k12 | {"label":"9", "x":2, "y":1}
-k13 | {"label":"+", "x":3, "y":1, "h":2}
-k20 | {"label":"4", "x":0, "y":2}
-k21 | {"label":"5", "x":1, "y":2}
-k22 | {"label":"6", "x":2, "y":2}
-k30 | {"label":"1", "x":0, "y":3}
-k31 | {"label":"2", "x":1, "y":3}
-k32 | {"label":"3", "x":2, "y":3}
-k33 | {"label":"Enter", "x":3, "y":3, "h":2}
-k40 | {"label":"0", "x":0, "y":4, "w":2}
-k42 | {"label":".", "x":2, "y":4}
+| Key in layout macro | JSON object used |
+| ------------------- | ---------------------------------------- |
+| k00 | `{"label":"Num Lock", "x":0, "y":0}` |
+| k01 | `{"label":"/", "x":1, "y":0}` |
+| k02 | `{"label":"*", "x":2, "y":0}` |
+| k03 | `{"label":"-", "x":3, "y":0}` |
+| k10 | `{"label":"7", "x":0, "y":1}` |
+| k11 | `{"label":"8", "x":1, "y":1}` |
+| k12 | `{"label":"9", "x":2, "y":1}` |
+| k13 | `{"label":"+", "x":3, "y":1, "h":2}` |
+| k20 | `{"label":"4", "x":0, "y":2}` |
+| k21 | `{"label":"5", "x":1, "y":2}` |
+| k22 | `{"label":"6", "x":2, "y":2}` |
+| k30 | `{"label":"1", "x":0, "y":3}` |
+| k31 | `{"label":"2", "x":1, "y":3}` |
+| k32 | `{"label":"3", "x":2, "y":3}` |
+| k33 | `{"label":"Enter", "x":3, "y":3, "h":2}` |
+| k40 | `{"label":"0", "x":0, "y":4, "w":2}` |
+| k42 | `{"label":".", "x":2, "y":4}` |
When a user selects the top-left key in the Configurator, and assigns Num Lock to it, the Configurator builds a keymap file with `KC_NUM` as the first key, and so on as the keymap is built. The `label` keys are not used; they are only for the user's reference in identifying specific keys when debugging the `info.json` file.
diff --git a/docs/reference_info_json.md b/docs/reference_info_json.md
index 2db2cd14277a..99ff7b1f7a33 100644
--- a/docs/reference_info_json.md
+++ b/docs/reference_info_json.md
@@ -6,51 +6,51 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/String Required
* A free-form text string describing the keyboard. This will be used as the USB product string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ).
* Example: `"Clueboard 66%"`
-* `maintainer` (Required)
+* `maintainer` String Required
* GitHub username of the maintainer, or `qmk` for community maintained boards.
* Example: `"skullydazed"`
-* `manufacturer` (Required)
+* `manufacturer` String Required
* A free-form text string describing the keyboard's manufacturer. This will be used as the USB manufacturer string. Can include Unicode characters, escaped to ASCII eg. `\u03A8` (Ψ).
* Example: `"Clueboard"`
-* `url` (Required)
- * A URL to the keyboard's product page, [QMK.fm/keyboards](https://qmk.fm/keyboards) page, or other page describing information about the keyboard.
+* `url` String Required
+ * A URL to the keyboard's product page, [QMK Keyboards](https://browse.qmk.fm/) page, or other page describing information about the keyboard.
* Example: `"https://clueboard.co"`
-* `bootloader_instructions`
+* `bootloader_instructions` String
* Instructions for putting the keyboard into a mode that allows for firmware flashing.
* Example: `"Press the button marked RESET on the back of the PCB"`
-* `tags`
+* `tags` Array: String
* A list of tags describing the keyboard.
* Example: `["ortho", "split", "rgb"]`
## Hardware Configuration {#hardware-configuration}
-* `board`
+* `board` String
* Override the default ChibiOS board name (ARM-based keyboards only).
* Example: `"BLACKPILL_STM32_F411"`
-* `bootloader`
+* `bootloader` String
* The bootloader in use on the keyboard. Required if `development_board` is not specified.
-* `development_board`
+* `development_board` String
* The microcontroller development board, if applicable.
* Example: `"promicro"`
-* `pin_compatible`
+* `pin_compatible` String
* The form factor of the development board, if applicable. Must be one of `elite_c`, `promicro`.
-* `processor`
+* `processor` String
* The microcontroller in use on the keyboard. Required if `development_board` is not specified.
## Firmware Configuration {#firmware-configuration}
* `build`
- * `debounce_type`
+ * `debounce_type`String
* The debounce algorithm to use. Must be one of `asym_eager_defer_pk`, `custom`, `sym_defer_g`, `sym_defer_pk`, `sym_defer_pr`, `sym_eager_pk`, `sym_eager_pr`.
- * `firmware_format`
+ * `firmware_format`String
* The format of the final output binary. Must be one of `bin`, `hex`, `uf2`.
- * `lto`
+ * `lto`Boolean
* Enable Link-Time Optimization.
* Default: `false`
-* `features`
+* `features`Object: Boolean
* A dictionary of features to enable or disable.
* Example:
```json
@@ -61,36 +61,36 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/Boolean
* Enable locking switch support.
* Default: `false`
- * `resync`
+ * `resync` Boolean
* Keep switch state consistent with keyboard LED state.
* Default: `false`
- * `tap_capslock_delay`
+ * `tap_capslock_delay` Number
* The delay between keydown and keyup for Caps Lock tap events in milliseconds.
* Default: `80` (80 ms)
- * `tap_keycode_delay`
+ * `tap_keycode_delay` Number
* The delay between keydown and keyup for tap events in milliseconds.
* Default: `0` (no delay)
* `tapping`
- * `hold_on_other_key_press`
+ * `hold_on_other_key_press` Boolean
* Default: `false`
- * `hold_on_other_key_press_per_key`
+ * `hold_on_other_key_press_per_key` Boolean
* Default: `false`
- * `permissive_hold`
+ * `permissive_hold` Boolean
* Default: `false`
- * `permissive_hold_per_key`
+ * `permissive_hold_per_key` Boolean
* Default: `false`
- * `retro`
+ * `retro` Boolean
* Default: `false`
- * `retro_per_key`
+ * `retro_per_key` Boolean
* Default: `false`
- * `term`
+ * `term` Number
* Default: `200` (200 ms)
- * `term_per_key`
+ * `term_per_key` Boolean
* Default: `false`
- * `toggle`
+ * `toggle` Number
* Default: `5`
## APA102 {#apa102}
@@ -98,11 +98,11 @@ You can create `info.json` files at every level under `qmk_firmware/keyboards/Pin Required
* The GPIO pin connected to `CI` on the first LED in the chain.
- * `data_pin` (Required)
+ * `data_pin` Pin Required
* The GPIO pin connected to `DI` on the first LED in the chain.
- * `default_brightness`
+ * `default_brightness` Number
* The initial global brightness level (independent of the RGB data), from 0 to 31.
* Default: `31`
@@ -112,26 +112,26 @@ Configures the [Audio](features/audio) feature.
* `audio`
* `default`
- * `on`
+ * `on` Boolean
* The default audio enabled state.
* Default: `true`
- * `clicky`
+ * `clicky` Boolean
* The default audio clicky enabled state.
* Default: `true`
- * `driver`
+ * `driver` String
* The driver to use. Must be one of `dac_additive`, `dac_basic`, `pwm_software`, `pwm_hardware`.
- * `macro_beep`
+ * `macro_beep` Boolean
* Play a short beep for `\a` (ASCII `BEL`) characters in Send String macros.
* Default: `false`
- * `pins` (Required)
+ * `pins` Array: Pin Required
* The GPIO pin(s) connected to the speaker(s).
* `power_control`
- * `on_state`
+ * `on_state` 0|1
* The logical GPIO state required to turn the speaker on.
* Default: `1` (on = high)
- * `pin`
+ * `pin` Pin
* The GPIO pin connected to speaker power circuit.
- * `voices`
+ * `voices` Boolean
* Use multiple audio voices.
* Default: `false`
@@ -141,48 +141,48 @@ Configures the [Audio](features/audio) feature.
Configures the [Backlight](features/backlight) feature.
* `backlight`
- * `as_caps_lock`
+ * `as_caps_lock` Boolean
* Use the backlight as a Caps Lock indicator.
* Default: `false`
- * `breathing`
+ * `breathing` Boolean
* Whether backlight breathing is enabled.
* Default: `false`
- * `breathing_period`
+ * `breathing_period` Number
* The length of one backlight breathing cycle in seconds.
* Default: `6` (6 seconds)
* `default`
- * `on`
+ * `on` Boolean
* The default backlight enabled state.
* Default: `true`
- * `breathing`
+ * `breathing` Boolean
* The default backlight breathing state.
* Default: `false`
- * `brightness`
+ * `brightness` Number
* The default brightness level.
* Default: `max_brightness`
- * `driver`
+ * `driver` String
* The driver to use. Must be one of `custom`, `pwm`, `software`, `timer`.
* Default: `"pwm"`
- * `levels`
+ * `levels` Number
* The number of brightness levels (excluding off), from 1 to 31.
* Default: `3`
- * `max_brightness`
+ * `max_brightness` Number
* The maximum PWM value which brightness is scaled to, from 0 to 255.
* Default: `255`
- * `on_state`
+ * `on_state` 0|1
* The logical GPIO state required to turn the LEDs on.
* Default: `1` (on = high)
- * `pin`
+ * `pin` Pin
* The GPIO pin connected to the backlight circuit.
- * `pins`
+ * `pins` Array: Pin
* A list of GPIO pins connected to the backlight LEDs (`software` and `timer` drivers only).
-## Bluetooth {#bluetooth}
+## Wireless/Bluetooth {#bluetooth}
-Configures the [Bluetooth](features/bluetooth) feature.
+Configures the [Wireless](features/wireless) feature.
* `bluetooth`
- * `driver`
+ * `driver` String
* The driver to use. Must be one of `custom`, `bluefruit_le`, `rn42`.
## Bootmagic {#bootmagic}
@@ -190,10 +190,10 @@ Configures the [Bluetooth](features/bluetooth) feature.
Configures the [Bootmagic](features/bootmagic) feature.
* `bootmagic`
- * `enabled`
+ * `enabled` Boolean
* Enables the Bootmagic feature.
* Default: `false`
- * `matrix`
+ * `matrix` Matrix
* The matrix position of the key to check during startup. This should generally be set to the (physically) top left key.
* Default: `[0, 0]`
@@ -202,19 +202,19 @@ Configures the [Bootmagic](features/bootmagic) feature.
Configures the [Caps Word](features/caps_word) feature.
* `caps_word`
- * `both_shifts_turns_on`
+ * `both_shifts_turns_on` Boolean
* Activate Caps Word by pressing both Shift keys.
* Default: `false`
- * `double_tap_shift_turns_on`
+ * `double_tap_shift_turns_on` Boolean
* Activate Caps Word by pressing Left Shift twice.
* Default: `false`
- * `enabled`
+ * `enabled` Boolean
* Enables the Caps Word feature.
* Default: `false`
- * `idle_timeout`
+ * `idle_timeout` Number
* The amount of time before Caps Word automatically deactivates in milliseconds.
* Default: `5000` (5 seconds)
- * `invert_on_shift`
+ * `invert_on_shift` Boolean
* Invert shift state instead of deactivating Caps Word when Shift is pressed.
* Default: `false`
@@ -223,7 +223,7 @@ Configures the [Caps Word](features/caps_word) feature.
Configures the [Combo](features/combo) feature.
* `combo`
- * `term`
+ * `term` Number
* The amount of time to recognize a combo in milliseconds.
* Default: `50` (50 ms)
@@ -232,12 +232,12 @@ Configures the [Combo](features/combo) feature.
Configures the [DIP Switches](features/dip_switch) feature.
* `dip_switch`
- * `enabled`
+ * `enabled` Boolean
* Enable the DIP Switches feature.
* Default: `false`
- * `pins`
+ * `pins` Array: Pin
* A list of GPIO pins connected to the MCU.
- * `matrix_grid`
+ * `matrix_grid` Array: Matrix
* A list of matrix locations in the key matrix.
* Example: `[ [0,6], [1,6], [2,6] ]`
@@ -246,15 +246,15 @@ Configures the [DIP Switches](features/dip_switch) feature.
Configures the [EEPROM](drivers/eeprom) driver.
* `eeprom`
- * `driver`
+ * `driver` String
* The EEPROM backend to use. Must be one of `custom`, `i2c`, `legacy_stm32_flash`, `spi`, `transient`, `vendor`, `wear_leveling`.
* Default: `"vendor"`
* `wear_leveling`
- * `driver`
+ * `driver` String
* The driver to use. Must be one of `embedded_flash`, `legacy`, `rp2040_flash`, `spi_flash`, `custom`.
- * `backing_size`
+ * `backing_size` Number
* Number of bytes used by the wear-leveling algorithm for its underlying storage, and needs to be a multiple of the logical size.
- * `logical_size`
+ * `logical_size` Number
* Number of bytes “exposed” to the rest of QMK and denotes the size of the usable EEPROM.
## Encoder {#encoder}
@@ -262,13 +262,13 @@ Configures the [EEPROM](drivers/eeprom) driver.
Configures the [Encoder](features/encoders) feature.
* `encoder`
- * `rotary`
+ * `rotary` Array: Object
* A list of encoder objects.
- * `pin_a` (Required)
+ * `pin_a` Pin Required
* The GPIO pin connected to the encoder's `A` pin.
- * `pin_b` (Required)
+ * `pin_b` Pin Required
* The GPIO pin connected to the encoder's `B` pin.
- * `resolution`
+ * `resolution` Number
* The number of edge transitions on both pins required to register an input.
* Default: `4`
@@ -277,18 +277,18 @@ Configures the [Encoder](features/encoders) feature.
Configures the [LED Indicators](features/led_indicators) feature.
* `indicators`
- * `caps_lock`
+ * `caps_lock` Pin
* The GPIO pin connected to the Caps Lock LED.
- * `compose`
+ * `compose` Pin
* The GPIO pin connected to the Compose LED.
- * `kana`
+ * `kana` Pin
* The GPIO pin connected to the Kana LED.
- * `num_lock`
+ * `num_lock` Pin
* The GPIO pin connected to the Num Lock LED.
- * `on_state`
+ * `on_state` 0|1
* The logical GPIO state required to turn the LEDs on.
* Default: `1` (on = high)
- * `scroll_lock`
+ * `scroll_lock` Pin
* The GPIO pin connected to the Scroll Lock LED.
## Layouts {#layouts}
@@ -301,10 +301,10 @@ All key positions and rotations are specified in relation to the top-left corner
The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize info.json layout data (such as `qmk info -l` and the QMK Configurator) should display this key as expected.
-* `community_layouts`
+* `community_layouts` Array: String
* A list of community layouts supported by the keyboard.
* Example: `["60_ansi", "60_iso"]`
-* `layout_aliases`
+* `layout_aliases` Object: String
* A mapping of layout aliases to layout definitions.
* Example:
```json
@@ -313,34 +313,34 @@ The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize in
"LAYOUT_iso": "LAYOUT_60_iso"
}
```
-* `layouts`
+* `layouts` Object
* A dictionary of layouts supported by the keyboard.
- * `LAYOUT_`
- * `layout`
+ * `LAYOUT_` Object
+ * `layout` Array: Object
* A list of key dictionaries comprising the layout. Each key dictionary contains:
- * `matrix` (Required)
+ * `matrix` Matrix Required
* The matrix position for the key.
* Example: `[0, 4]` (row 0, column 4)
- * `x` (Required)
+ * `x` KeyUnit Required
* The absolute position of the key in the horizontal axis, in key units.
- * `y` (Required)
+ * `y` KeyUnit Required
* The absolute position of the key in the vertical axis, in key units.
- * `h`
+ * `h` KeyUnit
* The height of the key, in key units.
* Default: `1` (1u)
- * `label`
+ * `label` String
* What to name the key. This is *not* a key assignment as in the keymap, but should usually correspond to the keycode for the first layer of the default keymap.
* Example: `"Escape"`
- * `r`
+ * `r` Number
* The rotation angle in degrees. Currently not implemented.
- * `rx`
+ * `rx` Number
* The absolute X position of the rotation axis. Currently not implemented.
- * `ry`
+ * `ry` Number
* The absolute Y position of the rotation axis. Currently not implemented.
- * `w`
+ * `w` KeyUnit
* The width of the key, in key units.
* Default: `1` (1u)
- * `encoder`
+ * `encoder` Number
* The index of an encoder this key should be linked to
* Example: `{"label": "Shift", "matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25}`
@@ -349,13 +349,13 @@ The ISO enter key is represented by a 1.25u×2uh key. Renderers which utilize in
Configures the [Leader Key](features/leader_key) feature.
* `leader_key`
- * `timing`
+ * `timing` Boolean
* Reset the `timeout` on each keypress.
* Default: `false`
- * `strict_processing`
+ * `strict_processing` Boolean
* Do not extract the tap keycodes from Layer-Tap and Mod-Tap key events.
* Default: `false`
- * `timeout`
+ * `timeout` Number
* The amount of time to complete a leader sequence in milliseconds.
* Default: `300` (300 ms)
@@ -364,7 +364,7 @@ Configures the [Leader Key](features/leader_key) feature.
Configures the [LED Matrix](features/led_matrix) feature.
* `led_matrix`
- * `animations`
+ * `animations` Object: Boolean
* A dictionary of effects to enable or disable. Effects which are absent default to `false`.
* Example:
```json
@@ -374,82 +374,82 @@ Configures the [LED Matrix](features/led_matrix) feature.
"cycle_left_right": false
}
```
- * `center_point`
+ * `center_point` Array: Number
* The centroid (geometric center) of the LEDs. Used for certain effects.
* Default: `[112, 32]`
* `default`
- * `animation`
+ * `animation` String
* The default effect. Must be one of `led_matrix.animations`
* Default: `"solid"`
- * `on`
+ * `on` Boolean
* The default enabled state.
* Default: `true`
- * `val`
+ * `val` Number
* The default brightness level.
* Default: `max_brightness`
- * `speed`
+ * `speed` Number
* The default animation speed.
* Default: `128`
- * `driver` (Required)
+ * `driver` String Required
* The driver to use. Must be one of `custom`, `is31fl3218`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`.
- * `layout` (Required)
+ * `layout` Array: Object Required
* List of LED configuration dictionaries. Each dictionary contains:
- * `flags` (Required)
+ * `flags` Number Required
* A bitfield of flags describing the type of LED.
- * `x` (Required)
+ * `x` Number Required
* The position of the LED in the horizontal axis, from 0 to 224.
- * `y` (Required)
+ * `y` Number Required
* The position of the LED in the vertical axis, from 0 to 64.
- * `matrix`
+ * `matrix` Matrix
* The key matrix position associated with the LED.
* Example: `[0, 2]`
* Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}`
- * `led_flush_limit`
+ * `led_flush_limit` Number
* Limits in milliseconds how frequently an animation will update the LEDs.
* Default: `16`
- * `led_process_limit`
+ * `led_process_limit` Number
* Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness).
* Default: `led_count / 5`
- * `max_brightness`
+ * `max_brightness` Number
* The maximum value which brightness is scaled to, from 0 to 255.
* Default: `255`
- * `react_on_keyup`
+ * `react_on_keyup` Boolean
* Animations react to keyup instead of keydown.
* Default: `false`
- * `sleep`
+ * `sleep` Boolean
* Turn off the LEDs when the host goes to sleep.
* Default: `false`
- * `speed_steps`
+ * `speed_steps` Number
* The number of speed adjustment steps.
* Default: `16`
- * `split_count`
+ * `split_count` Array: Number
* For split keyboards, the number of LEDs on each half.
* Example: `[16, 16]`
- * `timeout`
+ * `timeout` Number
* The LED activity timeout in milliseconds.
* Default: `0` (no timeout)
- * `val_steps`
+ * `val_steps` Number
* The number of brightness adjustment steps.
* Default: `8`
## Matrix {#matrix}
-* `debounce`
+* `debounce` Number
* The debounce time in milliseconds.
* Default: `5` (5 ms)
-* `diode_direction`
+* `diode_direction` String
* Which way the diodes are "pointing". Unused for `matrix_pins.direct`. Must be one of `COL2ROW`, `ROW2COL`.
* `matrix_pins`
- * `cols`
+ * `cols` Array: Pin
* A list of GPIO pins connected to the matrix columns.
* Example: `["A0", "A1", "A2"]`
- * `custom`
+ * `custom` Boolean
* Whether to use a custom matrix scanning implementation.
* Default: `false`
- * `custom_lite`
+ * `custom_lite` Boolean
* Whether to use a "lite" custom matrix scanning implementation.
* Default: `false`
- * `direct`
+ * `direct` Array: Array: Pin
* A 2-dimensional list of GPIO pins connected to each keyswitch, forming the "matrix" rows and columns.
* Example:
```json
@@ -459,16 +459,16 @@ Configures the [LED Matrix](features/led_matrix) feature.
["C0", "C1", "C2"]
]
```
- * `ghost`
+ * `ghost` Boolean
* Whether the matrix has no anti-ghosting diodes.
* Default: `false`
- * `input_pressed_state`
+ * `input_pressed_state` 0|1
* The logical GPIO state of the input pins when a key is pressed.
* Default: `0` (pressed = low)
- * `io_delay`
+ * `io_delay` Number
* The amount of time to wait between row/col selection and col/row pin reading, in microseconds.
* Default: `30` (30 µs)
- * `rows`
+ * `rows` Array: Pin
* A list of GPIO pins connected to the matrix rows.
* Example: `["B0", "B1", "B2"]`
@@ -477,23 +477,23 @@ Configures the [LED Matrix](features/led_matrix) feature.
Configures the [Mouse Keys](features/mouse_keys) feature.
* `mouse_key`
- * `delay`
- * `enabled`
+ * `delay` Number
+ * `enabled` Boolean
* Enables the Mouse Keys feature.
* Default: `false`
- * `interval`
- * `max_speed`
- * `time_to_max`
- * `wheel_delay`
+ * `interval` Number
+ * `max_speed` Number
+ * `time_to_max` Number
+ * `wheel_delay` Number
## One Shot {#one-shot}
Configures [One Shot keys](one_shot_keys).
* `oneshot`
- * `tap_toggle`
+ * `tap_toggle` Number
* The number of times to tap the key in order to hold it.
- * `timeout`
+ * `timeout` Number
* The amount of time before the key is released in milliseconds.
## PS/2 {#ps2}
@@ -501,30 +501,30 @@ Configures [One Shot keys](one_shot_keys).
Configures the [PS/2](features/ps2_mouse) feature.
* `ps2`
- * `clock_pin`
+ * `clock_pin` Pin
* The GPIO pin connected to `CLK` on the PS/2 device.
- * `data_pin`
+ * `data_pin` Pin
* The GPIO pin connected to `DATA` on the PS/2 device.
- * `driver`
+ * `driver` String
* The PS/2 driver to use. Must be one of `busywait`, `interrupt`, `usart`, `vendor`.
* Default: `"busywait"`
- * `enabled`
+ * `enabled` Boolean
* Enable the PS/2 feature.
* Default: `false`
- * `mouse_enabled`
+ * `mouse_enabled` Boolean
* Enable the PS/2 mouse handling.
* Default: `false`
## QMK LUFA Bootloader {#qmk-lufa-bootloader}
* `qmk_lufa_bootloader`
- * `esc_input` (Required)
+ * `esc_input` Pin Required
* The GPIO pin connected to the designated "exit bootloader" key's row (if `COL2ROW`).
- * `esc_output` (Required)
+ * `esc_output` Pin Required
* The GPIO pin connected to the designated "exit bootloader" key's column (if `COL2ROW`).
- * `led`
+ * `led` Pin
* The GPIO pin connected to an LED to flash.
- * `speaker`
+ * `speaker` Pin
* The GPIO pin connected to a speaker to click (can also be used for a second LED).
## RGBLight {#rgblight}
@@ -532,9 +532,9 @@ Configures the [PS/2](features/ps2_mouse) feature.
Configures the [RGB Lighting](features/rgblight) feature.
* `rgblight`
- * `led_count` (Required)
+ * `led_count` Number Required
* The number of LEDs in the chain.
- * `animations`
+ * `animations` Object: Boolean
* A dictionary of effects to enable or disable. Effects which are absent default to `false`.
* Example:
```json
@@ -544,60 +544,60 @@ Configures the [RGB Lighting](features/rgblight) feature.
"snake": false
}
```
- * `brightness_steps`
+ * `brightness_steps` Number
* The number of brightness adjustment steps.
* Default: `17`
* `default`
- * `animation`
+ * `animation` String
* The default effect. Must be one of `rgblight.animations`
* Default: `"static_light"`
- * `on`
+ * `on` Boolean
* The default enabled state.
* Default: `true`
- * `hue`
+ * `hue` Number
* The default hue value.
* Default: `0`
- * `sat`
+ * `sat` Number
* The default saturation value.
* Default: `255`
- * `val`
+ * `val` Number
* The default brightness level.
* Default: `max_brightness`
- * `speed`
+ * `speed` Number
* The default animation speed.
* Default: `0`
- * `driver`
+ * `driver` String
* The driver to use. Must be one of `apa102`, `custom`, `ws2812`.
* Default: `"ws2812"`
- * `hue_steps`
+ * `hue_steps` Number
* The number of hue adjustment steps.
* Default: `8`
* `layers`
- * `blink`
+ * `blink` Boolean
* Enable layer blinking API.
* Default: `false`
- * `enabled`
+ * `enabled` Boolean
* Enable RGB Lighting Layers.
* Default: `false`
- * `max`
+ * `max` Number
* The maximum layer count, from 1 to 32.
* Default: `8`
- * `led_map`
+ * `led_map` Array: Number
* Remap LED indices.
* Example: `[4, 3, 2, 1, 0]`
- * `max_brightness`
+ * `max_brightness` Number
* The maximum value which the HSV "V" component is scaled to, from 0 to 255.
* Default: `255`
- * `saturation_steps`
+ * `saturation_steps` Number
* The number of saturation adjustment steps.
* Default: `17`
- * `sleep`
+ * `sleep` Boolean
* Turn off the LEDs when the host goes to sleep.
* Default: `false`
- * `split`
+ * `split` Boolean
* Enable synchronization between split halves.
* Default: `false`
- * `split_count`
+ * `split_count` Array: Number
* When `rgblight.split` is enabled, the number of LEDs on each half.
* Example: `[10, 10]`
@@ -606,7 +606,7 @@ Configures the [RGB Lighting](features/rgblight) feature.
Configures the [RGB Matrix](features/rgb_matrix) feature.
* `rgb_matrix`
- * `animations`
+ * `animations` Object: Boolean
* A dictionary of effects to enable or disable. Effects which are absent default to `false`.
* Example:
```json
@@ -616,73 +616,73 @@ Configures the [RGB Matrix](features/rgb_matrix) feature.
"cycle_left_right": false
}
```
- * `center_point`
+ * `center_point` Array: Number
* The centroid (geometric center) of the LEDs. Used for certain effects.
* Default: `[112, 32]`
* `default`
- * `animation`
+ * `animation` String
* The default effect. Must be one of `rgb_matrix.animations`
* Default: `"solid_color"`
- * `on`
+ * `on` Boolean
* The default enabled state.
* Default: `true`
- * `hue`
+ * `hue` Number
* The default hue value.
* Default: `0`
- * `sat`
+ * `sat` Number
* The default saturation value.
* Default: `255`
- * `val`
+ * `val` Number
* The default brightness level.
* Default: `max_brightness`
- * `speed`
+ * `speed` Number
* The default animation speed.
* Default: `128`
- * `driver` (Required)
+ * `driver` String Required
* The driver to use. Must be one of `aw20216s`, `custom`, `is31fl3218`, `is31fl3236`, `is31fl3729`, `is31fl3731`, `is31fl3733`, `is31fl3736`, `is31fl3737`, `is31fl3741`, `is31fl3742a`, `is31fl3743a`, `is31fl3745`, `is31fl3746a`, `snled27351`, `ws2812`.
- * `hue_steps`
+ * `hue_steps` Number
* The number of hue adjustment steps.
* Default: `8`
- * `layout` (Required)
+ * `layout` Array: Object Required
* List of LED configuration dictionaries. Each dictionary contains:
- * `flags` (Required)
+ * `flags` Number Required
* A bitfield of flags describing the type of LED.
- * `x` (Required)
+ * `x` Number Required
* The position of the LED in the horizontal axis, from 0 to 224.
- * `y` (Required)
+ * `y` Number Required
* The position of the LED in the vertical axis, from 0 to 64.
- * `matrix`
+ * `matrix` Matrix
* The key matrix position associated with the LED.
* Example: `[0, 2]`
* Example: `{"matrix": [2, 1], "x": 20, "y": 48, "flags": 2}`
- * `led_flush_limit`
+ * `led_flush_limit` Number
* Limits in milliseconds how frequently an animation will update the LEDs.
* Default: `16`
- * `led_process_limit`
+ * `led_process_limit` Number
* Limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness).
* Default: `led_count / 5`
- * `max_brightness`
+ * `max_brightness` Number
* The maximum value which the HSV "V" component is scaled to, from 0 to 255.
* Default: `255`
- * `react_on_keyup`
+ * `react_on_keyup` Boolean
* Animations react to keyup instead of keydown.
* Default: `false`
- * `sat_steps`
+ * `sat_steps` Number
* The number of saturation adjustment steps.
* Default: `16`
- * `sleep`
+ * `sleep` Boolean
* Turn off the LEDs when the host goes to sleep.
* Default: `false`
- * `speed_steps`
+ * `speed_steps` Number
* The number of speed adjustment steps.
* Default: `16`
- * `split_count`
+ * `split_count` Array: Number
* For split keyboards, the number of LEDs on each half.
* Example: `[16, 16]`
- * `timeout`
+ * `timeout` Number
* The LED activity timeout in milliseconds.
* Default: `0` (no timeout)
- * `val_steps`
+ * `val_steps` Number
* The number of brightness adjustment steps.
* Default: `16`
@@ -691,16 +691,16 @@ Configures the [RGB Matrix](features/rgb_matrix) feature.
Configures the [Secure](features/secure) feature.
* `secure`
- * `enabled`
+ * `enabled` Boolean
* Enable the Secure feature.
* Default: `false`
- * `idle_timeout`
+ * `idle_timeout` Number
* Timeout while unlocked before returning to the locked state. Set to `0` to disable.
* Default: `60000` (1 minute)
- * `unlock_sequence`
+ * `unlock_sequence` Array: Matrix
* A list of up to five matrix locations comprising the "unlock sequence".
* Example: `[[0, 0], [0, 1], [4, 3]]`
- * `unlock_timeout`
+ * `unlock_timeout` Number
* Timeout for the user to perform the unlock sequence. Set to `0` to disable.
* Default: `5000` (5 seconds)
@@ -716,7 +716,7 @@ Configures the [Split Keyboard](features/split_keyboard) feature.
* `right`
* `pins`
* See [DIP Switches](#dip-switch) config.
- * `enabled`
+ * `enabled` Boolean
* Enable the Split Keyboard feature.
* Default: `false`
* `encoder`
@@ -724,65 +724,69 @@ Configures the [Split Keyboard](features/split_keyboard) feature.
* `rotary`
* See [Encoder](#encoder) config.
* `handedness`
- * `pin`
+ * `pin` Pin
* The GPIO pin connected to determine handedness.
- * `matrix_grid`
+ * `matrix_grid` Array: Pin
* The GPIO pins of the matrix position which determines the handedness.
* Example: `["A1", "B5"]`
* `matrix_pins`
* `right`
* See [Matrix](#matrix) config.
- * `soft_serial_pin`
- * The GPIO pin to use (`serial` transport protocol only).
- * `soft_serial_speed`
+ * `serial`
+ * `driver` String
+ * The driver to use. Must be one of `bitbang`, `usart`, `vendor`.
+ * Default: `"bitbang"`
+ * `pin` Pin
+ * The GPIO pin to use for transmit and receive.
+ * `soft_serial_speed` Number
* The protocol speed, from `0` to `5` (`serial` transport protocol only).
* Default: `1`
* `transport`
- * `protocol`
+ * `protocol` String
* The split transport protocol to use. Must be one of `custom`, `i2c`, `serial`.
* `sync`
- * `activity`
+ * `activity` Boolean
* Mirror the activity timestamps to the secondary half.
* Default: `false`
- * `detected_os`
+ * `detected_os` Boolean
* Mirror the [detected OS](features/os_detection) to the secondary half.
* Default: `false`
- * `haptic`
+ * `haptic` Boolean
* Mirror the haptic state and process haptic feedback to the secondary half.
* Default: `false`
- * `layer_state`
+ * `layer_state` Boolean
* Mirror the layer state to the secondary half.
* Default: `false`
- * `indicators`
+ * `indicators` Boolean
* Mirror the indicator state to the secondary half.
* Default: `false`
- * `matrix_state`
+ * `matrix_state` Boolean
* Mirror the main/primary half's matrix state to the secondary half.
* Default: `false`
- * `modifiers`
+ * `modifiers` Boolean
* Mirror the modifier state to the secondary half.
* Default: `false`
- * `oled`
+ * `oled` Boolean
* Mirror the OLED on/off status to the secondary half.
* Default: `false`
- * `st7565`
+ * `st7565` Boolean
* Mirror the ST7565 on/off status to the secondary half.
* Default: `false`
- * `wpm`
+ * `wpm` Boolean
* Mirror the current WPM value to the secondary half.
* Default: `false`
- * `watchdog`
+ * `watchdog` Boolean
* Reboot the secondary half if it loses connection.
* Default: `false`
- * `watchdog_timeout`
+ * `watchdog_timeout` Number
* The amount of time to wait for communication from the primary half in milliseconds.
* `usb_detect`
- * `enabled`
+ * `enabled` Boolean
* Detect USB connection when determining split half roles.
- * `polling_interval`
+ * `polling_interval` Number
* The polling frequency in milliseconds.
* Default: `10` (10 ms)
- * `timeout`
+ * `timeout` Number
* The amount of time to wait for a USB connection in milliseconds.
* Default: `2000` (2 seconds)
@@ -791,48 +795,48 @@ Configures the [Split Keyboard](features/split_keyboard) feature.
Configures the [Stenography](features/stenography) feature.
* `stenography`
- * `enabled`
+ * `enabled` Boolean
* Enable the Stenography feature.
* Default: `false`
- * `protocol`
+ * `protocol` String
* The Steno protocol to use. Must be one of `all`, `geminipr`, `txbolt`.
* Default: `"all"`
## USB {#usb}
* `usb`
- * `device_version` (Required)
+ * `device_version` String Required
* A BCD version number in the format `MM.m.r` (up to `99.9.9`).
* Example: `"1.0.0"`
- * `pid` (Required)
+ * `pid` String Required
* The USB product ID as a four-digit hexadecimal number.
* Example: `"0x23B0"`
- * `vid` (Required)
+ * `vid` String Required
* The USB vendor ID as a four-digit hexadecimal number.
* Example: `"0xC1ED"`
- * `force_nkro`
+ * `force_nkro` Boolean
* Force NKRO to be active.
* Default: `false`
- * `max_power`
+ * `max_power` Number
* The maximum current draw the host should expect from the device. This does not control the actual current usage.
* Default: `500` (500 mA)
- * `no_startup_check`
+ * `no_startup_check` Boolean
* Disable USB suspend check after keyboard startup.
* Default: `false`
- * `polling_interval`
+ * `polling_interval` Number
* The frequency at which the host should poll the keyboard for reports.
* Default: `1` (1 ms/1000 Hz)
* `shared_endpoint`
- * `keyboard`
+ * `keyboard` Boolean
* Send keyboard reports through the "shared" USB endpoint.
* Default: `false`
- * `mouse`
+ * `mouse` Boolean
* Send mouse reports through the "shared" USB endpoint.
* Default: `true`
- * `suspend_wakeup_delay`
+ * `suspend_wakeup_delay` Number
* The amount of time to wait after sending a wakeup packet, in milliseconds.
* Default: `0` (disabled)
- * `wait_for_enumeration`
+ * `wait_for_enumeration` Boolean
* Force the keyboard to wait for USB enumeration before starting up.
* Default: `false`
@@ -841,17 +845,17 @@ Configures the [Stenography](features/stenography) feature.
Configures the [WS2812](drivers/ws2812) driver.
* `ws2812`
- * `driver`
+ * `driver` String
* The driver to use. Must be one of `bitbang`, `custom`, `i2c`, `pwm`, `spi`, `vendor`.
* Default: `"bitbang"`
- * `pin` (Required)
+ * `pin` Pin Required
* The GPIO pin connected to `DI` on the first LED in the chain (`bitbang`, `pwm`, `spi` and `vendor` drivers only).
- * `i2c_address`
+ * `i2c_address` String
* The I²C address of the WS2812 controller (`i2c` driver only).
* Default: `"0xB0"`
- * `i2c_timeout`
+ * `i2c_timeout` Number
* The I²C timeout in milliseconds (`i2c` driver only).
* Default: `100` (100 ms)
- * `rgbw`
+ * `rgbw` Boolean
* Enable RGBW LEDs.
* Default: `false`
diff --git a/docs/reference_keymap_extras.md b/docs/reference_keymap_extras.md
index 191e0d4ea8de..f6b4b8faf688 100644
--- a/docs/reference_keymap_extras.md
+++ b/docs/reference_keymap_extras.md
@@ -2,9 +2,31 @@
Keyboards are able to support a wide range of languages. However, this support is not actually achieved within the keyboard itself - instead, it sends numerical codes, which the operating system maps to the appropriate characters depending on the user's configured keyboard layout. By default (and per the HID spec), this is the US ANSI layout. For example, when a Swedish person presses the key with the `å` character printed on it, the keyboard is *actually* sending the keycode for `[`.
-Obviously, this can get confusing, so QMK provides language-specific keycode aliases for many keyboard layouts. These won't do much on their own - you still have to set the matching keyboard layout in your OS settings. Think of them more as keycap labels for your keymap.
+Obviously, this can get confusing, so QMK provides language-specific keycode aliases for many keyboard layouts. These are used in place of the `KC_` prefixed ones. They won't do much on their own - you still have to set the matching keyboard layout in your OS settings. Think of them more as keycap labels for your keymap. The language-specific keycode aliases are defined in the files listed in the [Keycodes Header](#header-files) column below.
-Simply `#include` one of the keycode headers below at the top of your `keymap.c`, and assign the keycodes defined in the header in place of the `KC_` prefixed ones.
+## Selecting Your Host Keyboard Layout
+
+To select a host keyboard layout, simply `#include` one of the [keycode headers](#header-files) below at the top of your `keymap.c`. Example:
+
+```c
+#include QMK_KEYBOARD_H
+
+#include "keymap_japanese.h" // [!code focus]
+```
+
+Alternatively, if using `keymap.json`, add the `host_language` key as shown in the following example. The available languages are those with a _Sendstring LUT Header_ entry in one of the [Header Files](#header-files) tables.
+
+```json
+{
+ "keyboard": "handwired/my_macropad",
+ "keymap": "my_keymap",
+ "host_language": "swedish", // [!code focus]
+ "layout": "LAYOUT_all",
+ "layers": [
+ ["SE_ARNG"]
+ ]
+}
+```
## Sendstring Support
@@ -33,6 +55,7 @@ These headers are located in [`quantum/keymap_extras/`](https://github.com/qmk/q
|English (US International) |`keymap_us_international.h` |`sendstring_us_international.h` |
|English (US International, Linux)|`keymap_us_international_linux.h`| |
|Estonian |`keymap_estonian.h` |`sendstring_estonian.h` |
+|Farsi |`keymap_farsi.h` | |
|Finnish |`keymap_finnish.h` |`sendstring_finnish.h` |
|French |`keymap_french.h` |`sendstring_french.h` |
|French (AFNOR) |`keymap_french_afnor.h` |`sendstring_french_afnor.h` |
diff --git a/docs/support.md b/docs/support.md
index 938d9daf7849..4e634fc0eb1e 100644
--- a/docs/support.md
+++ b/docs/support.md
@@ -6,7 +6,7 @@ Please read our [Code of Conduct](https://qmk.fm/coc/) before participating in a
## Realtime Chat
-If you need help with something, the best place to get quick support is going to be on our [Discord Server](https://discord.gg/Uq7gcHh). There is usually somebody online, and there are a bunch of very helpful people there.
+If you need help with something, the best place to get quick support is going to be on our [Discord Server](https://discord.gg/qmk). There is usually somebody online, and there are a bunch of very helpful people there.
## OLKB Subreddit
diff --git a/docs/syllabus.md b/docs/syllabus.md
index 3082f1ebd517..b68ded2d3596 100644
--- a/docs/syllabus.md
+++ b/docs/syllabus.md
@@ -55,7 +55,7 @@ Everything below here requires a lot of foundational knowledge. Besides being ab
* **Advanced Features**
* [Unicode](features/unicode)
* [API](api_overview)
- * [Bootmagic Lite](features/bootmagic)
+ * [Bootmagic](features/bootmagic)
* **Hardware**
* [How Keyboards Work](how_keyboards_work)
* [How A Keyboard Matrix Works](how_a_matrix_works)
diff --git a/drivers/eeprom/eeprom_custom.c-template b/drivers/eeprom/eeprom_custom.c-template
index 5f915f7fab55..fb1f0a3a974e 100644
--- a/drivers/eeprom/eeprom_custom.c-template
+++ b/drivers/eeprom/eeprom_custom.c-template
@@ -23,6 +23,17 @@ void eeprom_driver_init(void) {
/* Any initialisation code */
}
+void eeprom_driver_format(bool erase) {
+ /* If erase=false, then only do the absolute minimum initialisation necessary
+ to make sure that the eeprom driver is usable. It doesn't need to guarantee
+ that the content of the eeprom is reset to any particular value. For many
+ eeprom drivers this may be a no-op.
+
+ If erase=true, then in addition to making sure the eeprom driver is in a
+ usable state, also make sure that it is erased.
+ */
+}
+
void eeprom_driver_erase(void) {
/* Wipe out the EEPROM, setting values to zero */
}
diff --git a/drivers/eeprom/eeprom_driver.c b/drivers/eeprom/eeprom_driver.c
index 885cf2198115..1f3f96f0068c 100644
--- a/drivers/eeprom/eeprom_driver.c
+++ b/drivers/eeprom/eeprom_driver.c
@@ -77,3 +77,9 @@ void eeprom_update_dword(uint32_t *addr, uint32_t value) {
eeprom_write_dword(addr, value);
}
}
+
+void eeprom_driver_format(bool erase) __attribute__((weak));
+void eeprom_driver_format(bool erase) {
+ (void)erase; /* The default implementation assumes that the eeprom must be erased in order to be usable. */
+ eeprom_driver_erase();
+}
diff --git a/drivers/eeprom/eeprom_driver.h b/drivers/eeprom/eeprom_driver.h
index 74592bc8f05c..0c55c497d461 100644
--- a/drivers/eeprom/eeprom_driver.h
+++ b/drivers/eeprom/eeprom_driver.h
@@ -16,7 +16,9 @@
#pragma once
+#include
#include "eeprom.h"
void eeprom_driver_init(void);
+void eeprom_driver_format(bool erase);
void eeprom_driver_erase(void);
diff --git a/drivers/eeprom/eeprom_i2c.c b/drivers/eeprom/eeprom_i2c.c
index 0d3d5ccbe50c..d29aff5f85f7 100644
--- a/drivers/eeprom/eeprom_i2c.c
+++ b/drivers/eeprom/eeprom_i2c.c
@@ -36,6 +36,7 @@
#include "wait.h"
#include "i2c_master.h"
#include "eeprom.h"
+#include "eeprom_driver.h"
#include "eeprom_i2c.h"
// #define DEBUG_EEPROM_OUTPUT
@@ -62,6 +63,13 @@ void eeprom_driver_init(void) {
#endif
}
+void eeprom_driver_format(bool erase) {
+ /* i2c eeproms do not need to be formatted before use */
+ if (erase) {
+ eeprom_driver_erase();
+ }
+}
+
void eeprom_driver_erase(void) {
#if defined(CONSOLE_ENABLE) && defined(DEBUG_EEPROM_OUTPUT)
uint32_t start = timer_read32();
diff --git a/drivers/eeprom/eeprom_spi.c b/drivers/eeprom/eeprom_spi.c
index 51ba25deced5..14f0afa68bec 100644
--- a/drivers/eeprom/eeprom_spi.c
+++ b/drivers/eeprom/eeprom_spi.c
@@ -35,6 +35,7 @@
#include "timer.h"
#include "spi_master.h"
#include "eeprom.h"
+#include "eeprom_driver.h"
#include "eeprom_spi.h"
#define CMD_WREN 6
@@ -92,6 +93,13 @@ void eeprom_driver_init(void) {
spi_init();
}
+void eeprom_driver_format(bool erase) {
+ /* spi eeproms do not need to be formatted before use */
+ if (erase) {
+ eeprom_driver_erase();
+ }
+}
+
void eeprom_driver_erase(void) {
#if defined(CONSOLE_ENABLE) && defined(DEBUG_EEPROM_OUTPUT)
uint32_t start = timer_read32();
diff --git a/drivers/eeprom/eeprom_transient.c b/drivers/eeprom/eeprom_transient.c
index 9dc4289c271b..d9f5db98532b 100644
--- a/drivers/eeprom/eeprom_transient.c
+++ b/drivers/eeprom/eeprom_transient.c
@@ -30,8 +30,13 @@ size_t clamp_length(intptr_t offset, size_t len) {
return len;
}
-void eeprom_driver_init(void) {
- eeprom_driver_erase();
+void eeprom_driver_init(void) {}
+
+void eeprom_driver_format(bool erase) {
+ /* The transient eeprom driver doesn't necessarily need to be formatted before use, and it always starts up filled with zeros, due to placement in the .bss section */
+ if (erase) {
+ eeprom_driver_erase();
+ }
}
void eeprom_driver_erase(void) {
diff --git a/drivers/eeprom/eeprom_wear_leveling.c b/drivers/eeprom/eeprom_wear_leveling.c
index bd77eef35cca..24ca6c3c6b39 100644
--- a/drivers/eeprom/eeprom_wear_leveling.c
+++ b/drivers/eeprom/eeprom_wear_leveling.c
@@ -10,6 +10,12 @@ void eeprom_driver_init(void) {
wear_leveling_init();
}
+void eeprom_driver_format(bool erase) {
+ /* wear leveling requires the write log data structures to be erased before use. */
+ (void)erase;
+ eeprom_driver_erase();
+}
+
void eeprom_driver_erase(void) {
wear_leveling_erase();
}
diff --git a/drivers/encoder/encoder_quadrature.c b/drivers/encoder/encoder_quadrature.c
index cd589bf1e205..086f500391c7 100644
--- a/drivers/encoder/encoder_quadrature.c
+++ b/drivers/encoder/encoder_quadrature.c
@@ -22,7 +22,7 @@
#endif
#undef ENCODER_DEFAULT_PIN_API_IMPL
-#if defined(ENCODERS_PAD_A) && defined(ENCODERS_PAD_B)
+#if defined(ENCODER_A_PINS) && defined(ENCODER_B_PINS)
// Inform the quadrature driver that it needs to implement pin init/read functions
# define ENCODER_DEFAULT_PIN_API_IMPL
#endif
@@ -34,8 +34,8 @@ __attribute__((weak)) uint8_t encoder_quadrature_read_pin(uint8_t index, bool pa
#ifdef ENCODER_DEFAULT_PIN_API_IMPL
-static pin_t encoders_pad_a[NUM_ENCODERS_MAX_PER_SIDE] = ENCODERS_PAD_A;
-static pin_t encoders_pad_b[NUM_ENCODERS_MAX_PER_SIDE] = ENCODERS_PAD_B;
+static pin_t encoders_pad_a[NUM_ENCODERS_MAX_PER_SIDE] = ENCODER_A_PINS;
+static pin_t encoders_pad_b[NUM_ENCODERS_MAX_PER_SIDE] = ENCODER_B_PINS;
__attribute__((weak)) void encoder_wait_pullup_charge(void) {
wait_us(100);
@@ -123,25 +123,25 @@ void encoder_driver_init(void) {
// here, but it's the simplest solution.
memset(encoder_state, 0, sizeof(encoder_state));
memset(encoder_pulses, 0, sizeof(encoder_pulses));
- const pin_t encoders_pad_a_left[] = ENCODERS_PAD_A;
- const pin_t encoders_pad_b_left[] = ENCODERS_PAD_B;
+ const pin_t encoders_pad_a_left[] = ENCODER_A_PINS;
+ const pin_t encoders_pad_b_left[] = ENCODER_B_PINS;
for (uint8_t i = 0; i < thisCount; i++) {
encoders_pad_a[i] = encoders_pad_a_left[i];
encoders_pad_b[i] = encoders_pad_b_left[i];
}
#endif
-#if defined(SPLIT_KEYBOARD) && defined(ENCODERS_PAD_A_RIGHT) && defined(ENCODERS_PAD_B_RIGHT)
+#if defined(SPLIT_KEYBOARD) && defined(ENCODER_A_PINS_RIGHT) && defined(ENCODER_B_PINS_RIGHT)
// Re-initialise the pads if it's the right-hand side
if (!isLeftHand) {
- const pin_t encoders_pad_a_right[] = ENCODERS_PAD_A_RIGHT;
- const pin_t encoders_pad_b_right[] = ENCODERS_PAD_B_RIGHT;
+ const pin_t encoders_pad_a_right[] = ENCODER_A_PINS_RIGHT;
+ const pin_t encoders_pad_b_right[] = ENCODER_B_PINS_RIGHT;
for (uint8_t i = 0; i < thisCount; i++) {
encoders_pad_a[i] = encoders_pad_a_right[i];
encoders_pad_b[i] = encoders_pad_b_right[i];
}
}
-#endif // defined(SPLIT_KEYBOARD) && defined(ENCODERS_PAD_A_RIGHT) && defined(ENCODERS_PAD_B_RIGHT)
+#endif // defined(SPLIT_KEYBOARD) && defined(ENCODER_A_PINS_RIGHT) && defined(ENCODER_B_PINS_RIGHT)
// Encoder resolutions is defined differently in config.h, so concatenate
#if defined(SPLIT_KEYBOARD) && defined(ENCODER_RESOLUTIONS)
diff --git a/drivers/flash/flash.h b/drivers/flash/flash.h
new file mode 100644
index 000000000000..4d6247513987
--- /dev/null
+++ b/drivers/flash/flash.h
@@ -0,0 +1,126 @@
+// Copyright 2024 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include
+#include
+#include
+
+/**
+ * @brief The status of a flash operation.
+ */
+enum {
+ FLASH_STATUS_SUCCESS = 0, //< The operation completed successfully.
+ FLASH_STATUS_ERROR = -1, //< An error occurred during the operation.
+ FLASH_STATUS_TIMEOUT = -2, //< The operation timed out.
+ FLASH_STATUS_BAD_ADDRESS = -3, //< The address is out of bounds.
+ FLASH_STATUS_BUSY = -4, //< The flash is busy.
+};
+
+/**
+ * @brief The status of a flash operation.
+ */
+typedef int16_t flash_status_t;
+
+/**
+ * @brief Initializes the flash driver.
+ *
+ * This function initializes the flash driver and prepares it for use.
+ * It should be called before any other flash-related functions are used.
+ */
+void flash_init(void);
+
+/**
+ * @brief Checks if the flash is busy.
+ *
+ * This function checks if the flash is currently busy with an operation.
+ *
+ * @return FLASH_STATUS_SUCCESS if the flash is not busy, FLASH_STATUS_BUSY if the flash is busy, or FLASH_STATUS_ERROR if an error occurred.
+ */
+flash_status_t flash_is_busy(void);
+
+/**
+ * @brief Initiates a chip erase operation.
+ *
+ * This function does not wait for the flash to become ready.
+ *
+ * @return FLASH_STATUS_SUCCESS if the erase command was successfully sent, FLASH_STATUS_TIMEOUT if the flash is busy, or FLASH_STATUS_ERROR if an error occurred.
+ */
+flash_status_t flash_begin_erase_chip(void);
+
+/**
+ * @brief Waits for the chip erase operation to complete.
+ *
+ * This function waits for the chip erase operation to complete.
+ *
+ * @return FLASH_STATUS_SUCCESS if the chip erase operation completed successfully, FLASH_STATUS_TIMEOUT if the flash was still busy, or FLASH_STATUS_ERROR if an error occurred.
+ */
+flash_status_t flash_wait_erase_chip(void);
+
+/**
+ * @brief Erases the entire flash memory chip.
+ *
+ * This function initiates an erase operation to erase the entire flash memory chip.
+ * It waits for the operation to complete.
+ *
+ * @return FLASH_STATUS_SUCCESS if the erase was successfully executed, FLASH_STATUS_TIMEOUT if the flash is busy, or FLASH_STATUS_ERROR if an error occurred.
+ */
+flash_status_t flash_erase_chip(void);
+
+/**
+ * @brief Erases a block of flash memory.
+ *
+ * This function initiates an erase operation to erase a block of flash memory.
+ * It waits for the operation to complete.
+ *
+ * @param addr The address of the block to erase.
+ *
+ * @return FLASH_STATUS_SUCCESS if the erase was successfully executed, FLASH_STATUS_TIMEOUT if the flash is busy, or FLASH_STATUS_ERROR if an error occurred.
+ */
+flash_status_t flash_erase_block(uint32_t addr);
+
+/**
+ * @brief Erases a sector of flash memory.
+ *
+ * This function initiates an erase operation to erase a sector of flash memory.
+ * It waits for the operation to complete.
+ *
+ * @param addr The address of the sector to erase.
+ *
+ * @return FLASH_STATUS_SUCCESS if the erase was successfully executed, FLASH_STATUS_TIMEOUT if the flash is busy, or FLASH_STATUS_ERROR if an error occurred.
+ */
+flash_status_t flash_erase_sector(uint32_t addr);
+
+/**
+ * @brief Reads a range of flash memory.
+ *
+ * This function reads a range of flash memory into a buffer.
+ *
+ * @param addr The address of the range to read.
+ * @param buf A pointer to the buffer to read the range into.
+ * @param len The length of the range to read.
+ *
+ * @return FLASH_STATUS_SUCCESS if the range was successfully read, FLASH_STATUS_BAD_ADDRESS if the address is out of bounds, FLASH_STATUS_TIMEOUT if the flash is busy, or FLASH_STATUS_ERROR if an error occurred.
+ */
+flash_status_t flash_read_range(uint32_t addr, void *buf, size_t len);
+
+/**
+ * @brief Writes a range of flash memory.
+ *
+ * This function writes a range of flash memory from a buffer.
+ *
+ * @param addr The address of the range to write.
+ * @param buf A pointer to the buffer to write to the range.
+ * @param len The length of the range to write.
+ *
+ * @return FLASH_STATUS_SUCCESS if the range was successfully written, FLASH_STATUS_BAD_ADDRESS if the address is out of bounds, FLASH_STATUS_TIMEOUT if the flash is busy, or FLASH_STATUS_ERROR if an error occurred.
+ */
+flash_status_t flash_write_range(uint32_t addr, const void *buf, size_t len);
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/drivers/flash/flash_spi.c b/drivers/flash/flash_spi.c
index 0c0eb8a99e5b..7226773ff412 100644
--- a/drivers/flash/flash_spi.c
+++ b/drivers/flash/flash_spi.c
@@ -1,22 +1,10 @@
-/*
-Copyright (C) 2021 Westberry Technology (ChangZhou) Corp., Ltd
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
+// Copyright 2021 Westberry Technology (ChangZhou) Corp., Ltd
+// Copyright 2024 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
#include
+#include "flash.h"
#include "util.h"
#include "wait.h"
#include "debug.h"
@@ -69,33 +57,43 @@ static bool spi_flash_start(void) {
return spi_start(EXTERNAL_FLASH_SPI_SLAVE_SELECT_PIN, EXTERNAL_FLASH_SPI_LSBFIRST, EXTERNAL_FLASH_SPI_MODE, EXTERNAL_FLASH_SPI_CLOCK_DIVISOR);
}
-static flash_status_t spi_flash_wait_while_busy(void) {
- uint32_t deadline = timer_read32() + EXTERNAL_FLASH_SPI_TIMEOUT;
+static flash_status_t spi_flash_wait_while_busy_multiplier(int multiplier) {
flash_status_t response = FLASH_STATUS_SUCCESS;
- uint8_t retval;
-
+ uint32_t deadline = timer_read32() + ((EXTERNAL_FLASH_SPI_TIMEOUT)*multiplier);
do {
- bool res = spi_flash_start();
- if (!res) {
- dprint("Failed to start SPI! [spi flash wait while busy]\n");
- return FLASH_STATUS_ERROR;
- }
-
- spi_write(FLASH_CMD_RDSR);
-
- retval = (uint8_t)spi_read();
-
- spi_stop();
-
if (timer_read32() >= deadline) {
response = FLASH_STATUS_TIMEOUT;
break;
}
- } while (retval & FLASH_FLAG_WIP);
+ response = flash_is_busy();
+ } while (response == FLASH_STATUS_BUSY);
return response;
}
+static flash_status_t spi_flash_wait_while_busy(void) {
+ return spi_flash_wait_while_busy_multiplier(1);
+}
+
+flash_status_t flash_is_busy(void) {
+ bool res = spi_flash_start();
+ if (!res) {
+ dprint("Failed to start SPI! [spi flash wait while busy]\n");
+ return FLASH_STATUS_ERROR;
+ }
+
+ spi_write(FLASH_CMD_RDSR);
+ spi_status_t status = spi_read();
+ spi_stop();
+
+ if (status < 0) {
+ return status;
+ }
+
+ uint8_t sr = (uint8_t)status;
+ return (sr & FLASH_FLAG_WIP) ? FLASH_STATUS_BUSY : FLASH_STATUS_SUCCESS;
+}
+
static flash_status_t spi_flash_write_enable(void) {
bool res = spi_flash_start();
if (!res) {
@@ -104,7 +102,6 @@ static flash_status_t spi_flash_write_enable(void) {
}
spi_write(FLASH_CMD_WREN);
-
spi_stop();
return FLASH_STATUS_SUCCESS;
@@ -118,7 +115,6 @@ static flash_status_t spi_flash_write_disable(void) {
}
spi_write(FLASH_CMD_WRDI);
-
spi_stop();
return FLASH_STATUS_SUCCESS;
@@ -166,7 +162,7 @@ void flash_init(void) {
spi_init();
}
-flash_status_t flash_erase_chip(void) {
+flash_status_t flash_begin_erase_chip(void) {
flash_status_t response = FLASH_STATUS_SUCCESS;
/* Wait for the write-in-progress bit to be cleared. */
@@ -191,17 +187,28 @@ flash_status_t flash_erase_chip(void) {
}
spi_write(FLASH_CMD_CE);
spi_stop();
+ return FLASH_STATUS_SUCCESS;
+}
- /* Wait for the write-in-progress bit to be cleared.*/
- response = spi_flash_wait_while_busy();
+flash_status_t flash_wait_erase_chip(void) {
+ flash_status_t response = spi_flash_wait_while_busy_multiplier(250); // Chip erase can take a long time, wait 250x the usual timeout
if (response != FLASH_STATUS_SUCCESS) {
dprint("Failed to check WIP flag! [spi flash erase chip]\n");
return response;
}
-
return response;
}
+flash_status_t flash_erase_chip(void) {
+ flash_status_t response = flash_begin_erase_chip();
+ if (response != FLASH_STATUS_SUCCESS) {
+ dprint("Failed to begin erase chip! [spi flash erase chip]\n");
+ return response;
+ }
+
+ return flash_wait_erase_chip();
+}
+
flash_status_t flash_erase_sector(uint32_t addr) {
flash_status_t response = FLASH_STATUS_SUCCESS;
@@ -282,7 +289,7 @@ flash_status_t flash_erase_block(uint32_t addr) {
return response;
}
-flash_status_t flash_read_block(uint32_t addr, void *buf, size_t len) {
+flash_status_t flash_read_range(uint32_t addr, void *buf, size_t len) {
flash_status_t response = FLASH_STATUS_SUCCESS;
uint8_t * read_buf = (uint8_t *)buf;
@@ -313,7 +320,7 @@ flash_status_t flash_read_block(uint32_t addr, void *buf, size_t len) {
return response;
}
-flash_status_t flash_write_block(uint32_t addr, const void *buf, size_t len) {
+flash_status_t flash_write_range(uint32_t addr, const void *buf, size_t len) {
flash_status_t response = FLASH_STATUS_SUCCESS;
uint8_t * write_buf = (uint8_t *)buf;
diff --git a/drivers/flash/flash_spi.h b/drivers/flash/flash_spi.h
index 87460fc210ee..7a979daf0f70 100644
--- a/drivers/flash/flash_spi.h
+++ b/drivers/flash/flash_spi.h
@@ -17,6 +17,8 @@ along with this program. If not, see .
#pragma once
+#include "flash.h"
+
/* All the following default configurations are based on MX25L4006E Nor FLASH. */
/*
@@ -105,32 +107,3 @@ along with this program. If not, see .
The page count of the FLASH, calculated by total FLASH size and page size.
*/
#define EXTERNAL_FLASH_PAGE_COUNT ((EXTERNAL_FLASH_SIZE) / (EXTERNAL_FLASH_PAGE_SIZE))
-
-typedef int16_t flash_status_t;
-
-#define FLASH_STATUS_SUCCESS (0)
-#define FLASH_STATUS_ERROR (-1)
-#define FLASH_STATUS_TIMEOUT (-2)
-#define FLASH_STATUS_BAD_ADDRESS (-3)
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include
-
-void flash_init(void);
-
-flash_status_t flash_erase_chip(void);
-
-flash_status_t flash_erase_block(uint32_t addr);
-
-flash_status_t flash_erase_sector(uint32_t addr);
-
-flash_status_t flash_read_block(uint32_t addr, void *buf, size_t len);
-
-flash_status_t flash_write_block(uint32_t addr, const void *buf, size_t len);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/drivers/haptic/solenoid.c b/drivers/haptic/solenoid.c
index 346b88bbc47f..ed2a886854e0 100644
--- a/drivers/haptic/solenoid.c
+++ b/drivers/haptic/solenoid.c
@@ -158,7 +158,7 @@ void solenoid_setup(void) {
#endif
gpio_write_pin(solenoid_pads[i], !solenoid_active_state[i]);
gpio_set_pin_output(solenoid_pads[i]);
- if ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state == USB_DEVICE_STATE_CONFIGURED)) {
+ if ((!HAPTIC_OFF_IN_LOW_POWER) || (usb_device_state_get_configure_state() == USB_DEVICE_STATE_CONFIGURED)) {
solenoid_fire(i);
}
}
diff --git a/drivers/lcd/st7565.c b/drivers/lcd/st7565.c
index 4fce40edbe05..cf71c5e5a33d 100644
--- a/drivers/lcd/st7565.c
+++ b/drivers/lcd/st7565.c
@@ -187,6 +187,8 @@ void st7565_render(void) {
st7565_send_data(&st7565_buffer[ST7565_BLOCK_SIZE * update_start], ST7565_BLOCK_SIZE);
+ spi_stop();
+
// Turn on display if it is off
st7565_on();
diff --git a/drivers/led/apa102.c b/drivers/led/apa102.c
index b171b07b12c4..050609263d51 100644
--- a/drivers/led/apa102.c
+++ b/drivers/led/apa102.c
@@ -53,6 +53,7 @@
io_wait; \
} while (0)
+rgb_t apa102_leds[APA102_LED_COUNT];
uint8_t apa102_led_brightness = APA102_DEFAULT_BRIGHTNESS;
static void apa102_send_byte(uint8_t byte) {
@@ -121,14 +122,24 @@ void apa102_init(void) {
gpio_set_pin_output(APA102_CI_PIN);
}
-void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds) {
- rgb_led_t *end = start_led + num_leds;
+void apa102_set_color(uint16_t index, uint8_t red, uint8_t green, uint8_t blue) {
+ apa102_leds[index].r = red;
+ apa102_leds[index].g = green;
+ apa102_leds[index].b = blue;
+}
+
+void apa102_set_color_all(uint8_t red, uint8_t green, uint8_t blue) {
+ for (uint16_t i = 0; i < APA102_LED_COUNT; i++) {
+ apa102_set_color(i, red, green, blue);
+ }
+}
+void apa102_flush(void) {
apa102_start_frame();
- for (rgb_led_t *led = start_led; led < end; led++) {
- apa102_send_frame(led->r, led->g, led->b, apa102_led_brightness);
+ for (uint8_t i = 0; i < APA102_LED_COUNT; i++) {
+ apa102_send_frame(apa102_leds[i].r, apa102_leds[i].g, apa102_leds[i].b, apa102_led_brightness);
}
- apa102_end_frame(num_leds);
+ apa102_end_frame(APA102_LED_COUNT);
}
void apa102_set_brightness(uint8_t brightness) {
diff --git a/drivers/led/apa102.h b/drivers/led/apa102.h
index 5e2f78658be0..42f1344f0c94 100644
--- a/drivers/led/apa102.h
+++ b/drivers/led/apa102.h
@@ -32,17 +32,8 @@
#define APA102_MAX_BRIGHTNESS 31
void apa102_init(void);
-
-/* User Interface
- *
- * Input:
- * start_led: An array of GRB data describing the LED colors
- * num_leds: The number of LEDs to write
- *
- * The functions will perform the following actions:
- * - Set the data-out pin as output
- * - Send out the LED data
- */
-void apa102_setleds(rgb_led_t *start_led, uint16_t num_leds);
+void apa102_set_color(uint16_t index, uint8_t red, uint8_t green, uint8_t blue);
+void apa102_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
+void apa102_flush(void);
void apa102_set_brightness(uint8_t brightness);
diff --git a/drivers/painter/gc9a01/qp_gc9a01.c b/drivers/painter/gc9a01/qp_gc9a01.c
deleted file mode 100644
index fe6fa7a9d024..000000000000
--- a/drivers/painter/gc9a01/qp_gc9a01.c
+++ /dev/null
@@ -1,157 +0,0 @@
-// Copyright 2021 Paul Cotter (@gr1mr3aver)
-// Copyright 2023 Nick Brassel (@tzarc)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include "qp_internal.h"
-#include "qp_comms.h"
-#include "qp_gc9a01.h"
-#include "qp_gc9a01_opcodes.h"
-#include "qp_tft_panel.h"
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// Driver storage
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-tft_panel_dc_reset_painter_device_t gc9a01_drivers[GC9A01_NUM_DEVICES] = {0};
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// Initialization
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-__attribute__((weak)) bool qp_gc9a01_init(painter_device_t device, painter_rotation_t rotation) {
- // A lot of these "unknown" opcodes are sourced from other OSS projects and are seemingly required for this display to function.
- // clang-format off
- const uint8_t gc9a01_init_sequence[] = {
- // Command, Delay, N, Data[N]
- GC9A01_SET_INTER_REG_ENABLE2, 0, 0,
- 0xEB, 0, 1, 0x14,
- GC9A01_SET_INTER_REG_ENABLE1, 0, 0,
- GC9A01_SET_INTER_REG_ENABLE2, 0, 0,
- 0xEB, 0, 1, 0x14,
- 0x84, 0, 1, 0x40,
- 0x85, 0, 1, 0xFF,
- 0x86, 0, 1, 0xFF,
- 0x87, 0, 1, 0xFF,
- 0x88, 0, 1, 0x0A,
- 0x89, 0, 1, 0x21,
- 0x8a, 0, 1, 0x00,
- 0x8b, 0, 1, 0x80,
- 0x8c, 0, 1, 0x01,
- 0x8d, 0, 1, 0x01,
- 0x8e, 0, 1, 0xFF,
- 0x8f, 0, 1, 0xFF,
- GC9A01_SET_FUNCTION_CTL, 0, 2, 0x00, 0x20,
- GC9A01_SET_PIX_FMT, 0, 1, 0x55,
- 0x90, 0, 4, 0x08, 0x08, 0x08, 0x08,
- 0xBD, 0, 1, 0x06,
- 0xBC, 0, 1, 0x00,
- 0xFF, 0, 3, 0x60, 0x01, 0x04,
- GC9A01_SET_POWER_CTL_2, 0, 1, 0x13,
- GC9A01_SET_POWER_CTL_3, 0, 1, 0x13,
- GC9A01_SET_POWER_CTL_4, 0, 1, 0x22,
- 0xBE, 0, 1, 0x11,
- 0xE1, 0, 2, 0x10, 0x0E,
- 0xDF, 0, 3, 0x21, 0x0C, 0x02,
- GC9A01_SET_GAMMA1, 0, 6, 0x45, 0x09, 0x08, 0x08, 0x26, 0x2A,
- GC9A01_SET_GAMMA2, 0, 6, 0x43, 0x70, 0x72, 0x36, 0x37, 0x6F,
- GC9A01_SET_GAMMA3, 0, 6, 0x45, 0x09, 0x08, 0x08, 0x26, 0x2A,
- GC9A01_SET_GAMMA4, 0, 6, 0x43, 0x70, 0x72, 0x36, 0x37, 0x6F,
- 0xED, 0, 2, 0x1B, 0x0B,
- 0xAE, 0, 1, 0x77,
- 0xCD, 0, 1, 0x63,
- 0x70, 0, 9, 0x07, 0x07, 0x04, 0x0E, 0x0F, 0x09, 0x07, 0x08, 0x03,
- GC9A01_SET_FRAME_RATE, 0, 1, 0x34,
- 0x62, 0, 12, 0x18, 0x0D, 0x71, 0xED, 0x70, 0x70, 0x18, 0x0F, 0x71, 0xEF, 0x70, 0x70,
- 0x63, 0, 12, 0x18, 0x11, 0x71, 0xF1, 0x70, 0x70, 0x18, 0x13, 0x71, 0xF3, 0x70, 0x70,
- 0x64, 0, 7, 0x28, 0x29, 0xF1, 0x01, 0xF1, 0x00, 0x07,
- 0x66, 0, 10, 0x3C, 0x00, 0xCD, 0x67, 0x45, 0x45, 0x10, 0x00, 0x00, 0x00,
- 0x67, 0, 10, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x01, 0x54, 0x10, 0x32, 0x98,
- 0x74, 0, 7, 0x10, 0x85, 0x80, 0x00, 0x00, 0x4E, 0x00,
- 0x98, 0, 2, 0x3E, 0x07,
- GC9A01_CMD_TEARING_OFF, 0, 0,
- GC9A01_CMD_INVERT_OFF, 0, 0,
- GC9A01_CMD_SLEEP_OFF, 120, 0,
- GC9A01_CMD_DISPLAY_ON, 20, 0
- };
- // clang-format on
-
- // clang-format on
- qp_comms_bulk_command_sequence(device, gc9a01_init_sequence, sizeof(gc9a01_init_sequence));
-
- // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM)
- const uint8_t madctl[] = {
- [QP_ROTATION_0] = GC9A01_MADCTL_BGR,
- [QP_ROTATION_90] = GC9A01_MADCTL_BGR | GC9A01_MADCTL_MX | GC9A01_MADCTL_MV,
- [QP_ROTATION_180] = GC9A01_MADCTL_BGR | GC9A01_MADCTL_MX | GC9A01_MADCTL_MY,
- [QP_ROTATION_270] = GC9A01_MADCTL_BGR | GC9A01_MADCTL_MV | GC9A01_MADCTL_MY,
- };
- qp_comms_command_databyte(device, GC9A01_SET_MEM_ACS_CTL, madctl[rotation]);
-
- return true;
-}
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// Driver vtable
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-const tft_panel_dc_reset_painter_driver_vtable_t gc9a01_driver_vtable = {
- .base =
- {
- .init = qp_gc9a01_init,
- .power = qp_tft_panel_power,
- .clear = qp_tft_panel_clear,
- .flush = qp_tft_panel_flush,
- .pixdata = qp_tft_panel_pixdata,
- .viewport = qp_tft_panel_viewport,
- .palette_convert = qp_tft_panel_palette_convert_rgb565_swapped,
- .append_pixels = qp_tft_panel_append_pixels_rgb565,
- .append_pixdata = qp_tft_panel_append_pixdata,
- },
- .num_window_bytes = 2,
- .swap_window_coords = false,
- .opcodes =
- {
- .display_on = GC9A01_CMD_DISPLAY_ON,
- .display_off = GC9A01_CMD_DISPLAY_OFF,
- .set_column_address = GC9A01_SET_COL_ADDR,
- .set_row_address = GC9A01_SET_PAGE_ADDR,
- .enable_writes = GC9A01_SET_MEM,
- },
-};
-
-#ifdef QUANTUM_PAINTER_GC9A01_SPI_ENABLE
-// Factory function for creating a handle to the ILI9341 device
-painter_device_t qp_gc9a01_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) {
- for (uint32_t i = 0; i < GC9A01_NUM_DEVICES; ++i) {
- tft_panel_dc_reset_painter_device_t *driver = &gc9a01_drivers[i];
- if (!driver->base.driver_vtable) {
- driver->base.driver_vtable = (const painter_driver_vtable_t *)&gc9a01_driver_vtable;
- driver->base.comms_vtable = (const painter_comms_vtable_t *)&spi_comms_with_dc_vtable;
- driver->base.native_bits_per_pixel = 16; // RGB565
- driver->base.panel_width = panel_width;
- driver->base.panel_height = panel_height;
- driver->base.rotation = QP_ROTATION_0;
- driver->base.offset_x = 0;
- driver->base.offset_y = 0;
-
- // SPI and other pin configuration
- driver->base.comms_config = &driver->spi_dc_reset_config;
- driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin;
- driver->spi_dc_reset_config.spi_config.divisor = spi_divisor;
- driver->spi_dc_reset_config.spi_config.lsb_first = false;
- driver->spi_dc_reset_config.spi_config.mode = spi_mode;
- driver->spi_dc_reset_config.dc_pin = dc_pin;
- driver->spi_dc_reset_config.reset_pin = reset_pin;
- driver->spi_dc_reset_config.command_params_uses_command_pin = false;
-
- if (!qp_internal_register_device((painter_device_t)driver)) {
- memset(driver, 0, sizeof(tft_panel_dc_reset_painter_device_t));
- return NULL;
- }
-
- return (painter_device_t)driver;
- }
- }
- return NULL;
-}
-
-#endif // QUANTUM_PAINTER_GC9A01_SPI_ENABLE
diff --git a/drivers/painter/gc9a01/qp_gc9a01_opcodes.h b/drivers/painter/gc9a01/qp_gc9a01_opcodes.h
deleted file mode 100644
index 828e42752b0c..000000000000
--- a/drivers/painter/gc9a01/qp_gc9a01_opcodes.h
+++ /dev/null
@@ -1,77 +0,0 @@
-// Copyright 2021 Paul Cotter (@gr1mr3aver)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// Quantum Painter GC9A01 command opcodes
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// Level 1 command opcodes
-
-#define GC9A01_GET_ID_INFO 0x04 // Get ID information
-#define GC9A01_GET_STATUS 0x09 // Get status
-#define GC9A01_CMD_SLEEP_ON 0x10 // Enter sleep mode
-#define GC9A01_CMD_SLEEP_OFF 0x11 // Exit sleep mode
-#define GC9A01_CMD_PARTIAL_ON 0x12 // Enter partial mode
-#define GC9A01_CMD_PARTIAL_OFF 0x13 // Exit partial mode
-#define GC9A01_CMD_INVERT_ON 0x20 // Enter inverted mode
-#define GC9A01_CMD_INVERT_OFF 0x21 // Exit inverted mode
-#define GC9A01_CMD_DISPLAY_OFF 0x28 // Disable display
-#define GC9A01_CMD_DISPLAY_ON 0x29 // Enable display
-#define GC9A01_SET_COL_ADDR 0x2A // Set column address
-#define GC9A01_SET_PAGE_ADDR 0x2B // Set page address
-#define GC9A01_SET_MEM 0x2C // Set memory
-#define GC9A01_SET_PARTIAL_AREA 0x30 // Set partial area
-#define GC9A01_SET_VSCROLL 0x33 // Set vertical scroll def
-#define GC9A01_CMD_TEARING_ON 0x34 // Tearing line enabled
-#define GC9A01_CMD_TEARING_OFF 0x35 // Tearing line disabled
-#define GC9A01_SET_MEM_ACS_CTL 0x36 // Set mem access ctl
-#define GC9A01_SET_VSCROLL_ADDR 0x37 // Set vscroll start addr
-#define GC9A01_CMD_IDLE_OFF 0x38 // Exit idle mode
-#define GC9A01_CMD_IDLE_ON 0x39 // Enter idle mode
-#define GC9A01_SET_PIX_FMT 0x3A // Set pixel format
-#define GC9A01_SET_MEM_CONT 0x3C // Set memory continue
-#define GC9A01_SET_TEAR_SCANLINE 0x44 // Set tearing scanline
-#define GC9A01_GET_TEAR_SCANLINE 0x45 // Get tearing scanline
-#define GC9A01_SET_BRIGHTNESS 0x51 // Set brightness
-#define GC9A01_SET_DISPLAY_CTL 0x53 // Set display ctl
-#define GC9A01_GET_ID1 0xDA // Get ID1
-#define GC9A01_GET_ID2 0xDB // Get ID2
-#define GC9A01_GET_ID3 0xDC // Get ID3
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// Level 2 command opcodes
-
-#define GC9A01_SET_RGB_IF_SIG_CTL 0xB0 // RGB IF signal ctl
-#define GC9A01_SET_BLANKING_PORCH_CTL 0xB5 // Set blanking porch ctl
-#define GC9A01_SET_FUNCTION_CTL 0xB6 // Set function ctl
-#define GC9A01_SET_TEARING_EFFECT 0xBA // Set backlight ctl 3
-#define GC9A01_SET_IF_CTL 0xF6 // Set interface control
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// Level 3 command opcodes
-
-#define GC9A01_SET_FRAME_RATE 0xE8 // Set frame rate
-#define GC9A01_SET_SPI_2DATA 0xE9 // Set frame rate
-#define GC9A01_SET_POWER_CTL_1 0xC1 // Set power ctl 1
-#define GC9A01_SET_POWER_CTL_2 0xC3 // Set power ctl 2
-#define GC9A01_SET_POWER_CTL_3 0xC4 // Set power ctl 3
-#define GC9A01_SET_POWER_CTL_4 0xC9 // Set power ctl 4
-#define GC9A01_SET_POWER_CTL_7 0xA7 // Set power ctl 7
-#define GC9A01_SET_INTER_REG_ENABLE1 0xFE // Enable Inter Register 1
-#define GC9A01_SET_INTER_REG_ENABLE2 0xEF // Enable Inter Register 2
-#define GC9A01_SET_GAMMA1 0xF0 //
-#define GC9A01_SET_GAMMA2 0xF1
-#define GC9A01_SET_GAMMA3 0xF2
-#define GC9A01_SET_GAMMA4 0xF3
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-// MADCTL Flags
-#define GC9A01_MADCTL_MY 0b10000000
-#define GC9A01_MADCTL_MX 0b01000000
-#define GC9A01_MADCTL_MV 0b00100000
-#define GC9A01_MADCTL_ML 0b00010000
-#define GC9A01_MADCTL_RGB 0b00000000
-#define GC9A01_MADCTL_BGR 0b00001000
-#define GC9A01_MADCTL_MH 0b00000100
diff --git a/drivers/painter/gc9xxx/qp_gc9107.c b/drivers/painter/gc9xxx/qp_gc9107.c
new file mode 100644
index 000000000000..108344da4f20
--- /dev/null
+++ b/drivers/painter/gc9xxx/qp_gc9107.c
@@ -0,0 +1,114 @@
+// Copyright 2024 Fernando Birra
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "qp_internal.h"
+#include "qp_comms.h"
+#include "qp_gc9107.h"
+#include "qp_gc9xxx_opcodes.h"
+#include "qp_gc9107_opcodes.h"
+#include "qp_tft_panel.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Driver storage
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+tft_panel_dc_reset_painter_device_t gc9107_drivers[GC9107_NUM_DEVICES] = {0};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Initialization
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+__attribute__((weak)) bool qp_gc9107_init(painter_device_t device, painter_rotation_t rotation) {
+ // A lot of these "unknown" opcodes are sourced from other OSS projects and are seemingly required for this display to function.
+ // clang-format off
+ const uint8_t gc9107_init_sequence[] = {
+ GC9XXX_SET_INTER_REG_ENABLE1, 5, 0,
+ GC9XXX_SET_INTER_REG_ENABLE2, 5, 0,
+ GC9107_SET_FUNCTION_CTL6, 0, 1, GC9107_ALLOW_SET_COMPLEMENT_RGB | 0x08 | GC9107_ALLOW_SET_FRAMERATE,
+ GC9107_SET_COMPLEMENT_RGB, 0, 1, GC9107_COMPLEMENT_WITH_LSB,
+ 0xAB, 0, 1, 0x0E,
+ GC9107_SET_FRAME_RATE, 0, 1, 0x19,
+ GC9XXX_SET_PIXEL_FORMAT, 0, 1, GC9107_PIXEL_FORMAT_16_BPP_IFPF,
+ GC9XXX_CMD_SLEEP_OFF, 120, 0,
+ GC9XXX_CMD_DISPLAY_ON, 20, 0
+ };
+
+ // clang-format on
+ qp_comms_bulk_command_sequence(device, gc9107_init_sequence, sizeof(gc9107_init_sequence));
+
+ // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM)
+ const uint8_t madctl[] = {
+ [QP_ROTATION_0] = GC9XXX_MADCTL_BGR,
+ [QP_ROTATION_90] = GC9XXX_MADCTL_BGR | GC9XXX_MADCTL_MX | GC9XXX_MADCTL_MV,
+ [QP_ROTATION_180] = GC9XXX_MADCTL_BGR | GC9XXX_MADCTL_MX | GC9XXX_MADCTL_MY,
+ [QP_ROTATION_270] = GC9XXX_MADCTL_BGR | GC9XXX_MADCTL_MV | GC9XXX_MADCTL_MY,
+ };
+ qp_comms_command_databyte(device, GC9XXX_SET_MEM_ACS_CTL, madctl[rotation]);
+
+ return true;
+}
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Driver vtable
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+const tft_panel_dc_reset_painter_driver_vtable_t gc9107_driver_vtable = {
+ .base =
+ {
+ .init = qp_gc9107_init,
+ .power = qp_tft_panel_power,
+ .clear = qp_tft_panel_clear,
+ .flush = qp_tft_panel_flush,
+ .pixdata = qp_tft_panel_pixdata,
+ .viewport = qp_tft_panel_viewport,
+ .palette_convert = qp_tft_panel_palette_convert_rgb565_swapped,
+ .append_pixels = qp_tft_panel_append_pixels_rgb565,
+ .append_pixdata = qp_tft_panel_append_pixdata,
+ },
+ .num_window_bytes = 2,
+ .swap_window_coords = false,
+ .opcodes =
+ {
+ .display_on = GC9XXX_CMD_DISPLAY_ON,
+ .display_off = GC9XXX_CMD_DISPLAY_OFF,
+ .set_column_address = GC9XXX_SET_COL_ADDR,
+ .set_row_address = GC9XXX_SET_ROW_ADDR,
+ .enable_writes = GC9XXX_SET_MEM,
+ },
+};
+
+#ifdef QUANTUM_PAINTER_GC9107_SPI_ENABLE
+// Factory function for creating a handle to the GC9107 device
+painter_device_t qp_gc9107_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) {
+ for (uint32_t i = 0; i < GC9107_NUM_DEVICES; ++i) {
+ tft_panel_dc_reset_painter_device_t *driver = &gc9107_drivers[i];
+ if (!driver->base.driver_vtable) {
+ driver->base.driver_vtable = (const painter_driver_vtable_t *)&gc9107_driver_vtable;
+ driver->base.comms_vtable = (const painter_comms_vtable_t *)&spi_comms_with_dc_vtable;
+ driver->base.native_bits_per_pixel = 16; // RGB565
+ driver->base.panel_width = panel_width;
+ driver->base.panel_height = panel_height;
+ driver->base.rotation = QP_ROTATION_0;
+ driver->base.offset_x = 2;
+ driver->base.offset_y = 1;
+
+ // SPI and other pin configuration
+ driver->base.comms_config = &driver->spi_dc_reset_config;
+ driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin;
+ driver->spi_dc_reset_config.spi_config.divisor = spi_divisor;
+ driver->spi_dc_reset_config.spi_config.lsb_first = false;
+ driver->spi_dc_reset_config.spi_config.mode = spi_mode;
+ driver->spi_dc_reset_config.dc_pin = dc_pin;
+ driver->spi_dc_reset_config.reset_pin = reset_pin;
+ driver->spi_dc_reset_config.command_params_uses_command_pin = false;
+
+ if (!qp_internal_register_device((painter_device_t)driver)) {
+ memset(driver, 0, sizeof(tft_panel_dc_reset_painter_device_t));
+ return NULL;
+ }
+
+ return (painter_device_t)driver;
+ }
+ }
+ return NULL;
+}
+
+#endif // QUANTUM_PAINTER_GC9107_SPI_ENABLE
diff --git a/drivers/painter/gc9xxx/qp_gc9107.h b/drivers/painter/gc9xxx/qp_gc9107.h
new file mode 100644
index 000000000000..b0b08f76654a
--- /dev/null
+++ b/drivers/painter/gc9xxx/qp_gc9107.h
@@ -0,0 +1,37 @@
+// Copyright 2024 Fernando Birra (@gr1mr3aver)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include "gpio.h"
+#include "qp_internal.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Quantum Painter GC9107 configurables (add to your keyboard's config.h)
+
+#ifndef GC9107_NUM_DEVICES
+/**
+ * @def This controls the maximum number of GC9107 devices that Quantum Painter can communicate with at any one time.
+ * Increasing this number allows for multiple displays to be used.
+ */
+# define GC9107_NUM_DEVICES 1
+#endif
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Quantum Painter GC9107 device factories
+
+#ifdef QUANTUM_PAINTER_GC9107_SPI_ENABLE
+/**
+ * Factory method for an GC9107 SPI LCD device.
+ *
+ * @param panel_width[in] the width of the display panel
+ * @param panel_height[in] the height of the display panel
+ * @param chip_select_pin[in] the GPIO pin used for SPI chip select
+ * @param dc_pin[in] the GPIO pin used for D/C control
+ * @param reset_pin[in] the GPIO pin used for RST
+ * @param spi_divisor[in] the SPI divisor to use when communicating with the display
+ * @param spi_mode[in] the SPI mode to use when communicating with the display
+ * @return the device handle used with all drawing routines in Quantum Painter
+ */
+painter_device_t qp_gc9107_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode);
+
+#endif // QUANTUM_PAINTER_GC9107_SPI_ENABLE
diff --git a/drivers/painter/gc9xxx/qp_gc9107_opcodes.h b/drivers/painter/gc9xxx/qp_gc9107_opcodes.h
new file mode 100644
index 000000000000..e9b308eb49b8
--- /dev/null
+++ b/drivers/painter/gc9xxx/qp_gc9107_opcodes.h
@@ -0,0 +1,135 @@
+// Copyright 2024 Fernando Birra
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Quantum Painter GC9107 command opcodes
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#define GC9107_GET_POWER_MODE 0x0A // Get power mode
+#define GC9107_GET_MADCTL 0x0B // Get MADCTL
+#define GC9107_GET_PIXEL_FMT 0x0C // Get pixel format
+#define GC9107_GET_IMAGE_FMT 0x0D // Get image format
+#define GC9107_GET_SIGNAL_MODE 0x0E // Get signal mode
+#define GC9107_GET_DIAG_RESULT 0x0F // Get self-diagnostic results
+
+#define GC9107_SET_FRAME_RATE 0xA8 // Set frame rate
+#define GC9107_SET_COMPLEMENT_RGB 0xAC // Set complement Principle RGB
+#define GC9107_SET_BLANK_PORCH 0xAD // Set blank porch control, 0;front_porch[6:0],0;back_porch[6:0]
+#define GC9107_SET_FUNCTION_CTL1 0xB1 // Set access to AVDD_VCL_CLK and VGH_VGL_CLK commands
+#define GC9107_SET_FUNCTION_CTL2 0xB2 // Set access to VGH, VGH control commands
+#define GC9107_SET_FUNCTION_CTL3 0xB3 // Set access to Gamma control commands
+#define GC9107_SET_DISPLAY_INVERSION 0xB4 // Set Display Inversion control
+#define GC9107_SET_FUNCTION_CTL6 0xB6 // Set access to commands SET_FRAME_RATE, SET_COMPLEMENT_RGB and SET_BLANK_PORCH
+#define GC9107_SET_CUSTOM_ID_INFO 0xD3 // Set customized display id information
+#define GC9107_AVDD_VCL_CLK 0xE3 // AVDD_CLK
+#define GC9107_SET_VGH 0xE8 // Set VGH
+#define GC9107_SET_VGL 0xE9 // Set VGL
+#define GC9107_SET_VGH_VGL_CLK 0xEA // Set VGH and VGL clock divisors
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// GC9107 Parameter constants
+
+// Parameter values for
+// GC9107_SET_PIXEL_FORMAT
+#define GC9107_PIXEL_FORMAT_12_BPP_IFPF (0b001 << 0) // 12 bits per pixel
+#define GC9107_PIXEL_FORMAT_16_BPP_IFPF (0b101 << 0) // 16 bits per pixel
+#define GC9107_PIXEL_FORMAT_18_BPP_IFPB (0b110 << 0) // 18 bits per pixel
+
+// Parameter values for
+// GC9107_SET_COMPLEMENT_RGB
+#define GC9107_COMPLEMENT_WITH_0 0x00 // R0 <- B0 <- 0, except if data is FFh
+#define GC9107_COMPLEMENT_WITH_1 0x40 // R0 <- B0 <- 1, except if data is 00h
+#define GC9107_COMPLEMENT_WITH_MSB 0x80 // R0 <- R5, B0 <- B5
+#define GC9107_COMPLEMENT_WITH_LSB 0xC0 // R0 <- B0 <- G0
+// Parameter masks for
+// GC9107_SET_FUNCTION_CTL1
+#define GC9107_ALLOW_AVDD_VCL_CLK 0b00001000 // Allow AVDD_VCL_CLK command
+// Parameter masks for
+// GC9107_SET_FUNCTION_CTL2
+#define GC9107_ALLOW_SET_VGH 0b00000001 // Allow GC9107_SET_VGH
+#define GC9107_ALLOW_SET_VGL 0b00000010 // Allow GC9107_SET_VGL
+#define GC9107_ALLOW_SET_VGH_VGL_CLK 0b00000100 // Allow GC9107_SET_VGH_VGL_CLK
+// Parameter masks for
+// GC9107_SET_FUNCTION_CTL3
+#define GC9107_ALLOW_SET_GAMMA1 0b00000001 // Allow GC9107_SET_GAMMA1
+#define GC9107_ALLOW_SET_GAMMA2 0b00000010 // Allow GC9107_SET_GAMMA2
+// Parameter mask for
+// GC9107_SET_FUNCTION_CTL6
+#define GC9107_ALLOW_SET_FRAMERATE 0b000000001 // Allow GC9107_SET_FRAME_RATE
+#define GC9107_ALLOW_SET_COMPLEMENT_RGB 0b000010000 // Allow GC9107_SET_COMPLEMENT_RGB
+#define GC9107_ALLOW_SET_BLANK_PORCH 0b000100000 // Allow GFC9107_SET_BLANK_PORCH
+// Parameter values for
+// AVDD_CLK_AD part (Most significant nibble)
+#define GC9107_AVDD_CLK_AD_2T 0x00
+#define GC9107_AVDD_CLK_AD_3T 0x10
+#define GC9107_AVDD_CLK_AD_4T 0x20
+#define GC9107_AVDD_CLK_AD_5T 0x30
+#define GC9107_AVDD_CLK_AD_6T 0x40
+#define GC9107_AVDD_CLK_AD_7T 0x50
+#define GC9107_AVDD_CLK_AD_8T 0x60
+#define GC9107_AVDD_CLK_AD_9T 0x70
+// Parameter values for
+// VCL_CLK_AD part (Least significant nibble)
+#define GC9107_VCL_CLK_AD_2T 0x00
+#define GC9107_VCL_CLK_AD_3T 0x01
+#define GC9107_VCL_CLK_AD_4T 0x02
+#define GC9107_VCL_CLK_AD_5T 0x03
+#define GC9107_VCL_CLK_AD_6T 0x04
+#define GC9107_VCL_CLK_AD_7T 0x05
+#define GC9107_VCL_CLK_AD_8T 0x06
+#define GC9107_VCL_CLK_AD_9T 0x07
+// Parameter values for
+// GC9107_SET_VGH
+#define GC9107_VGH_P100 0x20 // +10 V
+#define GC9107_VGH_P110 0x21 // +11 V
+#define GC9107_VGH_P120 0x22 // +12 V
+#define GC9107_VGH_P130 0x23 // +13 V
+#define GC9107_VGH_P140 0x24 // +14 V
+#define GC9107_VGH_P150 0x25 // +15 V
+// Parameter values for
+// GC9107_SET_VGL
+#define VGL_N_075 0x40 // -7.5 V
+#define VGL_N_085 0x41 // -8.5 V
+#define VGL_N_095 0x42 // -9.5 V
+#define VGL_N_100 0x43 // -10.0 V
+#define VGL_N_105 0x44 // -10.5 V
+#define VGL_N_110 0x45 // -11.0 V
+#define VGL_N_120 0x46 // -12.0 V
+#define VGL_N_130 0x47 // -13.0 V
+// Parameter masks for
+// GC9107_SET_VGH_VGL_CLK (VGH Divisor)
+#define GC9107_VGH_CLK_DIV_2 0x00 // Clock divisor = 2 -> 6.0 Mhz
+#define GC9107_VGH_CLK_DIV_3 0x10 // Clock divisor = 3 -> 4.0 Mhz
+#define GC9107_VGH_CLK_DIV_4 0x20 // Clock divisor = 4 -> 3.0 Mhz
+#define GC9107_VGH_CLK_DIV_5 0x30 // Clock divisor = 5 -> 2.4 Mhz
+#define GC9107_VGH_CLK_DIV_6 0x40 // Clock divisor = 6 -> 2.0 Mhz
+#define GC9107_VGH_CLK_DIV_7 0x50 // Clock divisor = 7 -> 1.7 Mhz
+#define GC9107_VGH_CLK_DIV_8 0x60 // Clock divisor = 8 -> 1.5 Mhz
+#define GC9107_VGH_CLK_DIV_9 0x70 // Clock divisor = 9 -> 1.3 Mhz
+#define GC9107_VGH_CLK_DIV_10 0x80 // Clock divisor = 10 -> 1.2 Mhz
+#define GC9107_VGH_CLK_DIV_12 0x90 // Clock divisor = 12 -> 1.0 Mhz
+#define GC9107_VGH_CLK_DIV_15 0xA0 // Clock divisor = 15 -> 0.8 Mhz
+#define GC9107_VGH_CLK_DIV_20 0xB0 // Clock divisor = 20 -> 0.6 Mhz
+#define GC9107_VGH_CLK_DIV_24 0xC0 // Clock divisor = 24 -> 0.5 Mhz
+#define GC9107_VGH_CLK_DIV_30 0xD0 // Clock divisor = 30 -> 0.4 Mhz
+#define GC9107_VGH_CLK_DIV_40 0xE0 // Clock divisor = 40 -> 0.3 Mhz
+#define GC9107_VGH_CLK_DIV_60 0xE0 // Clock divisor = 40 -> 0.2 Mhz
+// Parameter masks for
+// GC9107_SET_VGH_VGL_CLK (VGL Divisor)
+#define GC9107_VGL_CLK_DIV_2 0x00 // Clock divisor = 2 -> 6.0 Mhz
+#define GC9107_VGL_CLK_DIV_3 0x01 // Clock divisor = 3 -> 4.0 Mhz
+#define GC9107_VGL_CLK_DIV_4 0x02 // Clock divisor = 4 -> 3.0 Mhz
+#define GC9107_VGL_CLK_DIV_5 0x03 // Clock divisor = 5 -> 2.4 Mhz
+#define GC9107_VGL_CLK_DIV_6 0x04 // Clock divisor = 6 -> 2.0 Mhz
+#define GC9107_VGL_CLK_DIV_7 0x05 // Clock divisor = 7 -> 1.7 Mhz
+#define GC9107_VGL_CLK_DIV_8 0x06 // Clock divisor = 8 -> 1.5 Mhz
+#define GC9107_VGL_CLK_DIV_9 0x07 // Clock divisor = 9 -> 1.3 Mhz
+#define GC9107_VGL_CLK_DIV_10 0x08 // Clock divisor = 10 -> 1.2 Mhz
+#define GC9107_VGL_CLK_DIV_12 0x09 // Clock divisor = 12 -> 1.0 Mhz
+#define GC9107_VGL_CLK_DIV_15 0x0A // Clock divisor = 15 -> 0.8 Mhz
+#define GC9107_VGL_CLK_DIV_20 0x0B // Clock divisor = 20 -> 0.6 Mhz
+#define GC9107_VGL_CLK_DIV_24 0x0C // Clock divisor = 24 -> 0.5 Mhz
+#define GC9107_VGL_CLK_DIV_30 0x0D // Clock divisor = 30 -> 0.4 Mhz
+#define GC9107_VGL_CLK_DIV_40 0x0E // Clock divisor = 40 -> 0.3 Mhz
+#define GC9107_VGL_CLK_DIV_60 0x0E // Clock divisor = 40 -> 0.2 Mhz
diff --git a/drivers/painter/gc9xxx/qp_gc9a01.c b/drivers/painter/gc9xxx/qp_gc9a01.c
new file mode 100644
index 000000000000..f037a4cc87b2
--- /dev/null
+++ b/drivers/painter/gc9xxx/qp_gc9a01.c
@@ -0,0 +1,127 @@
+// Copyright 2021 Paul Cotter (@gr1mr3aver)
+// Copyright 2023 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "qp_internal.h"
+#include "qp_comms.h"
+#include "qp_gc9a01.h"
+#include "qp_gc9xxx_opcodes.h"
+#include "qp_gc9a01_opcodes.h"
+#include "qp_tft_panel.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Driver storage
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+tft_panel_dc_reset_painter_device_t gc9a01_drivers[GC9A01_NUM_DEVICES] = {0};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Initialization
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+__attribute__((weak)) bool qp_gc9a01_init(painter_device_t device, painter_rotation_t rotation) {
+ // A lot of these "unknown" opcodes are sourced from other OSS projects and are seemingly required for this display to function.
+ // clang-format off
+
+ const uint8_t gc9a01_init_sequence[] = {
+ // Command, Delay, N, Data[N]
+ GC9XXX_SET_INTER_REG_ENABLE1, 0, 0,
+ GC9XXX_SET_INTER_REG_ENABLE2, 0, 0,
+ 0x84, 0, 1, 0x40,
+ GC9A01_SET_FUNCTION_CTL, 0, 3, 0x00, GC9A01_SOURCE_OUTPUT_SCAN_DIRECTION_S360_TO_S1 | GC9A01_GATE_OUTPUT_SCAN_DIRECTION_G1_TO_G32, GC9A01_LCD_DRIVE_LINE_240, // Only works if the previous command is present (undocumented)
+ GC9A01_SET_POWER_CTL_2, 0, 1, 0x20,
+ GC9A01_SET_POWER_CTL_3, 0, 1, 0x20,
+ GC9A01_SET_POWER_CTL_4, 0, 1, 0x22,
+ GC9XXX_SET_GAMMA1, 0, 6, 0x45, 0x09, 0x08, 0x08, 0x26, 0x2A,
+ GC9XXX_SET_GAMMA2, 0, 6, 0x43, 0x70, 0x72, 0x36, 0x37, 0x6F,
+ GC9A01_SET_GAMMA3, 0, 6, 0x45, 0x09, 0x08, 0x08, 0x26, 0x2A,
+ GC9A01_SET_GAMMA4, 0, 6, 0x43, 0x70, 0x72, 0x36, 0x37, 0x6F,
+ 0x66, 0, 10, 0x3C, 0x00, 0xCD, 0x67, 0x45, 0x45, 0x10, 0x00, 0x00, 0x00,
+ 0x67, 0, 10, 0x00, 0x3C, 0x00, 0x00, 0x00, 0x01, 0x54, 0x10, 0x32, 0x98,
+ GC9XXX_CMD_TEARING_ON, 0, 0,
+ GC9XXX_SET_PIXEL_FORMAT, 0, 1, GC9A01_PIXEL_FORMAT_16_BPP_DBI,
+ GC9XXX_CMD_INVERT_ON, 0, 0,
+ GC9XXX_CMD_SLEEP_OFF, 120, 0,
+ GC9XXX_CMD_DISPLAY_ON, 20, 0
+ };
+ // clang-format on
+
+ qp_comms_bulk_command_sequence(device, gc9a01_init_sequence, sizeof(gc9a01_init_sequence));
+
+ // Configure the rotation (i.e. the ordering and direction of memory writes in GRAM)
+ const uint8_t madctl[] = {
+ [QP_ROTATION_0] = GC9XXX_MADCTL_BGR,
+ [QP_ROTATION_90] = GC9XXX_MADCTL_BGR | GC9XXX_MADCTL_MX | GC9XXX_MADCTL_MV,
+ [QP_ROTATION_180] = GC9XXX_MADCTL_BGR | GC9XXX_MADCTL_MX | GC9XXX_MADCTL_MY,
+ [QP_ROTATION_270] = GC9XXX_MADCTL_BGR | GC9XXX_MADCTL_MV | GC9XXX_MADCTL_MY,
+ };
+ qp_comms_command_databyte(device, GC9XXX_SET_MEM_ACS_CTL, madctl[rotation]);
+
+ return true;
+}
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Driver vtable
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+const tft_panel_dc_reset_painter_driver_vtable_t gc9a01_driver_vtable = {
+ .base =
+ {
+ .init = qp_gc9a01_init,
+ .power = qp_tft_panel_power,
+ .clear = qp_tft_panel_clear,
+ .flush = qp_tft_panel_flush,
+ .pixdata = qp_tft_panel_pixdata,
+ .viewport = qp_tft_panel_viewport,
+ .palette_convert = qp_tft_panel_palette_convert_rgb565_swapped,
+ .append_pixels = qp_tft_panel_append_pixels_rgb565,
+ .append_pixdata = qp_tft_panel_append_pixdata,
+ },
+ .num_window_bytes = 2,
+ .swap_window_coords = false,
+ .opcodes =
+ {
+ .display_on = GC9XXX_CMD_DISPLAY_ON,
+ .display_off = GC9XXX_CMD_DISPLAY_OFF,
+ .set_column_address = GC9XXX_SET_COL_ADDR,
+ .set_row_address = GC9XXX_SET_ROW_ADDR,
+ .enable_writes = GC9XXX_SET_MEM,
+ },
+};
+
+#ifdef QUANTUM_PAINTER_GC9A01_SPI_ENABLE
+// Factory function for creating a handle to the ILI9341 device
+painter_device_t qp_gc9a01_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) {
+ for (uint32_t i = 0; i < GC9A01_NUM_DEVICES; ++i) {
+ tft_panel_dc_reset_painter_device_t *driver = &gc9a01_drivers[i];
+ if (!driver->base.driver_vtable) {
+ driver->base.driver_vtable = (const painter_driver_vtable_t *)&gc9a01_driver_vtable;
+ driver->base.comms_vtable = (const painter_comms_vtable_t *)&spi_comms_with_dc_vtable;
+ driver->base.native_bits_per_pixel = 16; // RGB565
+ driver->base.panel_width = panel_width;
+ driver->base.panel_height = panel_height;
+ driver->base.rotation = QP_ROTATION_0;
+ driver->base.offset_x = 0;
+ driver->base.offset_y = 0;
+
+ // SPI and other pin configuration
+ driver->base.comms_config = &driver->spi_dc_reset_config;
+ driver->spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin;
+ driver->spi_dc_reset_config.spi_config.divisor = spi_divisor;
+ driver->spi_dc_reset_config.spi_config.lsb_first = false;
+ driver->spi_dc_reset_config.spi_config.mode = spi_mode;
+ driver->spi_dc_reset_config.dc_pin = dc_pin;
+ driver->spi_dc_reset_config.reset_pin = reset_pin;
+ driver->spi_dc_reset_config.command_params_uses_command_pin = false;
+
+ if (!qp_internal_register_device((painter_device_t)driver)) {
+ memset(driver, 0, sizeof(tft_panel_dc_reset_painter_device_t));
+ return NULL;
+ }
+
+ return (painter_device_t)driver;
+ }
+ }
+ return NULL;
+}
+
+#endif // QUANTUM_PAINTER_GC9A01_SPI_ENABLE
diff --git a/drivers/painter/gc9a01/qp_gc9a01.h b/drivers/painter/gc9xxx/qp_gc9a01.h
similarity index 100%
rename from drivers/painter/gc9a01/qp_gc9a01.h
rename to drivers/painter/gc9xxx/qp_gc9a01.h
diff --git a/drivers/painter/gc9xxx/qp_gc9a01_opcodes.h b/drivers/painter/gc9xxx/qp_gc9a01_opcodes.h
new file mode 100644
index 000000000000..5853902e6834
--- /dev/null
+++ b/drivers/painter/gc9xxx/qp_gc9a01_opcodes.h
@@ -0,0 +1,104 @@
+// Copyright 2021 Paul Cotter (@gr1mr3aver)
+// Copyright 2024 Fernando Birra
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Quantum Painter GC9A01 command opcodes
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#define GC9A01_SET_MEM_CONT 0x3C // Set memory continue
+#define GC9A01_SET_BRIGHTNESS 0x51 // Set brightness
+#define GC9A01_SET_DISPLAY_CTL 0x53 // Set display ctl
+
+#define GC9A01_SET_RGB_IF_SIG_CTL 0xB0 // RGB IF signal ctl
+#define GC9A01_SET_BLANKING_PORCH_CTL 0xB5 // Set blanking porch ctl
+#define GC9A01_SET_FUNCTION_CTL 0xB6 // Set function ctl
+#define GC9A01_SET_TEARING_EFFECT 0xBA // Set tering effect control
+#define GC9A01_SET_POWER_CTL_7 0xA7 // Set power ctl 7
+#define GC9A01_SET_POWER_CTL_1 0xC1 // Set power ctl 1
+#define GC9A01_SET_POWER_CTL_2 0xC3 // Set power ctl 2
+#define GC9A01_SET_POWER_CTL_3 0xC4 // Set power ctl 3
+#define GC9A01_SET_POWER_CTL_4 0xC9 // Set power ctl 4
+#define GC9A01_SET_FRAME_RATE 0xE8 // Set frame rate
+#define GC9A01_SET_SPI_2DATA 0xE9 // Set frame rate
+#define GC9A01_SET_GAMMA3 0xF2 // Set gamma 3
+#define GC9A01_SET_GAMMA4 0xF3 // Set gamma 4
+#define GC9A01_SET_IF_CTL 0xF6 // Set interface control
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// GC9A01 MADCTL Flags
+#define GC9A01_MADCTL_MH 0b00000100
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// GC9A01 Parameter constants
+
+// Parameter values for
+// GC9A01_SET_PIXEL_FORMAT
+#define GC9A01_PIXEL_FORMAT_12_BPP_DBI (0b011 << 0) // 12 bits/pixel MCU interface format
+#define GC9A01_PIXEL_FORMAT_16_BPP_DBI (0b101 << 0) // 16 bits/pixel MCU interface format
+#define GC9A01_PIXEL_FORMAT_18_BPP_DBI (0b110 << 0) // 18 bits/pixel MCU interface format
+#define GC9A01_PIXEL_FORMAT_16_BPP_DPI (0b101 << 4) // 16 bits/pixel RGB interface format
+#define GC9A01_PIXEL_FORMAT_18_BPP_DPI (0b110 << 4) // 18 bits/pixel RGB interface format
+
+// Parameter values for
+// GC9A01_SET_FUNCTION_CTL (2nd parameter)
+#define GC9A01_SOURCE_OUTPUT_SCAN_DIRECTION_S1_TO_S360 0b00000000
+#define GC9A01_SOURCE_OUTPUT_SCAN_DIRECTION_S360_TO_S1 0b00100000
+#define GC9A01_GATE_OUTPUT_SCAN_DIRECTION_G1_TO_G32 0b00000000
+#define GC9A01_GATE_OUTPUT_SCAN_DIRECTION_G32_TO_G1 0b01000000
+#define GC9A01_SCAN_MODE_INTER 0x10
+
+// Parameter values for
+// GC9A01_SET_FUNCTION_CTL (3rd parameter)
+#define GC9A01_LCD_DRIVE_LINE_16 0x01
+#define GC9A01_LCD_DRIVE_LINE_24 0x02
+#define GC9A01_LCD_DRIVE_LINE_32 0x03
+#define GC9A01_LCD_DRIVE_LINE_40 0x04
+#define GC9A01_LCD_DRIVE_LINE_48 0x05
+#define GC9A01_LCD_DRIVE_LINE_56 0x06
+#define GC9A01_LCD_DRIVE_LINE_64 0x07
+#define GC9A01_LCD_DRIVE_LINE_72 0x08
+#define GC9A01_LCD_DRIVE_LINE_80 0x09
+#define GC9A01_LCD_DRIVE_LINE_88 0x0A
+#define GC9A01_LCD_DRIVE_LINE_96 0x0B
+#define GC9A01_LCD_DRIVE_LINE_104 0x0C
+#define GC9A01_LCD_DRIVE_LINE_112 0x0D
+#define GC9A01_LCD_DRIVE_LINE_120 0x0E
+#define GC9A01_LCD_DRIVE_LINE_128 0x0F
+#define GC9A01_LCD_DRIVE_LINE_136 0x10
+#define GC9A01_LCD_DRIVE_LINE_144 0x11
+#define GC9A01_LCD_DRIVE_LINE_152 0x12
+#define GC9A01_LCD_DRIVE_LINE_160 0x13
+#define GC9A01_LCD_DRIVE_LINE_168 0x14
+#define GC9A01_LCD_DRIVE_LINE_176 0x15
+#define GC9A01_LCD_DRIVE_LINE_184 0x16
+#define GC9A01_LCD_DRIVE_LINE_192 0x17
+#define GC9A01_LCD_DRIVE_LINE_200 0x18
+#define GC9A01_LCD_DRIVE_LINE_208 0x19
+#define GC9A01_LCD_DRIVE_LINE_216 0x1A
+#define GC9A01_LCD_DRIVE_LINE_224 0x1B
+#define GC9A01_LCD_DRIVE_LINE_232 0x1C
+#define GC9A01_LCD_DRIVE_LINE_240 0x1D
+
+// Parameter values for
+// GC9A01_SET_DISPLAY_CTL
+#define GC9A01_BRIGHTNESS_CONTROL_ON 0b00100000
+#define GC9A01_DIMMING_ON 0b00001000
+#define GC9A01_BACKLIGHT_ON 0b00000100
+#define GC9A01_BRIGHTNESS_CONTROL_OFF 0b00000000
+#define GC9A01_DIMMING_OFF 0b00000000
+#define GC9A01_BACKLIGHT_OFF 0b00000000
+
+// Parameter values for
+// GC9A01_SET_IF_CTL
+#define GC9A01_DISPLAY_MODE_INTERNAL_CLOCK 0b00000000
+#define GC9A01_DISPLAY_MODE_RGB_INTERFACE 0b00000100
+#define GC9A01_DISPLAY_MODE_VSYNC_INTERFACE 0b00001000
+#define GC9A01_DSISPLAY_MODE_DISABLED 0b00001100
+
+#define GC0A01_GRAM_INTERFACE_VSYNC 0b00000000
+#define GC9A01_GRAM_INTERFACE_RGB 0b00000010
+
+#define GC9A01_RGB_INTERFACE_MODE_1_TRANSFER 0b00000000
+#define GC9A01_RGB_INTERFACE_MODE_3_TRANSFER 0b00000001
\ No newline at end of file
diff --git a/drivers/painter/gc9xxx/qp_gc9xxx_opcodes.h b/drivers/painter/gc9xxx/qp_gc9xxx_opcodes.h
new file mode 100644
index 000000000000..7e0fbf9110b2
--- /dev/null
+++ b/drivers/painter/gc9xxx/qp_gc9xxx_opcodes.h
@@ -0,0 +1,55 @@
+// Copyright 2021 Paul Cotter (@gr1mr3aver)
+// Copyright 2024 Fernando Birra
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Quantum Painter GC9xxx command opcodes
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+#define GC9XXX_GET_ID_INFO 0x04 // Get ID information
+#define GC9XXX_GET_STATUS 0x09 // Get status
+
+#define GC9XXX_CMD_SLEEP_ON 0x10 // Enter sleep mode
+#define GC9XXX_CMD_SLEEP_OFF 0x11 // Exit sleep mode
+#define GC9XXX_CMD_PARTIAL_ON 0x12 // Enter partial mode
+#define GC9XXX_CMD_PARTIAL_OFF 0x13 // Exit partial mode
+
+#define GC9XXX_CMD_INVERT_OFF 0x20 // Exit inverted mode
+#define GC9XXX_CMD_INVERT_ON 0x21 // Enter inverted mode
+#define GC9XXX_CMD_DISPLAY_OFF 0x28 // Disable display
+#define GC9XXX_CMD_DISPLAY_ON 0x29 // Enable display
+#define GC9XXX_SET_COL_ADDR 0x2A // Set column address (MSB(StartCol),LSB(StartCol),MSB(EndCol),LSB(EndCol)
+#define GC9XXX_SET_ROW_ADDR 0x2B // Set row address (MSB(StartRow),LSB(StartRow),MSB(EndRow),LSB(EndRow)
+#define GC9XXX_SET_MEM 0x2C // Set (write) memory
+
+#define GC9XXX_SET_PARTIAL_AREA 0x30 // Set partial area (MSB(StartRow),LSB(StartRow),MSB(EndRow),LSB(EndRow)
+#define GC9XXX_SET_VSCROLL 0x33 // Set vertical scroll MSB(TFA),LSB(TFA),MSB(VSA),LSB(VSA)+ GC9107 extra param: MSB(BFA),LSB(BFA)
+#define GC9XXX_CMD_TEARING_OFF 0x34 // Tearing effect line OFF
+#define GC9XXX_CMD_TEARING_ON 0x35 // Tearing effect line ON
+#define GC9XXX_SET_MEM_ACS_CTL 0x36 // Set mem access ctl
+#define GC9XXX_SET_VSCROLL_ADDR 0x37 // Set vscroll start addr
+#define GC9XXX_CMD_IDLE_OFF 0x38 // Exit idle mode
+#define GC9XXX_CMD_IDLE_ON 0x39 // Enter idle mode
+#define GC9XXX_SET_PIXEL_FORMAT 0x3A // Set pixel format
+#define GC9XXX_SET_TEAR_SCANLINE 0x44 // Set tearing scanline (Scanline = LS bit of Param 1 (GC9A01) + Param 2(GC9XXX))
+#define GC9XXX_GET_TEAR_SCANLINE 0x45 // Get tearing scanline (Scanline = LS bit of Param 1 (GC9A01) + Param 2(GC9XXX))
+#define GC9XXX_GET_ID1 0xDA // Get ID1
+#define GC9XXX_GET_ID2 0xDB // Get ID2
+#define GC9XXX_GET_ID3 0xDC // Get ID3
+#define GC9XXX_SET_INTER_REG_ENABLE1 0xFE // Enable Inter Register 1
+#define GC9XXX_SET_INTER_REG_ENABLE2 0xEF // Enable Inter Register 2
+#define GC9XXX_SET_GAMMA1 0xF0 // Set gamma 1
+#define GC9XXX_SET_GAMMA2 0xF1 // Set gamma 2
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// MADCTL Flags
+#define GC9XXX_MADCTL_MY 0b10000000 // Mirror Y (row address order)
+#define GC9XXX_MADCTL_MX 0b01000000 // Mirror X (column address order)
+#define GC9XXX_MADCTL_MV 0b00100000 // Vertical Refresh Order (bottom to top)
+#define GC9XXX_MADCTL_ML 0b00010000
+#define GC9XXX_MADCTL_BGR 0b00001000
+#define GC9XXX_MADCTL_RGB 0b00000000
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// GC9XXX Parameter constants
diff --git a/drivers/painter/generic/qp_surface_rgb565.c b/drivers/painter/generic/qp_surface_rgb565.c
index 8883ed541d82..c5b351311a06 100644
--- a/drivers/painter/generic/qp_surface_rgb565.c
+++ b/drivers/painter/generic/qp_surface_rgb565.c
@@ -52,7 +52,7 @@ static bool qp_surface_pixdata_rgb565(painter_device_t device, const void *pixel
// Pixel colour conversion
static bool qp_surface_palette_convert_rgb565_swapped(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) {
for (int16_t i = 0; i < palette_size; ++i) {
- RGB rgb = hsv_to_rgb_nocie((HSV){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v});
+ rgb_t rgb = hsv_to_rgb_nocie((hsv_t){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v});
uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3);
palette[i].rgb565 = __builtin_bswap16(rgb565);
}
diff --git a/drivers/painter/ld7032/qp_ld7032.c b/drivers/painter/ld7032/qp_ld7032.c
new file mode 100644
index 000000000000..f43ae8e60d7a
--- /dev/null
+++ b/drivers/painter/ld7032/qp_ld7032.c
@@ -0,0 +1,411 @@
+// Copyright 2023 Nick Brassel (@tzarc)
+// Copyright 2023 Dasky (@daskygit)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "qp_internal.h"
+#include "qp_comms.h"
+#include "qp_oled_panel.h"
+#include "qp_ld7032.h"
+#include "qp_ld7032_opcodes.h"
+#include "qp_surface.h"
+#include "qp_surface_internal.h"
+
+typedef void (*ld7032_driver_comms_send_command_and_data_func)(painter_device_t device, uint8_t cmd, uint8_t data);
+typedef uint32_t (*ld7032_driver_comms_send_command_and_databuf_func)(painter_device_t device, uint8_t cmd, const void *data, uint32_t byte_count);
+
+typedef struct ld7032_comms_with_command_vtable_t {
+ painter_comms_vtable_t base; // must be first, so this object can be cast from the painter_comms_vtable_t* type
+ painter_driver_comms_send_command_func send_command;
+ painter_driver_comms_bulk_command_sequence bulk_command_sequence;
+ ld7032_driver_comms_send_command_and_data_func send_command_data;
+ ld7032_driver_comms_send_command_and_databuf_func send_command_databuf;
+} ld7032_comms_with_command_vtable_t;
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// LD7032 Internal API
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+void ld7032_comms_i2c_send_command_and_data(painter_device_t device, uint8_t cmd, uint8_t data) {
+ uint8_t buf[2] = {cmd, data};
+ qp_comms_i2c_send_data(device, buf, 2);
+}
+
+void ld7032_comms_i2c_bulk_command_sequence(painter_device_t device, const uint8_t *sequence, size_t sequence_len) {
+ uint8_t buf[32];
+ for (size_t i = 0; i < sequence_len;) {
+ uint8_t command = sequence[i];
+ uint8_t delay = sequence[i + 1];
+ uint8_t num_bytes = sequence[i + 2];
+ buf[0] = command;
+ memcpy(&buf[1], &sequence[i + 3], num_bytes);
+ qp_comms_i2c_send_data(device, buf, num_bytes + 1);
+ if (delay > 0) {
+ wait_ms(delay);
+ }
+ i += (3 + num_bytes);
+ }
+}
+
+uint32_t ld7032_comms_i2c_send_command_and_databuf(painter_device_t device, uint8_t cmd, const void *data, uint32_t byte_count) {
+ uint8_t buf[byte_count + 1];
+ memset(buf, 0, sizeof(buf));
+ buf[0] = cmd;
+ memcpy(&buf[1], data, byte_count);
+ return qp_comms_send(device, buf, byte_count + 1);
+}
+
+// Power control
+bool qp_ld7032_power(painter_device_t device, bool power_on) {
+ painter_driver_t * driver = (painter_driver_t *)device;
+ ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)driver->comms_vtable;
+
+ comms_vtable->send_command_data(device, LD7032_DISP_ON_OFF, power_on ? 0x01 : 0x00);
+
+ return true;
+}
+
+// Screen clear
+bool qp_ld7032_clear(painter_device_t device) {
+ qp_rect(device, 0, 0, 127, 127, 0, 0, 0, true); // clear memory
+ painter_driver_t *driver = (painter_driver_t *)device;
+ driver->driver_vtable->init(device, driver->rotation); // Re-init the display
+ return true;
+}
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Flush helpers
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+void ld7032_flush_0(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer, bool inverted) {
+ painter_driver_t * driver = (painter_driver_t *)device;
+ ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)driver->comms_vtable;
+
+ int x_start = dirty->l >> 3;
+ int x_end = dirty->r >> 3;
+ int y_start = dirty->t;
+ int y_end = dirty->b;
+ int x_length = (x_end - x_start) + 1;
+ uint8_t x_view_offset = driver->offset_x >> 3;
+ uint8_t y_view_offset = driver->offset_y;
+
+ for (int y_pos = y_start; y_pos <= y_end; y_pos++) {
+ int y_new_pos = y_pos;
+ if (inverted) {
+ y_new_pos = y_end - y_pos;
+ }
+ uint8_t packet[x_length];
+ memcpy(packet, &framebuffer[(y_pos * (driver->panel_width >> 3)) + x_start], x_length);
+ uint8_t x_write_start = MIN(x_start + x_view_offset, (128 >> 3));
+ uint8_t x_write_end = MIN(x_end + x_view_offset, (128 >> 3));
+ uint8_t y_write_start = MIN(y_new_pos + y_view_offset, 39);
+ uint8_t y_write_end = MIN(y_new_pos + y_view_offset, 39);
+
+ comms_vtable->send_command_data(device, LD7032_X_BOX_ADR_START, x_write_start);
+ comms_vtable->send_command_data(device, LD7032_X_BOX_ADR_END, x_write_end);
+ comms_vtable->send_command_data(device, LD7032_Y_BOX_ADR_START, y_write_start);
+ comms_vtable->send_command_data(device, LD7032_Y_BOX_ADR_END, y_write_end);
+ comms_vtable->send_command_databuf(device, LD7032_DATA_RW, packet, x_length);
+ }
+}
+
+void ld7032_flush_90(painter_device_t device, surface_dirty_data_t *dirty, const uint8_t *framebuffer, bool inverted) {
+ painter_driver_t * driver = (painter_driver_t *)device;
+ ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)driver->comms_vtable;
+
+ int x_start = dirty->t >> 3;
+ int x_end = dirty->b >> 3;
+ int y_start = dirty->l;
+ int y_end = dirty->r;
+ int x_length = (x_end - x_start) + 1;
+ uint8_t x_view_offset = driver->offset_x >> 3;
+ uint8_t y_view_offset = driver->offset_y;
+
+ for (int y_pos = y_start; y_pos <= y_end; y_pos++) {
+ int y_new_pos = y_pos;
+ if (inverted) {
+ y_new_pos = y_end - y_pos;
+ }
+ uint8_t packet[x_length];
+ memset(packet, 0, sizeof(packet));
+ int count = 0;
+ for (int x_pos = x_start; x_pos <= x_end; x_pos++) {
+ for (int x = 0; x < 8; ++x) {
+ uint32_t pixel_num = (((x_pos << 3) + x) * driver->panel_height) + y_pos;
+ uint32_t byte_offset = pixel_num / 8;
+ uint8_t bit_offset = pixel_num % 8;
+ packet[count] |= ((framebuffer[byte_offset] & (1 << bit_offset)) >> bit_offset) << x;
+ }
+ count++;
+ }
+ uint8_t x_width = (driver->panel_width >> 3) - 1;
+ uint8_t x_write_start = MAX((int)x_width - x_end - x_view_offset, 0);
+ uint8_t x_write_end = MAX((int)x_width - x_start - x_view_offset, 0);
+ uint8_t y_write_start = MIN(y_new_pos + y_view_offset, 39);
+ uint8_t y_write_end = MIN(y_new_pos + y_view_offset, 39);
+
+ comms_vtable->send_command_data(device, LD7032_X_BOX_ADR_START, x_write_start);
+ comms_vtable->send_command_data(device, LD7032_X_BOX_ADR_END, x_write_end);
+ comms_vtable->send_command_data(device, LD7032_Y_BOX_ADR_START, y_write_start);
+ comms_vtable->send_command_data(device, LD7032_Y_BOX_ADR_END, y_write_end);
+ comms_vtable->send_command_databuf(device, LD7032_DATA_RW, packet, x_length);
+ }
+}
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Driver storage
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+typedef struct ld7032_device_t {
+ oled_panel_painter_device_t oled;
+
+ uint8_t framebuffer[SURFACE_REQUIRED_BUFFER_BYTE_SIZE(128, 40, 1)];
+} ld7032_device_t;
+
+static ld7032_device_t ld7032_drivers[LD7032_NUM_DEVICES] = {0};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Quantum Painter API implementations
+
+// Initialisation
+__attribute__((weak)) bool qp_ld7032_init(painter_device_t device, painter_rotation_t rotation) {
+ ld7032_device_t *driver = (ld7032_device_t *)device;
+
+ // Change the surface geometry based on the panel rotation
+ if (rotation == QP_ROTATION_90 || rotation == QP_ROTATION_270) {
+ driver->oled.surface.base.panel_width = driver->oled.base.panel_height;
+ driver->oled.surface.base.panel_height = driver->oled.base.panel_width;
+ } else {
+ driver->oled.surface.base.panel_width = driver->oled.base.panel_width;
+ driver->oled.surface.base.panel_height = driver->oled.base.panel_height;
+ }
+
+ // Init the internal surface
+ if (!qp_init(&driver->oled.surface.base, QP_ROTATION_0)) {
+ qp_dprintf("Failed to init internal surface in qp_ld7032_init\n");
+ return false;
+ }
+
+ // clang-format off
+ const uint8_t ld7032_init_sequence[] = {
+ // Command, Delay, N, Data[N]
+ LD7032_DISP_STBY_ON_OFF, 0, 1, 0x00,
+ LD7032_DISP_ON_OFF, 0, 1, 0x00,
+ LD7032_DFRAME, 0, 1, 0x05,
+ //LD7032_WRITE_DIRECTION, 0, 1, 0b00001000, // 0 Right, 1 Up, 2 Vertical, 3 Bit Order, 4-7 Unused
+ LD7032_DISP_DIRECTION, 0, 1, 0x00,
+ LD7032_PEAK_WIDTH, 0, 1, 0x1F,
+ LD7032_PEAK_DELAY, 0, 1, 0x05,
+ LD7032_SCAN_MODE, 0, 1, 0x01,
+ LD7032_DOT_CURRENT, 0, 1, 0x1f,
+ LD7032_VDD_SEL, 0, 1, 0x01,
+ };
+ // clang-format on
+
+ qp_comms_bulk_command_sequence(device, ld7032_init_sequence, sizeof(ld7032_init_sequence));
+
+ uint8_t display_y_start = 40 - driver->oled.base.panel_height;
+ uint8_t display_x_start = (128 - driver->oled.base.panel_width) / 2;
+
+ // clang-format off
+ uint8_t ld7032_memory_setup[] = {
+ // Command, Delay, N, Data[N]
+ LD7032_DISP_SIZE_X, 0, 2, 0x00, 0x7F,
+ LD7032_DISP_SIZE_Y, 0, 2, 0x00, 0x27,
+ LD7032_X_DISP_START, 0, 1, 0x0,
+ LD7032_Y_DISP_START, 0, 1, 0x0,
+ };
+ // clang-format on
+
+ ld7032_memory_setup[3] = display_x_start;
+ ld7032_memory_setup[4] = display_x_start + driver->oled.base.panel_width - 1;
+ ld7032_memory_setup[8] = display_y_start;
+ ld7032_memory_setup[9] = display_y_start + driver->oled.base.panel_height - 1;
+ ld7032_memory_setup[13] = ld7032_memory_setup[4] + 1;
+ ld7032_memory_setup[17] = driver->oled.base.panel_height;
+
+ qp_comms_bulk_command_sequence(device, ld7032_memory_setup, sizeof(ld7032_memory_setup));
+
+ uint8_t write_direction = 0;
+ switch (rotation) {
+ default:
+ case QP_ROTATION_0:
+ write_direction = 0b00001000;
+ break;
+ case QP_ROTATION_90:
+ write_direction = 0b00000001;
+ break;
+ case QP_ROTATION_180:
+ write_direction = 0b00000001;
+ break;
+ case QP_ROTATION_270:
+ write_direction = 0b00001000;
+ break;
+ }
+
+ painter_driver_t * pdriver = (painter_driver_t *)device;
+ ld7032_comms_with_command_vtable_t *comms_vtable = (ld7032_comms_with_command_vtable_t *)pdriver->comms_vtable;
+
+ comms_vtable->send_command_data(device, LD7032_WRITE_DIRECTION, write_direction);
+
+ qp_ld7032_power(device, true);
+
+ return true;
+}
+
+// Screen flush
+bool qp_ld7032_flush(painter_device_t device) {
+ ld7032_device_t *driver = (ld7032_device_t *)device;
+
+ if (!driver->oled.surface.dirty.is_dirty) {
+ return true;
+ }
+
+ switch (driver->oled.base.rotation) {
+ default:
+ case QP_ROTATION_0:
+ ld7032_flush_0(device, &driver->oled.surface.dirty, driver->framebuffer, false);
+ break;
+ case QP_ROTATION_180:
+ ld7032_flush_0(device, &driver->oled.surface.dirty, driver->framebuffer, true);
+ break;
+ case QP_ROTATION_90:
+ ld7032_flush_90(device, &driver->oled.surface.dirty, driver->framebuffer, false);
+ break;
+ case QP_ROTATION_270:
+ ld7032_flush_90(device, &driver->oled.surface.dirty, driver->framebuffer, true);
+ break;
+ }
+
+ // Clear the dirty area
+ qp_flush(&driver->oled.surface);
+
+ return true;
+}
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Driver vtable
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+
+const painter_driver_vtable_t ld7032_driver_vtable = {
+ .init = qp_ld7032_init,
+ .power = qp_ld7032_power,
+ .clear = qp_ld7032_clear,
+ .flush = qp_ld7032_flush,
+ .pixdata = qp_oled_panel_passthru_pixdata,
+ .viewport = qp_oled_panel_passthru_viewport,
+ .palette_convert = qp_oled_panel_passthru_palette_convert,
+ .append_pixels = qp_oled_panel_passthru_append_pixels,
+ .append_pixdata = qp_oled_panel_passthru_append_pixdata,
+};
+
+#ifdef QUANTUM_PAINTER_LD7032_SPI_ENABLE
+
+const ld7032_comms_with_command_vtable_t ld7032_spi_comms_vtable = {
+ .base =
+ {
+ .comms_init = qp_comms_spi_dc_reset_init,
+ .comms_start = qp_comms_spi_start,
+ .comms_send = qp_comms_spi_dc_reset_send_data,
+ .comms_stop = qp_comms_spi_stop,
+ },
+ .send_command = qp_comms_spi_dc_reset_send_command,
+ .send_command_data = qp_comms_command_databyte,
+ .send_command_databuf = qp_comms_command_databuf,
+ .bulk_command_sequence = qp_comms_spi_dc_reset_bulk_command_sequence,
+};
+
+// Factory function for creating a handle to the LD7032 device
+painter_device_t qp_ld7032_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode) {
+ for (uint32_t i = 0; i < LD7032_NUM_DEVICES; ++i) {
+ ld7032_device_t *driver = &ld7032_drivers[i];
+ if (!driver->oled.base.driver_vtable) {
+ painter_device_t surface = qp_make_mono1bpp_surface_advanced(&driver->oled.surface, 1, panel_width, panel_height, driver->framebuffer);
+ if (!surface) {
+ return NULL;
+ }
+
+ // Setup the OLED device
+ driver->oled.base.driver_vtable = (const painter_driver_vtable_t *)&ld7032_driver_vtable;
+ driver->oled.base.comms_vtable = (const painter_comms_vtable_t *)&ld7032_spi_comms_vtable;
+ driver->oled.base.native_bits_per_pixel = 1; // 1bpp mono
+ driver->oled.base.panel_width = panel_width;
+ driver->oled.base.panel_height = panel_height;
+ driver->oled.base.rotation = QP_ROTATION_0;
+ driver->oled.base.offset_x = 0;
+ driver->oled.base.offset_y = 0;
+
+ // SPI and other pin configuration
+ driver->oled.base.comms_config = &driver->oled.spi_dc_reset_config;
+ driver->oled.spi_dc_reset_config.spi_config.chip_select_pin = chip_select_pin;
+ driver->oled.spi_dc_reset_config.spi_config.divisor = spi_divisor;
+ driver->oled.spi_dc_reset_config.spi_config.lsb_first = false;
+ driver->oled.spi_dc_reset_config.spi_config.mode = spi_mode;
+ driver->oled.spi_dc_reset_config.dc_pin = dc_pin;
+ driver->oled.spi_dc_reset_config.reset_pin = reset_pin;
+ driver->oled.spi_dc_reset_config.command_params_uses_command_pin = true;
+
+ if (!qp_internal_register_device((painter_device_t)driver)) {
+ memset(driver, 0, sizeof(ld7032_device_t));
+ return NULL;
+ }
+
+ return (painter_device_t)driver;
+ }
+ }
+ return NULL;
+}
+
+#endif // QUANTUM_PAINTER_LD7032_SPI_ENABLE
+
+#ifdef QUANTUM_PAINTER_LD7032_I2C_ENABLE
+
+const ld7032_comms_with_command_vtable_t ld7032_i2c_comms_vtable = {
+ .base =
+ {
+ .comms_init = qp_comms_i2c_init,
+ .comms_start = qp_comms_i2c_start,
+ .comms_send = qp_comms_i2c_send_data,
+ .comms_stop = qp_comms_i2c_stop,
+ },
+ .send_command = NULL,
+ .send_command_data = ld7032_comms_i2c_send_command_and_data,
+ .send_command_databuf = ld7032_comms_i2c_send_command_and_databuf,
+ .bulk_command_sequence = ld7032_comms_i2c_bulk_command_sequence,
+};
+
+// Factory function for creating a handle to the LD7032 device
+painter_device_t qp_ld7032_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address) {
+ for (uint32_t i = 0; i < LD7032_NUM_DEVICES; ++i) {
+ ld7032_device_t *driver = &ld7032_drivers[i];
+ if (!driver->oled.base.driver_vtable) {
+ painter_device_t surface = qp_make_mono1bpp_surface_advanced(&driver->oled.surface, 1, panel_width, panel_height, driver->framebuffer);
+ if (!surface) {
+ return NULL;
+ }
+
+ // Setup the OLED device
+ driver->oled.base.driver_vtable = (const painter_driver_vtable_t *)&ld7032_driver_vtable;
+ driver->oled.base.comms_vtable = (const painter_comms_vtable_t *)&ld7032_i2c_comms_vtable;
+ driver->oled.base.native_bits_per_pixel = 1; // 1bpp mono
+ driver->oled.base.panel_width = panel_width;
+ driver->oled.base.panel_height = panel_height;
+ driver->oled.base.rotation = QP_ROTATION_0;
+ driver->oled.base.offset_x = 0;
+ driver->oled.base.offset_y = 0;
+
+ // I2C configuration
+ driver->oled.base.comms_config = &driver->oled.i2c_config;
+ driver->oled.i2c_config.chip_address = i2c_address;
+
+ if (!qp_internal_register_device((painter_device_t)driver)) {
+ memset(driver, 0, sizeof(ld7032_device_t));
+ return NULL;
+ }
+
+ return (painter_device_t)driver;
+ }
+ }
+ return NULL;
+}
+
+#endif // QUANTUM_PAINTER_LD7032_SPI_ENABLE
diff --git a/drivers/painter/ld7032/qp_ld7032.h b/drivers/painter/ld7032/qp_ld7032.h
new file mode 100644
index 000000000000..967eb7999cc0
--- /dev/null
+++ b/drivers/painter/ld7032/qp_ld7032.h
@@ -0,0 +1,66 @@
+// Copyright 2023 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+
+#include "gpio.h"
+#include "qp_internal.h"
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Quantum Painter LD7032 configurables (add to your keyboard's config.h)
+
+#if defined(QUANTUM_PAINTER_LD7032_SPI_ENABLE) && !defined(LD7032_NUM_SPI_DEVICES)
+/**
+ * @def This controls the maximum number of SPI LD7032 devices that Quantum Painter can communicate with at any one time.
+ * Increasing this number allows for multiple displays to be used.
+ */
+# define LD7032_NUM_SPI_DEVICES 1
+#else
+# define LD7032_NUM_SPI_DEVICES 0
+#endif
+
+#if defined(QUANTUM_PAINTER_LD7032_I2C_ENABLE) && !defined(LD7032_NUM_I2C_DEVICES)
+/**
+ * @def This controls the maximum number of I2C LD7032 devices that Quantum Painter can communicate with at any one time.
+ * Increasing this number allows for multiple displays to be used.
+ */
+# define LD7032_NUM_I2C_DEVICES 1
+#else
+# define LD7032_NUM_I2C_DEVICES 0
+#endif
+
+#define LD7032_NUM_DEVICES ((LD7032_NUM_SPI_DEVICES) + (LD7032_NUM_I2C_DEVICES))
+
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
+// Quantum Painter LD7032 device factories
+
+#ifdef QUANTUM_PAINTER_LD7032_SPI_ENABLE
+
+/**
+ * Factory method for an LD7032 SPI LCD device.
+ *
+ * @param panel_width[in] the width of the display in pixels (usually 128)
+ * @param panel_height[in] the height of the display in pixels (usually 64)
+ * @param chip_select_pin[in] the GPIO pin used for SPI chip select
+ * @param dc_pin[in] the GPIO pin used for D/C control
+ * @param reset_pin[in] the GPIO pin used for RST
+ * @param spi_divisor[in] the SPI divisor to use when communicating with the display
+ * @param spi_mode[in] the SPI mode to use when communicating with the display
+ * @return the device handle used with all drawing routines in Quantum Painter
+ */
+painter_device_t qp_ld7032_make_spi_device(uint16_t panel_width, uint16_t panel_height, pin_t chip_select_pin, pin_t dc_pin, pin_t reset_pin, uint16_t spi_divisor, int spi_mode);
+
+#endif // QUANTUM_PAINTER_LD7032_SPI_ENABLE
+
+#ifdef QUANTUM_PAINTER_LD7032_I2C_ENABLE
+
+/**
+ * Factory method for an LD7032 I2C LCD device.
+ *
+ * @param panel_width[in] the width of the display in pixels (usually 128)
+ * @param panel_height[in] the height of the display in pixels (usually 64)
+ * @param i2c_address[in] the I2C address to use
+ * @return the device handle used with all drawing routines in Quantum Painter
+ */
+painter_device_t qp_ld7032_make_i2c_device(uint16_t panel_width, uint16_t panel_height, uint8_t i2c_address);
+
+#endif // QUANTUM_PAINTER_LD7032_I2C_ENABLE
\ No newline at end of file
diff --git a/drivers/painter/ld7032/qp_ld7032_opcodes.h b/drivers/painter/ld7032/qp_ld7032_opcodes.h
new file mode 100644
index 000000000000..08ab77d6f862
--- /dev/null
+++ b/drivers/painter/ld7032/qp_ld7032_opcodes.h
@@ -0,0 +1,45 @@
+// Copyright 2023 Dasky (@daskygit)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+typedef enum {
+ LD7032_SOFTRES = 0x01,
+ LD7032_DISP_ON_OFF = 0x02,
+ LD7032_DATA_RW = 0x08,
+ LD7032_DISP_DIRECTION = 0x09,
+ LD7032_IFMODE = 0x0D,
+ LD7032_PEAK_WIDTH = 0x10,
+ LD7032_DOT_CURRENT = 0x12,
+ LD7032_SCAN_MODE = 0x13,
+ LD7032_DISP_STBY_ON_OFF = 0x14,
+ LD7032_PEAK_DELAY = 0x16,
+ LD7032_ROW_SCAN = 0x17,
+ LD7032_PRE_C_WIDTH = 0x18,
+ LD7032_DFRAME = 0x1A,
+ LD7032_DATA_REVERSE = 0x1C,
+ LD7032_WRITE_DIRECTION = 0x1D,
+ LD7032_READREG = 0x20,
+ LD7032_DISP_SIZE_X = 0x30,
+ LD7032_DISP_SIZE_Y = 0x32,
+ LD7032_X_BOX_ADR_START = 0x34,
+ LD7032_X_BOX_ADR_END = 0x35,
+ LD7032_Y_BOX_ADR_START = 0x36,
+ LD7032_Y_BOX_ADR_END = 0x37,
+ LD7032_X_DISP_START = 0x38,
+ LD7032_Y_DISP_START = 0x39,
+ LD7032_XTALK_EN = 0x3A,
+ LD7032_XTALK_REF = 0x3B,
+ LD7032_AGING_EN = 0x3C,
+ LD7032_VDD_SEL = 0x3D,
+ LD7032_TESTCNT0 = 0x3E,
+ LD7032_VCC_R_SEL = 0x3F,
+ LD7032_PRE_C_SELECT = 0x44,
+ LD7032_ROW_OVERLAP = 0x48,
+ LD7032_S_SLEEP_TIMER = 0xC0,
+ LD7032_S_SLEEP_START = 0xC2,
+ LD7032_S_STEP_TIMER = 0xC3,
+ LD7032_S_STEP_UNIT = 0xC4,
+ LD7032_S_CONDITION = 0xCC,
+ LD7032_S_START_STOP = 0xCD,
+ LD7032_S_SELECT = 0xCE,
+ LD7032_TESTCNT1 = 0xF0, //-0xFF
+} ld7032_opcodes;
\ No newline at end of file
diff --git a/drivers/painter/tft_panel/qp_tft_panel.c b/drivers/painter/tft_panel/qp_tft_panel.c
index 16dba9d6a639..c8e33343d444 100644
--- a/drivers/painter/tft_panel/qp_tft_panel.c
+++ b/drivers/painter/tft_panel/qp_tft_panel.c
@@ -90,7 +90,7 @@ bool qp_tft_panel_pixdata(painter_device_t device, const void *pixel_data, uint3
bool qp_tft_panel_palette_convert_rgb565_swapped(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) {
for (int16_t i = 0; i < palette_size; ++i) {
- RGB rgb = hsv_to_rgb_nocie((HSV){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v});
+ rgb_t rgb = hsv_to_rgb_nocie((hsv_t){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v});
uint16_t rgb565 = (((uint16_t)rgb.r) >> 3) << 11 | (((uint16_t)rgb.g) >> 2) << 5 | (((uint16_t)rgb.b) >> 3);
palette[i].rgb565 = __builtin_bswap16(rgb565);
}
@@ -99,7 +99,7 @@ bool qp_tft_panel_palette_convert_rgb565_swapped(painter_device_t device, int16_
bool qp_tft_panel_palette_convert_rgb888(painter_device_t device, int16_t palette_size, qp_pixel_t *palette) {
for (int16_t i = 0; i < palette_size; ++i) {
- RGB rgb = hsv_to_rgb_nocie((HSV){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v});
+ rgb_t rgb = hsv_to_rgb_nocie((hsv_t){palette[i].hsv888.h, palette[i].hsv888.s, palette[i].hsv888.v});
palette[i].rgb888.r = rgb.r;
palette[i].rgb888.g = rgb.g;
palette[i].rgb888.b = rgb.b;
diff --git a/drivers/sensors/adns5050.c b/drivers/sensors/adns5050.c
index 97daa8db0996..1768c9f3b4a2 100644
--- a/drivers/sensors/adns5050.c
+++ b/drivers/sensors/adns5050.c
@@ -21,6 +21,7 @@
#include "wait.h"
#include "debug.h"
#include "gpio.h"
+#include "pointing_device_internal.h"
// Registers
// clang-format off
@@ -45,6 +46,15 @@
#define REG_MOTION_BURST 0x63
// clang-format on
+const pointing_device_driver_t adns5050_pointing_device_driver = {
+ .init = adns5050_init,
+ .get_report = adns5050_get_report,
+ .set_cpi = adns5050_set_cpi,
+ .get_cpi = adns5050_get_cpi,
+};
+
+static bool powered_down = false;
+
void adns5050_init(void) {
// Initialize the ADNS serial pins.
gpio_set_pin_output(ADNS5050_SCLK_PIN);
@@ -59,6 +69,8 @@ void adns5050_init(void) {
// this ensures that the adns is actuall ready after reset.
wait_ms(55);
+ powered_down = false;
+
// read a burst from the adns and then discard it.
// gets the adns ready for write commands
// (for example, setting the dpi).
@@ -163,6 +175,10 @@ report_adns5050_t adns5050_read_burst(void) {
data.dx = 0;
data.dy = 0;
+ if (powered_down) {
+ return data;
+ }
+
adns5050_serial_write(REG_MOTION_BURST);
// We don't need a minimum tSRAD here. That's because a 4ms wait time is
@@ -211,3 +227,22 @@ bool adns5050_check_signature(void) {
return (pid == 0x12 && rid == 0x01 && pid2 == 0x26);
}
+
+void adns5050_power_down(void) {
+ if (!powered_down) {
+ powered_down = true;
+ adns5050_write_reg(REG_MOUSE_CONTROL, 0b10);
+ }
+}
+
+report_mouse_t adns5050_get_report(report_mouse_t mouse_report) {
+ report_adns5050_t data = adns5050_read_burst();
+
+ if (data.dx != 0 || data.dy != 0) {
+ pd_dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy);
+ mouse_report.x = (mouse_xy_report_t)data.dx;
+ mouse_report.y = (mouse_xy_report_t)data.dy;
+ }
+
+ return mouse_report;
+}
diff --git a/drivers/sensors/adns5050.h b/drivers/sensors/adns5050.h
index 8ef0f7cc7ce3..4dfcbc3c70d8 100644
--- a/drivers/sensors/adns5050.h
+++ b/drivers/sensors/adns5050.h
@@ -21,6 +21,7 @@
#include
#include
+#include "pointing_device.h"
// CPI values
// clang-format off
@@ -69,6 +70,8 @@ typedef struct {
int8_t dy;
} report_adns5050_t;
+const pointing_device_driver_t adns5050_pointing_device_driver;
+
// A bunch of functions to implement the ADNS5050-specific serial protocol.
// Note that the "serial.h" driver is insufficient, because it does not
// manually manipulate a serial clock signal.
@@ -83,3 +86,5 @@ void adns5050_set_cpi(uint16_t cpi);
uint16_t adns5050_get_cpi(void);
int8_t convert_twoscomp(uint8_t data);
bool adns5050_check_signature(void);
+void adns5050_power_down(void);
+report_mouse_t adns5050_get_report(report_mouse_t mouse_report);
diff --git a/drivers/sensors/adns9800.c b/drivers/sensors/adns9800.c
index f34529ee90dd..0dbc528351c2 100644
--- a/drivers/sensors/adns9800.c
+++ b/drivers/sensors/adns9800.c
@@ -15,7 +15,6 @@
*/
#include "spi_master.h"
-#include "adns9800_srom_A6.h"
#include "adns9800.h"
#include "wait.h"
@@ -67,16 +66,32 @@
#define REG_SROM_Load_Burst 0x62
#define REG_Pixel_Burst 0x64
-#define MIN_CPI 200
-#define MAX_CPI 8200
-#define CPI_STEP 200
-#define CLAMP_CPI(value) value MAX_CPI ? MAX_CPI : value
-#define US_BETWEEN_WRITES 120
-#define US_BETWEEN_READS 20
-#define US_BEFORE_MOTION 100
-#define MSB1 0x80
+#define MIN_CPI 200
+#define MAX_CPI 8200
+#define CPI_STEP 200
+#define CLAMP_CPI(value) value MAX_CPI ? MAX_CPI : value
+#define US_BETWEEN_WRITES 120
+#define US_BETWEEN_READS 20
+#define US_DELAY_AFTER_ADDR 100
+#define US_BEFORE_MOTION 100
+#define MSB1 0x80
// clang-format on
+const pointing_device_driver_t adns9800_pointing_device_driver = {
+ .init = adns9800_init,
+ .get_report = adns9800_get_report_driver,
+ .set_cpi = adns9800_set_cpi,
+ .get_cpi = adns9800_get_cpi,
+};
+
+uint16_t __attribute__((weak)) adns9800_srom_get_length(void) {
+ return 0;
+}
+
+uint8_t __attribute__((weak)) adns9800_srom_get_byte(uint16_t position) {
+ return 0;
+}
+
void adns9800_spi_start(void) {
spi_start(ADNS9800_CS_PIN, false, ADNS9800_SPI_MODE, ADNS9800_SPI_DIVISOR);
}
@@ -92,6 +107,7 @@ void adns9800_write(uint8_t reg_addr, uint8_t data) {
uint8_t adns9800_read(uint8_t reg_addr) {
adns9800_spi_start();
spi_write(reg_addr & 0x7f);
+ wait_us(US_DELAY_AFTER_ADDR);
uint8_t data = spi_read();
spi_stop();
wait_us(US_BETWEEN_READS);
@@ -115,36 +131,47 @@ void adns9800_init(void) {
adns9800_read(REG_Delta_Y_L);
adns9800_read(REG_Delta_Y_H);
- // upload firmware
+ if (adns9800_srom_get_length() != 0) {
+ // upload firmware
- // 3k firmware mode
- adns9800_write(REG_Configuration_IV, 0x02);
+ // 3k firmware mode
+ adns9800_write(REG_Configuration_IV, 0x02);
- // enable initialisation
- adns9800_write(REG_SROM_Enable, 0x1d);
+ // enable initialisation
+ adns9800_write(REG_SROM_Enable, 0x1d);
- // wait a frame
- wait_ms(10);
+ // wait a frame
+ wait_ms(10);
- // start SROM download
- adns9800_write(REG_SROM_Enable, 0x18);
+ // start SROM download
+ adns9800_write(REG_SROM_Enable, 0x18);
- // write the SROM file
+ // write the SROM file
- adns9800_spi_start();
-
- spi_write(REG_SROM_Load_Burst | 0x80);
- wait_us(15);
+ adns9800_spi_start();
- // send all bytes of the firmware
- for (uint16_t i = 0; i < FIRMWARE_LENGTH; i++) {
- spi_write(pgm_read_byte(firmware_data + i));
+ spi_write(REG_SROM_Load_Burst | 0x80);
wait_us(15);
- }
- spi_stop();
+ // send all bytes of the firmware
+ for (uint16_t i = 0; i < adns9800_srom_get_length(); i++) {
+ spi_write(adns9800_srom_get_byte(i));
+ wait_us(15);
+ }
- wait_ms(10);
+ spi_stop();
+
+ wait_ms(10);
+ } else {
+ // write reset value to REG_Configuration_IV
+ adns9800_write(REG_Configuration_IV, 0x0);
+
+ // write reset value to REG_SROM_Enable
+ adns9800_write(REG_SROM_Enable, 0x0);
+
+ // wait a frame
+ wait_ms(10);
+ }
// enable laser
uint8_t laser_ctrl0 = adns9800_read(REG_LASER_CTRL0);
@@ -216,3 +243,12 @@ report_adns9800_t adns9800_get_report(void) {
return report;
}
+
+report_mouse_t adns9800_get_report_driver(report_mouse_t mouse_report) {
+ report_adns9800_t sensor_report = adns9800_get_report();
+
+ mouse_report.x = CONSTRAIN_HID_XY(sensor_report.x);
+ mouse_report.y = CONSTRAIN_HID_XY(sensor_report.y);
+
+ return mouse_report;
+}
diff --git a/drivers/sensors/adns9800.h b/drivers/sensors/adns9800.h
index 3f1a005789f1..023f31b13235 100644
--- a/drivers/sensors/adns9800.h
+++ b/drivers/sensors/adns9800.h
@@ -17,6 +17,7 @@
#pragma once
#include
+#include "pointing_device.h"
#ifndef ADNS9800_CPI
# define ADNS9800_CPI 1600
@@ -60,6 +61,8 @@ typedef struct {
int16_t y;
} report_adns9800_t;
+const pointing_device_driver_t adns9800_pointing_device_driver;
+
void adns9800_init(void);
config_adns9800_t adns9800_get_config(void);
void adns9800_set_config(config_adns9800_t);
@@ -67,3 +70,4 @@ uint16_t adns9800_get_cpi(void);
void adns9800_set_cpi(uint16_t cpi);
/* Reads and clears the current delta values on the ADNS sensor */
report_adns9800_t adns9800_get_report(void);
+report_mouse_t adns9800_get_report_driver(report_mouse_t mouse_report);
diff --git a/drivers/sensors/adns9800_srom_A6.h b/drivers/sensors/adns9800_srom_A6.h
deleted file mode 100644
index e698a401b949..000000000000
--- a/drivers/sensors/adns9800_srom_A6.h
+++ /dev/null
@@ -1,202 +0,0 @@
-#pragma once
-
-#include "progmem.h"
-
-#define FIRMWARE_LENGTH 3070
-
-// clang-format off
-
-const uint8_t firmware_data[FIRMWARE_LENGTH] PROGMEM = {
- 0x03, 0xA6, 0x68, 0x1E, 0x7D, 0x10, 0x7E, 0x7E, 0x5F, 0x1C, 0xB8, 0xF2, 0x47, 0x0C, 0x7B, 0x74,
- 0x4B, 0x14, 0x8B, 0x75, 0x66, 0x51, 0x0B, 0x8C, 0x76, 0x74, 0x4B, 0x14, 0xAA, 0xD6, 0x0F, 0x9C,
- 0xBA, 0xF6, 0x6E, 0x3F, 0xDD, 0x38, 0xD5, 0x02, 0x80, 0x9B, 0x82, 0x6D, 0x58, 0x13, 0xA4, 0xAB,
- 0xB5, 0xC9, 0x10, 0xA2, 0xC6, 0x0A, 0x7F, 0x5D, 0x19, 0x91, 0xA0, 0xA3, 0xCE, 0xEB, 0x3E, 0xC9,
- 0xF1, 0x60, 0x42, 0xE7, 0x4C, 0xFB, 0x74, 0x6A, 0x56, 0x2E, 0xBF, 0xDD, 0x38, 0xD3, 0x05, 0x88,
- 0x92, 0xA6, 0xCE, 0xFF, 0x5D, 0x38, 0xD1, 0xCF, 0xEF, 0x58, 0xCB, 0x65, 0x48, 0xF0, 0x35, 0x85,
- 0xA9, 0xB2, 0x8F, 0x5E, 0xF3, 0x80, 0x94, 0x97, 0x7E, 0x75, 0x97, 0x87, 0x73, 0x13, 0xB0, 0x8A,
- 0x69, 0xD4, 0x0A, 0xDE, 0xC1, 0x79, 0x59, 0x36, 0xDB, 0x9D, 0xD6, 0xB8, 0x15, 0x6F, 0xCE, 0x3C,
- 0x72, 0x32, 0x45, 0x88, 0xDF, 0x6C, 0xA5, 0x6D, 0xE8, 0x76, 0x96, 0x14, 0x74, 0x20, 0xDC, 0xF4,
- 0xFA, 0x37, 0x6A, 0x27, 0x32, 0xE3, 0x29, 0xBF, 0xC4, 0xC7, 0x06, 0x9D, 0x58, 0xE7, 0x87, 0x7C,
- 0x2E, 0x9F, 0x6E, 0x49, 0x07, 0x5D, 0x23, 0x64, 0x54, 0x83, 0x6E, 0xCB, 0xB7, 0x77, 0xF7, 0x2B,
- 0x6E, 0x0F, 0x2E, 0x66, 0x12, 0x60, 0x55, 0x65, 0xFC, 0x43, 0xB3, 0x58, 0x73, 0x5B, 0xE8, 0x67,
- 0x04, 0x43, 0x02, 0xDE, 0xB3, 0x89, 0xA0, 0x6D, 0x3A, 0x27, 0x79, 0x64, 0x5B, 0x0C, 0x16, 0x9E,
- 0x66, 0xB1, 0x8B, 0x87, 0x0C, 0x5D, 0xF2, 0xB6, 0x3D, 0x71, 0xDF, 0x42, 0x03, 0x8A, 0x06, 0x8D,
- 0xEF, 0x1D, 0xA8, 0x96, 0x5C, 0xED, 0x31, 0x61, 0x5C, 0xA1, 0x34, 0xF6, 0x8C, 0x08, 0x60, 0x33,
- 0x07, 0x00, 0x3E, 0x79, 0x95, 0x1B, 0x43, 0x7F, 0xFE, 0xB6, 0xA6, 0xD4, 0x9D, 0x76, 0x72, 0xBF,
- 0xAD, 0xC0, 0x15, 0xE8, 0x37, 0x31, 0xA3, 0x72, 0x63, 0x52, 0x1D, 0x1C, 0x5D, 0x51, 0x1B, 0xE1,
- 0xA9, 0xED, 0x60, 0x32, 0x3E, 0xA9, 0x50, 0x28, 0x53, 0x06, 0x59, 0xE2, 0xFC, 0xE7, 0x02, 0x64,
- 0x39, 0x21, 0x56, 0x4A, 0xA5, 0x40, 0x80, 0x81, 0xD5, 0x5A, 0x60, 0x7B, 0x68, 0x84, 0xF1, 0xE0,
- 0xB1, 0xB6, 0x5B, 0xDF, 0xA8, 0x1D, 0x6D, 0x65, 0x20, 0xC0, 0xA2, 0xB9, 0xD9, 0xBB, 0x00, 0xA6,
- 0xDB, 0x8B, 0x01, 0x53, 0x91, 0xFE, 0xC4, 0x51, 0x85, 0xB0, 0x96, 0x7F, 0xFD, 0x51, 0xDD, 0x14,
- 0x03, 0x67, 0x2E, 0x75, 0x1C, 0x76, 0xD3, 0x6E, 0xDD, 0x99, 0x55, 0x76, 0xE5, 0xAB, 0x23, 0xFC,
- 0x4A, 0xD5, 0xC6, 0xE8, 0x2E, 0xCA, 0x8A, 0xB3, 0xF6, 0x8C, 0x6C, 0xB0, 0xE9, 0xF2, 0xE7, 0x9E,
- 0x69, 0x41, 0xED, 0xF1, 0x6D, 0xD2, 0x86, 0xD8, 0x7E, 0xCB, 0x5D, 0x47, 0x6C, 0x85, 0x6A, 0x23,
- 0xED, 0x20, 0x40, 0x93, 0xB4, 0x20, 0xC7, 0xA5, 0xC9, 0xAF, 0x03, 0x15, 0xAC, 0x19, 0xE5, 0x2A,
- 0x36, 0xDF, 0x6D, 0xC5, 0x8C, 0x80, 0x07, 0xCE, 0x92, 0x0C, 0xD8, 0x06, 0x62, 0x0F, 0xDD, 0x48,
- 0x46, 0x1A, 0x53, 0xC7, 0x8A, 0x8C, 0x5D, 0x5D, 0xB4, 0xA1, 0x02, 0xD3, 0xA9, 0xB8, 0xF3, 0x94,
- 0x8F, 0x3F, 0xE5, 0x54, 0xD4, 0x11, 0x65, 0xB2, 0x5E, 0x09, 0x0B, 0x81, 0xE3, 0x75, 0xA7, 0x89,
- 0x81, 0x39, 0x6C, 0x46, 0xF6, 0x06, 0x9F, 0x27, 0x3B, 0xB6, 0x2D, 0x5F, 0x1D, 0x4B, 0xD4, 0x7B,
- 0x1D, 0x61, 0x74, 0x89, 0xE4, 0xE3, 0xBD, 0x98, 0x1B, 0xC4, 0x51, 0x3B, 0xA4, 0xFA, 0xE0, 0x92,
- 0xF7, 0xBE, 0xF2, 0x4D, 0xBB, 0xFF, 0xAD, 0x4F, 0x6D, 0x68, 0xC2, 0x79, 0x40, 0xAA, 0x9B, 0x8F,
- 0x0C, 0x32, 0x4B, 0x5F, 0x3E, 0xAB, 0x59, 0x98, 0xB3, 0xF5, 0x1D, 0xAC, 0x5E, 0xBC, 0x78, 0xD3,
- 0x01, 0x6C, 0x64, 0x15, 0x2F, 0xD8, 0x71, 0xA6, 0x2D, 0x45, 0xE1, 0x22, 0x42, 0xE4, 0x4E, 0x04,
- 0x3C, 0x7D, 0xF4, 0x40, 0x21, 0xB4, 0x67, 0x05, 0xA8, 0xE2, 0xF3, 0x72, 0x87, 0x4C, 0x7D, 0xD9,
- 0x1B, 0x65, 0x97, 0xF3, 0xC2, 0xE3, 0xE4, 0xC8, 0xD2, 0xDE, 0xF6, 0xEF, 0xDC, 0xBB, 0x44, 0x08,
- 0x5E, 0xE2, 0x45, 0x27, 0x01, 0xB0, 0xF6, 0x43, 0xE7, 0x3A, 0xF6, 0xDC, 0x9D, 0xED, 0xF3, 0xC5,
- 0x0C, 0xB8, 0x9C, 0x98, 0x3A, 0xD8, 0x36, 0xEE, 0x96, 0x72, 0x67, 0xE7, 0x81, 0x91, 0xD5, 0x05,
- 0x0A, 0xE0, 0x82, 0xD5, 0x8F, 0xE8, 0xF9, 0xB0, 0xC9, 0xCF, 0x93, 0xE7, 0x04, 0xC5, 0xBC, 0x2B,
- 0x43, 0x56, 0x7E, 0xE8, 0x67, 0x7C, 0xE5, 0xFB, 0x49, 0xAD, 0x5E, 0x9F, 0x25, 0x13, 0xDE, 0x6E,
- 0x6E, 0xE9, 0xF1, 0xEC, 0x87, 0x0B, 0x59, 0x81, 0x76, 0x84, 0x76, 0xB3, 0x24, 0xAF, 0x30, 0xFD,
- 0x27, 0x8B, 0xAB, 0xD8, 0x00, 0x8B, 0x9B, 0x0C, 0xD2, 0xB2, 0x4E, 0x5E, 0x9D, 0x1D, 0x96, 0x01,
- 0x00, 0x67, 0xC1, 0x5F, 0x02, 0x20, 0xFD, 0x45, 0x6A, 0x01, 0x60, 0x58, 0x45, 0xCA, 0x47, 0x21,
- 0x90, 0x5A, 0xC4, 0x43, 0x26, 0x1A, 0xD7, 0xA5, 0x4A, 0xB2, 0x5D, 0x2B, 0x35, 0x49, 0xFB, 0xA5,
- 0x17, 0x92, 0x21, 0x1E, 0x93, 0x96, 0x67, 0xA2, 0x7E, 0x36, 0x7A, 0xDE, 0x5F, 0xBE, 0x7A, 0x58,
- 0x9D, 0xF8, 0x78, 0xA3, 0xFA, 0xC8, 0xD5, 0x17, 0xF0, 0x21, 0x97, 0x8C, 0x80, 0xB5, 0x4B, 0x3B,
- 0xBD, 0xBB, 0x41, 0x21, 0xA8, 0x50, 0x67, 0xF7, 0xE7, 0x19, 0x80, 0x10, 0x8E, 0xCE, 0x04, 0x18,
- 0x3F, 0x51, 0x6B, 0x77, 0xD8, 0x9E, 0x16, 0xAF, 0xEC, 0xEF, 0x48, 0x16, 0x4D, 0x9E, 0x85, 0x38,
- 0x18, 0x3E, 0xD4, 0x28, 0x87, 0x60, 0x2A, 0xF6, 0x7F, 0x09, 0x86, 0x6F, 0x9C, 0x3C, 0x3A, 0xFF,
- 0xAB, 0xD0, 0x61, 0xA2, 0x97, 0x0D, 0x71, 0x94, 0x7E, 0xFD, 0xB9, 0x80, 0x02, 0x89, 0x6A, 0xB3,
- 0x84, 0x6C, 0x2A, 0x77, 0x62, 0xBE, 0x0B, 0xF4, 0xAF, 0xAC, 0x7B, 0x7C, 0x8E, 0xCA, 0x01, 0xBA,
- 0x71, 0x78, 0x94, 0xFD, 0xB5, 0x39, 0xA4, 0x4D, 0x2F, 0x78, 0xCF, 0xCA, 0x92, 0x0C, 0x1A, 0x99,
- 0x48, 0x4C, 0x11, 0x96, 0xB5, 0x4E, 0x41, 0x28, 0xE4, 0xA6, 0xFE, 0x4B, 0x72, 0x91, 0xE7, 0xD4,
- 0xDD, 0x9F, 0x12, 0xE6, 0x29, 0x38, 0xCE, 0x45, 0xAE, 0x02, 0xB8, 0x24, 0xAE, 0xBD, 0xE9, 0x66,
- 0x08, 0x62, 0xA2, 0x2C, 0x2B, 0x00, 0xE2, 0x23, 0xD9, 0xC4, 0x48, 0xE4, 0xD3, 0xAC, 0xBB, 0x34,
- 0xC7, 0xF0, 0xE3, 0x4F, 0xB9, 0x30, 0xEA, 0xA2, 0x12, 0xF1, 0x30, 0x2C, 0x36, 0xDE, 0x48, 0xF2,
- 0xB0, 0x4C, 0x43, 0x3F, 0x2E, 0x58, 0xE4, 0x20, 0xE3, 0x58, 0xCD, 0x31, 0x22, 0xF0, 0xA2, 0x2A,
- 0xE6, 0x19, 0x90, 0x55, 0x86, 0xF6, 0x55, 0x79, 0xD1, 0xD7, 0x46, 0x2F, 0xC0, 0xDC, 0x99, 0xE8,
- 0xF3, 0x6A, 0xDF, 0x7F, 0xEB, 0x24, 0x4A, 0x1E, 0x5A, 0x75, 0xDE, 0x2F, 0x5C, 0x19, 0x61, 0x03,
- 0x53, 0x54, 0x6A, 0x3B, 0x18, 0x70, 0xB6, 0x4F, 0xF1, 0x9C, 0x0A, 0x59, 0x9D, 0x19, 0x92, 0x65,
- 0x8C, 0x83, 0x14, 0x2D, 0x44, 0x8A, 0x75, 0xA9, 0xF5, 0x90, 0xD2, 0x66, 0x4E, 0xFA, 0x69, 0x0F,
- 0x5B, 0x0B, 0x98, 0x65, 0xC8, 0x11, 0x42, 0x59, 0x7F, 0xDD, 0x1B, 0x75, 0x17, 0x31, 0x4C, 0x75,
- 0x58, 0xEB, 0x58, 0x63, 0x7D, 0xF2, 0xA6, 0xC2, 0x6E, 0xB7, 0x3F, 0x3E, 0x5E, 0x47, 0xAD, 0xB7,
- 0x04, 0xE8, 0x05, 0xF8, 0xB2, 0xCF, 0x19, 0xF3, 0xD2, 0x85, 0xFE, 0x3E, 0x3E, 0xB1, 0x62, 0x08,
- 0x2C, 0x10, 0x07, 0x0D, 0x73, 0x90, 0x17, 0xFA, 0x9B, 0x56, 0x02, 0x75, 0xF9, 0x51, 0xE0, 0xE9,
- 0x1A, 0x7B, 0x9F, 0xB3, 0xF3, 0x98, 0xB8, 0x1C, 0x9C, 0xE1, 0xD5, 0x35, 0xAE, 0xC8, 0x60, 0x48,
- 0x11, 0x09, 0x94, 0x6B, 0xD0, 0x8B, 0x15, 0xBC, 0x05, 0x68, 0xD3, 0x54, 0x8A, 0x51, 0x39, 0x5C,
- 0x42, 0x76, 0xCE, 0xD8, 0xAD, 0x89, 0x30, 0xC9, 0x05, 0x1C, 0xCC, 0x94, 0x3F, 0x0F, 0x90, 0x6F,
- 0x72, 0x2D, 0x85, 0x64, 0x9A, 0xB9, 0x23, 0xF9, 0x0B, 0xC3, 0x7C, 0x39, 0x0F, 0x97, 0x07, 0x97,
- 0xDA, 0x58, 0x48, 0x33, 0x05, 0x23, 0xB8, 0x82, 0xE8, 0xD3, 0x53, 0x89, 0xAF, 0x33, 0x80, 0x22,
- 0x84, 0x0C, 0x95, 0x5C, 0x67, 0xB8, 0x77, 0x0C, 0x5C, 0xA2, 0x5F, 0x3D, 0x58, 0x0F, 0x27, 0xF3,
- 0x2F, 0xAE, 0x48, 0xBD, 0x0B, 0x6F, 0x54, 0xFB, 0x67, 0x4C, 0xEA, 0x32, 0x27, 0xF1, 0xFA, 0xE2,
- 0xB0, 0xEC, 0x0B, 0x15, 0xB4, 0x70, 0xF6, 0x5C, 0xDD, 0x71, 0x60, 0xC3, 0xC1, 0xA8, 0x32, 0x65,
- 0xAC, 0x7A, 0x77, 0x41, 0xE5, 0xA9, 0x6B, 0x11, 0x81, 0xFA, 0x34, 0x8D, 0xFB, 0xC1, 0x80, 0x6E,
- 0xC4, 0x60, 0x30, 0x07, 0xD4, 0x8B, 0x67, 0xBD, 0xAA, 0x8C, 0x9C, 0x64, 0xAC, 0xDB, 0x0B, 0x24,
- 0x8B, 0x63, 0x6F, 0xE6, 0xBC, 0xE7, 0x33, 0xA4, 0x4A, 0x4C, 0xA7, 0x9F, 0x43, 0x53, 0xD2, 0xBB,
- 0x8F, 0x43, 0xC7, 0x3D, 0x78, 0x68, 0x3F, 0xA5, 0x3D, 0xCA, 0x69, 0x84, 0xA6, 0x97, 0x2D, 0xC0,
- 0x7D, 0x31, 0x34, 0x55, 0x1D, 0x07, 0xB1, 0x5F, 0x40, 0x5C, 0x93, 0xB0, 0xBC, 0x7C, 0xB0, 0xBC,
- 0xE7, 0x12, 0xEE, 0x6B, 0x2B, 0xD3, 0x4D, 0x67, 0x70, 0x3A, 0x9A, 0xF2, 0x3C, 0x7C, 0x81, 0xFA,
- 0xD7, 0xD9, 0x90, 0x91, 0x81, 0xB8, 0xB1, 0xF3, 0x48, 0x6A, 0x26, 0x4F, 0x0C, 0xCE, 0xB0, 0x9E,
- 0xFD, 0x4A, 0x3A, 0xAF, 0xAC, 0x5B, 0x3F, 0xBF, 0x44, 0x5A, 0xA3, 0x19, 0x1E, 0x4B, 0xE7, 0x36,
- 0x6A, 0xD7, 0x20, 0xAE, 0xD7, 0x7D, 0x3B, 0xE7, 0xFF, 0x3A, 0x86, 0x2E, 0xD0, 0x4A, 0x3E, 0xAF,
- 0x9F, 0x8E, 0x01, 0xBF, 0xF8, 0x4F, 0xC1, 0xE8, 0x6F, 0x74, 0xE1, 0x45, 0xD3, 0xF7, 0x04, 0x6A,
- 0x4B, 0x9D, 0xEC, 0x33, 0x27, 0x76, 0xD7, 0xC5, 0xE1, 0xB0, 0x3B, 0x0E, 0x23, 0xEC, 0xF0, 0x86,
- 0xD2, 0x1A, 0xBF, 0x3D, 0x04, 0x62, 0xB3, 0x6C, 0xB2, 0xEB, 0x17, 0x05, 0xA6, 0x0A, 0x8A, 0x7E,
- 0x83, 0x1C, 0xB6, 0x37, 0x09, 0xC6, 0x0B, 0x70, 0x3C, 0xB5, 0x93, 0x81, 0xD8, 0x93, 0xA0, 0x5F,
- 0x1E, 0x08, 0xE2, 0xC6, 0xE5, 0xC9, 0x72, 0xF1, 0xF1, 0xC1, 0xED, 0xD5, 0x58, 0x93, 0x83, 0xF8,
- 0x65, 0x67, 0x2E, 0x0D, 0xA9, 0xF1, 0x64, 0x12, 0xE6, 0x4C, 0xEA, 0x15, 0x3F, 0x8C, 0x1A, 0xB6,
- 0xBF, 0xF6, 0xB9, 0x52, 0x35, 0x09, 0xB0, 0xE6, 0xF7, 0xCD, 0xF1, 0xA5, 0xAA, 0x81, 0xD1, 0x81,
- 0x6F, 0xB4, 0xA9, 0x66, 0x1F, 0xFC, 0x48, 0xC0, 0xB6, 0xD1, 0x8B, 0x06, 0x2F, 0xF6, 0xEF, 0x1F,
- 0x0A, 0xE6, 0xCE, 0x3A, 0x4A, 0x55, 0xBF, 0x6D, 0xF9, 0x4D, 0xD4, 0x08, 0x45, 0x4B, 0xC3, 0x66,
- 0x19, 0x92, 0x10, 0xE1, 0x17, 0x8E, 0x28, 0x91, 0x16, 0xBF, 0x3C, 0xEE, 0xA3, 0xA6, 0x99, 0x92,
- 0x10, 0xE1, 0xF6, 0xCC, 0xAC, 0xB8, 0x65, 0x0B, 0x43, 0x66, 0xF8, 0xE3, 0xE5, 0x3F, 0x24, 0x89,
- 0x47, 0x5D, 0x78, 0x43, 0xD0, 0x61, 0x17, 0xBD, 0x5B, 0x64, 0x54, 0x08, 0x45, 0x59, 0x93, 0xF6,
- 0x95, 0x8A, 0x41, 0x51, 0x62, 0x4B, 0x51, 0x02, 0x30, 0x73, 0xC7, 0x87, 0xC5, 0x4B, 0xA2, 0x97,
- 0x0F, 0xE8, 0x46, 0x5F, 0x7E, 0x2A, 0xE1, 0x30, 0x20, 0xB0, 0xFA, 0xE7, 0xCE, 0x61, 0x42, 0x57,
- 0x6E, 0x21, 0xF3, 0x7A, 0xEC, 0xE3, 0x25, 0xC7, 0x25, 0xF3, 0x67, 0xA7, 0x57, 0x40, 0x00, 0x02,
- 0xCF, 0x1C, 0x80, 0x77, 0x67, 0xBD, 0x70, 0xA1, 0x19, 0x92, 0x31, 0x75, 0x93, 0x27, 0x27, 0xB6,
- 0x82, 0xE4, 0xEB, 0x1D, 0x78, 0x48, 0xE7, 0xA5, 0x5E, 0x57, 0xEF, 0x64, 0x28, 0x64, 0x1B, 0xF6,
- 0x11, 0xB2, 0x03, 0x9D, 0xB9, 0x18, 0x02, 0x27, 0xF7, 0xBE, 0x9D, 0x55, 0xFC, 0x00, 0xD2, 0xC7,
- 0xAE, 0xAD, 0x0B, 0xC5, 0xE9, 0x42, 0x41, 0x48, 0xD8, 0x32, 0xCF, 0xF6, 0x0F, 0xF5, 0xBC, 0x97,
- 0xC6, 0x99, 0x47, 0x76, 0xBD, 0x89, 0x06, 0x0F, 0x63, 0x0C, 0x51, 0xD4, 0x5E, 0xEA, 0x48, 0xA8,
- 0xA2, 0x56, 0x1C, 0x79, 0x84, 0x86, 0x40, 0x88, 0x41, 0x76, 0x55, 0xFC, 0xC2, 0xD7, 0xFD, 0xC9,
- 0xC7, 0x80, 0x61, 0x35, 0xA7, 0x43, 0x20, 0xF7, 0xEB, 0x6C, 0x66, 0x13, 0xB0, 0xEC, 0x02, 0x75,
- 0x3E, 0x4B, 0xAF, 0xB9, 0x5D, 0x40, 0xDA, 0xD6, 0x6E, 0x2D, 0x39, 0x54, 0xC2, 0x95, 0x35, 0x54,
- 0x25, 0x72, 0xE1, 0x78, 0xB8, 0xEB, 0xC1, 0x16, 0x58, 0x0F, 0x9C, 0x9B, 0xB4, 0xEA, 0x37, 0xEC,
- 0x3B, 0x11, 0xBA, 0xD5, 0x8A, 0xA9, 0xE3, 0x98, 0x00, 0x51, 0x1C, 0x14, 0xE0, 0x40, 0x96, 0xE5,
- 0xE9, 0xF2, 0x21, 0x22, 0xB1, 0x23, 0x60, 0x78, 0xD3, 0x17, 0xF8, 0x7A, 0xA5, 0xA8, 0xBA, 0x20,
- 0xD3, 0x15, 0x1E, 0x32, 0xE4, 0x5E, 0x15, 0x48, 0xAE, 0xA9, 0xE5, 0xB8, 0x33, 0xEC, 0xE8, 0xA2,
- 0x42, 0xAC, 0xBF, 0x10, 0x84, 0x53, 0x87, 0x19, 0xB4, 0x5F, 0x76, 0x4D, 0x01, 0x9D, 0x56, 0x74,
- 0xD9, 0x5C, 0x97, 0xE7, 0x88, 0xEA, 0x3A, 0xBF, 0xDC, 0x4C, 0x33, 0x8A, 0x16, 0xB9, 0x5B, 0xFA,
- 0xD8, 0x42, 0xA7, 0xBB, 0x3C, 0x04, 0x27, 0x78, 0x49, 0x81, 0x2A, 0x5A, 0x7D, 0x7C, 0x23, 0xA8,
- 0xBA, 0xF7, 0x9A, 0x9F, 0xD2, 0x66, 0x3E, 0x38, 0x3C, 0x75, 0xF9, 0xD1, 0x30, 0x26, 0x30, 0x6E,
- 0x5A, 0x6E, 0xDC, 0x6A, 0x69, 0x32, 0x50, 0x33, 0x47, 0x9E, 0xA4, 0xA8, 0x64, 0x66, 0xF0, 0x8A,
- 0xE4, 0xFD, 0x27, 0x6F, 0x51, 0x25, 0x8B, 0x43, 0x74, 0xC9, 0x8E, 0xBD, 0x88, 0x31, 0xBE, 0xEC,
- 0x65, 0xD2, 0xCB, 0x8D, 0x5A, 0x13, 0x48, 0x16, 0x8C, 0x61, 0x0B, 0x11, 0xF6, 0xC6, 0x66, 0xAE,
- 0xC3, 0xCC, 0x0C, 0xD2, 0xE1, 0x9F, 0x82, 0x41, 0x3F, 0x56, 0xF9, 0x73, 0xEF, 0xDC, 0x30, 0x50,
- 0xCF, 0xB6, 0x7F, 0xBC, 0xD0, 0xB3, 0x10, 0xAB, 0x24, 0xE4, 0xEC, 0xAD, 0x18, 0x8C, 0x39, 0x2D,
- 0x30, 0x4C, 0xC5, 0x40, 0x0D, 0xF6, 0xAC, 0xD6, 0x18, 0x5D, 0x96, 0xBF, 0x5F, 0x71, 0x75, 0x96,
- 0x22, 0x97, 0x0F, 0x02, 0x94, 0x6E, 0xA6, 0xAE, 0x6D, 0x8F, 0x1E, 0xCA, 0x12, 0x9B, 0x2A, 0x1C,
- 0xCE, 0xA9, 0xEE, 0xFD, 0x12, 0x8E, 0xFC, 0xED, 0x09, 0x33, 0xBA, 0xF4, 0x1A, 0x15, 0xF6, 0x9D,
- 0x87, 0x16, 0x43, 0x7C, 0x78, 0x57, 0xE1, 0x44, 0xC9, 0xEB, 0x1F, 0x58, 0x4D, 0xC1, 0x49, 0x11,
- 0x5C, 0xB2, 0x11, 0xA8, 0x55, 0x16, 0xF1, 0xC6, 0x50, 0xE9, 0x87, 0x89, 0xF6, 0xCF, 0xD8, 0x9C,
- 0x51, 0xA7, 0xBC, 0x5B, 0x31, 0x6D, 0x4D, 0x51, 0xD0, 0x4C, 0xBC, 0x0D, 0x58, 0x2D, 0x7B, 0x88,
- 0x7A, 0xF9, 0x8E, 0xD6, 0x40, 0x4D, 0xBB, 0xBE, 0xC4, 0xE5, 0x07, 0xFC, 0xD9, 0x7B, 0x6D, 0xA6,
- 0x42, 0x57, 0x8F, 0x02, 0x94, 0x4F, 0xE4, 0x2A, 0x65, 0xE2, 0x19, 0x5A, 0x50, 0xE1, 0x25, 0x65,
- 0x4A, 0x60, 0xC2, 0xCD, 0xA8, 0xEC, 0x05, 0x2E, 0x87, 0x7B, 0x95, 0xB7, 0x4F, 0xA0, 0x0B, 0x1B,
- 0x4A, 0x7F, 0x92, 0xC8, 0x90, 0xEE, 0x89, 0x1E, 0x10, 0xD2, 0x85, 0xE4, 0x9F, 0x63, 0xC8, 0x12,
- 0xBB, 0x4E, 0xB8, 0xCF, 0x0A, 0xEC, 0x18, 0x4E, 0xE6, 0x7C, 0xB3, 0x33, 0x26, 0xC7, 0x1F, 0xD2,
- 0x04, 0x23, 0xEA, 0x07, 0x0C, 0x5F, 0x90, 0xBD, 0xA7, 0x6A, 0x0F, 0x4A, 0xD6, 0x10, 0x01, 0x3C,
- 0x12, 0x29, 0x2E, 0x96, 0xC0, 0x4D, 0xBB, 0xBE, 0xE5, 0xA7, 0x83, 0xD5, 0x6A, 0x3C, 0xE3, 0x5B,
- 0xB8, 0xF2, 0x5C, 0x6D, 0x1F, 0xA6, 0xF3, 0x12, 0x24, 0xF6, 0xD6, 0x3B, 0x10, 0x14, 0x09, 0x07,
- 0x82, 0xE8, 0x30, 0x6A, 0x99, 0xDC, 0x95, 0x01, 0x9C, 0xD4, 0x68, 0x3B, 0xCA, 0x98, 0x12, 0xAB,
- 0x77, 0x25, 0x15, 0x7D, 0x10, 0x32, 0x45, 0x98, 0xCD, 0x7A, 0xDF, 0x71, 0x8A, 0x75, 0xC1, 0x1C,
- 0xD4, 0x68, 0x25, 0xEB, 0xBB, 0x54, 0x27, 0x6F, 0x2A, 0xF7, 0xB9, 0x98, 0x03, 0x27, 0xDE, 0x24,
- 0xA8, 0xBB, 0x98, 0xC2, 0x84, 0xFF, 0x9B, 0x51, 0xD8, 0x53, 0x50, 0xDA, 0xF5, 0x88, 0xAA, 0x87,
- 0x2F, 0xAE, 0xD6, 0xEA, 0x6B, 0xDE, 0xC8, 0xD7, 0xA7, 0x28, 0x65, 0x81, 0xE8, 0xB2, 0x3B, 0x1D,
- 0x4F, 0x75, 0x8F, 0x9F, 0x7A, 0x74, 0x8E, 0xC1, 0x5F, 0x9A, 0xA8, 0x9D, 0xFA, 0x03, 0xA3, 0x71,
- 0x9B, 0x37, 0x6D, 0xD5, 0x0B, 0xF5, 0xE1, 0xA1, 0x1B, 0x01, 0x6A, 0xC6, 0x67, 0xAA, 0xEA, 0x2C,
- 0x9D, 0xA4, 0xD2, 0x6E, 0xFC, 0xDE, 0x2E, 0x7F, 0x94, 0x69, 0xE5, 0x4A, 0xE0, 0x01, 0x48, 0x3C,
- 0x6B, 0xF7, 0x1E, 0xB6, 0x0B, 0x5F, 0xF9, 0x2E, 0x07, 0xC5, 0xE8, 0xAE, 0x37, 0x1B, 0xBC, 0x3C,
- 0xD8, 0xD5, 0x0B, 0x91, 0x9E, 0x80, 0x24, 0xF5, 0x06, 0x0C, 0x0E, 0x98, 0x07, 0x96, 0x2D, 0x19,
- 0xDC, 0x58, 0x93, 0xCC, 0xFB, 0x4E, 0xEB, 0xBD, 0x0F, 0xF5, 0xAF, 0x01, 0xFA, 0xF1, 0x7C, 0x43,
- 0x8C, 0xB8, 0x56, 0x3E, 0xBE, 0x77, 0x4E, 0x2B, 0xF7, 0xBB, 0xB7, 0x45, 0x47, 0xCD, 0xCC, 0xA6,
- 0x4C, 0x72, 0x7B, 0x6A, 0x2A, 0x70, 0x13, 0x07, 0xFD, 0xB8, 0x9C, 0x98, 0x3A, 0xD8, 0x23, 0x67,
- 0x5B, 0x34, 0xD5, 0x14, 0x0C, 0xAB, 0x77, 0x1F, 0xF8, 0x3D, 0x5A, 0x9F, 0x92, 0xB7, 0x2C, 0xAD,
- 0x31, 0xDE, 0x61, 0x07, 0xB3, 0x6B, 0xF7, 0x38, 0x15, 0x95, 0x46, 0x14, 0x48, 0x53, 0x69, 0x52,
- 0x66, 0x07, 0x6D, 0x83, 0x71, 0x8A, 0x67, 0x25, 0x20, 0x0F, 0xFE, 0xD7, 0x02, 0xD7, 0x6E, 0x2C,
- 0xD2, 0x1A, 0x0A, 0x5D, 0xFD, 0x0F, 0x74, 0xE3, 0xA4, 0x36, 0x07, 0x9A, 0xDF, 0xD4, 0x79, 0xBF,
- 0xEF, 0x59, 0xC0, 0x44, 0x52, 0x87, 0x9A, 0x6E, 0x1D, 0x0E, 0xEE, 0xDE, 0x2E, 0x1A, 0xA9, 0x8F,
- 0x3A, 0xC9, 0xBA, 0xEC, 0x99, 0x78, 0x2D, 0x55, 0x6B, 0x14, 0xC2, 0x06, 0xD5, 0xFC, 0x93, 0x53,
- 0x4D, 0x11, 0x8C, 0xF8, 0xFA, 0x79, 0x7C, 0xA6, 0x64, 0xAE, 0x61, 0xB8, 0x7B, 0x94, 0x56, 0xA6,
- 0x39, 0x78, 0x9A, 0xE5, 0xC7, 0xDF, 0x18, 0x63, 0x23, 0x9C, 0xFA, 0x66, 0xBB, 0xB7, 0x5A, 0x27,
- 0x4C, 0xD1, 0xA1, 0x83, 0x22, 0xB3, 0x52, 0x49, 0x35, 0xB0, 0x22, 0x83, 0x59, 0x12, 0x00, 0x16,
- 0x98, 0xDD, 0xAD, 0xC2, 0x94, 0xF9, 0xD3, 0x7B, 0x64, 0x7F, 0x44, 0x3E, 0x3C, 0x8B, 0x9A, 0x83,
- 0x9C, 0x69, 0x6B, 0xE4, 0xDF, 0x9F, 0xED, 0x54, 0x1F, 0xE5, 0x5D, 0x7A, 0x05, 0x82, 0xB3, 0xDD,
- 0xEF, 0xFC, 0x53, 0x96, 0xB0, 0x2C, 0x5A, 0xF8, 0xDF, 0x9C, 0x8B, 0x16, 0x4E, 0xDF, 0xDA, 0x4D,
- 0x09, 0x09, 0x69, 0x50, 0x03, 0x65, 0xD8, 0x73, 0x70, 0xE8, 0x86, 0xBF, 0xBB, 0x35, 0xCE, 0xB2,
- 0x46, 0xCB, 0x02, 0x00, 0x5B, 0xB4, 0xE2, 0xC6, 0x8F, 0x2F, 0x98, 0xAF, 0x87, 0x4B, 0x48, 0x45,
- 0xED, 0xCC, 0x1D, 0xE6, 0x58, 0xD6, 0xF2, 0x50, 0x25, 0x9F, 0x52, 0xC7, 0xCB, 0x8A, 0x17, 0x9D,
- 0x5B, 0xE5, 0xC8, 0xD7, 0x72, 0xB7, 0x52, 0xB2, 0xC4, 0x98, 0xE3, 0x7A, 0x17, 0x3E, 0xC6, 0x60,
- 0xA7, 0x97, 0xB0, 0xCF, 0x18, 0x81, 0x53, 0x84, 0x4C, 0xD5, 0x17, 0x32, 0x03, 0x13, 0x39, 0x51,
- 0x09, 0x10, 0xE3, 0x77, 0x49, 0x4F, 0x62, 0x01, 0xBF, 0x8C, 0x9A, 0xE0, 0x41, 0x9E, 0x89, 0x74,
- 0x36, 0xF9, 0x96, 0x86, 0x2E, 0x96, 0x1C, 0x4A, 0xB7, 0x2B, 0x4A, 0x97, 0xBC, 0x99, 0x40, 0xA3,
- 0xE0, 0x3D, 0xC8, 0xAD, 0x2F, 0xDF, 0x4F, 0x2C, 0xC4, 0x69, 0x82, 0x9F, 0x9B, 0x81, 0x0C, 0x61,
- 0x5C, 0xA5, 0x9D, 0x8C, 0x89, 0xC0, 0x2C, 0xB4, 0x4A, 0x33, 0x4E, 0xEB, 0xA2, 0x56, 0x40, 0xC0,
- 0xC2, 0x46, 0xAF, 0x6A, 0xFC, 0x67, 0xD1, 0x80, 0x5E, 0xC5, 0x6D, 0x84, 0x43, 0x27, 0x3F, 0x55,
- 0x15, 0x96, 0x6A, 0xA0, 0xA5, 0xDA, 0xB7, 0xFF, 0xB7, 0x75, 0x6E, 0x4C, 0x49, 0x91, 0x9D, 0x22,
- 0xA3, 0x46, 0xEA, 0xED, 0x9A, 0x00, 0xE2, 0x32, 0xC3, 0xD6, 0xA9, 0x71, 0x20, 0x55, 0xA3, 0x19,
- 0xED, 0xF8, 0x4F, 0xA7, 0x12, 0x9C, 0x66, 0x87, 0xAF, 0x4E, 0xB7, 0xF0, 0xDB, 0xBF, 0xEF, 0xF0,
- 0xF6, 0xAF, 0xEA, 0xDA, 0x09, 0xFE, 0xDE, 0x38, 0x5C, 0xA5, 0xA2, 0xDF, 0x99, 0x45, 0xA8, 0xE4,
- 0xE7, 0x92, 0xAC, 0x67, 0xAA, 0x4F, 0xBF, 0x77, 0x3E, 0xA2, 0x40, 0x49, 0x22, 0x4A, 0x1E, 0x3B,
- 0xAA, 0x70, 0x7F, 0x95, 0xAF, 0x37, 0x4B, 0xFC, 0x99, 0xE2, 0xE0, 0xBA, 0xD7, 0x34, 0xCE, 0x55,
- 0x88, 0x5B, 0x84, 0x1B, 0x57, 0xC4, 0x80, 0x03, 0x53, 0xC9, 0x2F, 0x93, 0x04, 0x4D, 0xD5, 0x96,
- 0xE5, 0x70, 0xA6, 0x6E, 0x63, 0x5D, 0x9D, 0x6C, 0xDB, 0x02, 0x0A, 0xA9, 0xDA, 0x8B, 0x53, 0xDC,
- 0xD9, 0x9A, 0xC5, 0x94, 0x2C, 0x91, 0x92, 0x2A, 0xDE, 0xBB, 0x8B, 0x13, 0xB9, 0x19, 0x96, 0x64,
- 0xCC, 0xF2, 0x64, 0x39, 0xB7, 0x75, 0x49, 0xE9, 0x86, 0xC2, 0x86, 0x62, 0xD9, 0x24, 0xD3, 0x81,
- 0x35, 0x49, 0xFC, 0xA0, 0xA5, 0xA0, 0x93, 0x05, 0x64, 0xB4, 0x1A, 0x57, 0xCE, 0x0C, 0x90, 0x02,
- 0x27, 0xC5, 0x7A, 0x2B, 0x5D, 0xAE, 0x3E, 0xD5, 0xDD, 0x10, 0x7C, 0x14, 0xEA, 0x3A, 0x08, 0xAC,
- 0x72, 0x4E, 0x90, 0x3D, 0x3B, 0x7C, 0x86, 0x2E, 0xEB, 0xD4, 0x06, 0x70, 0xE6, 0xC7, 0xFB, 0x5F,
- 0xBD, 0x18, 0xF4, 0x11, 0xA4, 0x1A, 0x93, 0xC3, 0xBE, 0xD9, 0xFB, 0x26, 0x48, 0x2F, 0x37, 0x3C,
- 0xD0, 0x03, 0x47, 0x1A, 0xF7, 0x62, 0x19, 0x24, 0x5C, 0xF4, 0xA8, 0x92, 0x20, 0x7A, 0xF2, 0x9E,
- 0x2A, 0xC5, 0x95, 0xA2, 0xFB, 0xA4, 0xEA, 0x85, 0xD8, 0x56, 0xB7, 0x70, 0xD1, 0x60, 0x30, 0xA5,
- 0x30, 0x82, 0x70, 0xDC, 0x7A, 0x65, 0x8A, 0x36, 0x3F, 0x5B, 0x0C, 0xAE, 0x54, 0x7C, 0xD3, 0x57,
- 0x84, 0x7B, 0x3A, 0x65, 0x18, 0x81, 0xEE, 0x05, 0x9B, 0x44, 0x4D, 0xB8, 0xDA, 0xA2, 0xA1, 0xC9,
- 0x15, 0xD3, 0x73, 0x03, 0x0E, 0x43, 0xE9, 0x8E, 0x15, 0xF9, 0xBE, 0xC6, 0xC5, 0x8A, 0xE5, 0xC0,
- 0x1E, 0xC2, 0x37, 0x9E, 0x2A, 0x26, 0xA5, 0xA0, 0xBD, 0x24, 0x5F, 0xB9, 0xC1, 0xAB, 0x34, 0x48,
- 0xB9, 0x5D, 0x98, 0xB4, 0x65, 0x18, 0xF3, 0x63, 0x19, 0x44, 0x1B, 0x11, 0x16, 0xFF, 0xDC, 0xF1,
- 0x79, 0x08, 0x86, 0x0F, 0x52, 0x98, 0x73, 0xC4, 0x92, 0x90, 0x2B, 0x47, 0x09, 0xD0, 0x43, 0x6C,
- 0x2F, 0x20, 0xEB, 0xDC, 0xDA, 0xC5, 0x08, 0x7B, 0x94, 0x42, 0x30, 0x6A, 0xC7, 0xDA, 0x8C, 0xC3,
- 0x76, 0xA7, 0xA5, 0xCC, 0x62, 0x13, 0x00, 0x60, 0x31, 0x58, 0x44, 0x9B, 0xF5, 0x64, 0x14, 0xF5,
- 0x11, 0xC5, 0x54, 0x52, 0x83, 0xD4, 0x73, 0x01, 0x16, 0x0E, 0xB3, 0x7A, 0x29, 0x69, 0x35, 0x56,
- 0xD4, 0xEE, 0x8A, 0x17, 0xA2, 0x99, 0x24, 0x9C, 0xD7, 0x8F, 0xDB, 0x55, 0xB5, 0x3E
-};
diff --git a/drivers/sensors/analog_joystick.c b/drivers/sensors/analog_joystick.c
index 15b35a45f25a..93bbaa1b51bc 100644
--- a/drivers/sensors/analog_joystick.c
+++ b/drivers/sensors/analog_joystick.c
@@ -20,6 +20,14 @@
#include "wait.h"
#include "timer.h"
#include
+#include "pointing_device_internal.h"
+
+const pointing_device_driver_t analog_joystick_pointing_device_driver = {
+ .init = analog_joystick_init,
+ .get_report = analog_joystick_get_report,
+ .set_cpi = NULL,
+ .get_cpi = NULL,
+};
// Set Parameters
#ifndef ANALOG_JOYSTICK_AUTO_AXIS
@@ -145,3 +153,16 @@ void analog_joystick_init(void) {
maxAxisValues[1] = yOrigin + 100;
#endif
}
+
+report_mouse_t analog_joystick_get_report(report_mouse_t mouse_report) {
+ report_analog_joystick_t data = analog_joystick_read();
+
+ pd_dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y);
+
+ mouse_report.x = data.x;
+ mouse_report.y = data.y;
+
+ mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, data.button, POINTING_DEVICE_BUTTON1);
+
+ return mouse_report;
+}
diff --git a/drivers/sensors/analog_joystick.h b/drivers/sensors/analog_joystick.h
index 6892a08817f2..c84da83db13b 100644
--- a/drivers/sensors/analog_joystick.h
+++ b/drivers/sensors/analog_joystick.h
@@ -18,6 +18,7 @@
#include
#include
+#include "pointing_device.h"
#ifndef ANALOG_JOYSTICK_X_AXIS_PIN
# error No pin specified for X Axis
@@ -42,6 +43,8 @@
# define ANALOG_JOYSTICK_SPEED_MAX 2
#endif
+const pointing_device_driver_t analog_joystick_pointing_device_driver;
+
typedef struct {
int8_t x;
int8_t y;
@@ -49,3 +52,4 @@ typedef struct {
} report_analog_joystick_t;
report_analog_joystick_t analog_joystick_read(void);
void analog_joystick_init(void);
+report_mouse_t analog_joystick_get_report(report_mouse_t mouse_report);
diff --git a/drivers/sensors/azoteq_iqs5xx.c b/drivers/sensors/azoteq_iqs5xx.c
index 367873eb0624..1bb64f198446 100644
--- a/drivers/sensors/azoteq_iqs5xx.c
+++ b/drivers/sensors/azoteq_iqs5xx.c
@@ -98,6 +98,13 @@
#define AZOTEQ_IQS5XX_INCH_TO_RESOLUTION_Y(inch) (DIVIDE_UNSIGNED_ROUND((inch) * (uint32_t)AZOTEQ_IQS5XX_HEIGHT_MM * 10, 254))
#define AZOTEQ_IQS5XX_RESOLUTION_Y_TO_INCH(px) (DIVIDE_UNSIGNED_ROUND((px) * (uint32_t)254, AZOTEQ_IQS5XX_HEIGHT_MM * 10))
+const pointing_device_driver_t azoteq_iqs5xx_pointing_device_driver = {
+ .init = azoteq_iqs5xx_init,
+ .get_report = azoteq_iqs5xx_get_report,
+ .set_cpi = azoteq_iqs5xx_set_cpi,
+ .get_cpi = azoteq_iqs5xx_get_cpi,
+};
+
static uint16_t azoteq_iqs5xx_product_number = AZOTEQ_IQS5XX_UNKNOWN;
static struct {
@@ -312,3 +319,105 @@ void azoteq_iqs5xx_setup_resolution(void) {
azoteq_iqs5xx_device_resolution_t.resolution_y = AZOTEQ_IQS5XX_RESOLUTION_Y;
#endif
}
+
+static i2c_status_t azoteq_iqs5xx_init_status = 1;
+
+void azoteq_iqs5xx_init(void) {
+ i2c_init();
+ azoteq_iqs5xx_wake();
+ azoteq_iqs5xx_reset_suspend(true, false, true);
+ wait_ms(100);
+ azoteq_iqs5xx_wake();
+ if (azoteq_iqs5xx_get_product() != AZOTEQ_IQS5XX_UNKNOWN) {
+ azoteq_iqs5xx_setup_resolution();
+ azoteq_iqs5xx_init_status = azoteq_iqs5xx_set_report_rate(AZOTEQ_IQS5XX_REPORT_RATE, AZOTEQ_IQS5XX_ACTIVE, false);
+ azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_event_mode(false, false);
+ azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_reati(true, false);
+#if defined(AZOTEQ_IQS5XX_ROTATION_90)
+ azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(false, true, true, true, false);
+#elif defined(AZOTEQ_IQS5XX_ROTATION_180)
+ azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(true, true, false, true, false);
+#elif defined(AZOTEQ_IQS5XX_ROTATION_270)
+ azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(true, false, true, true, false);
+#else
+ azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_xy_config(false, false, false, true, false);
+#endif
+ azoteq_iqs5xx_init_status |= azoteq_iqs5xx_set_gesture_config(true);
+ wait_ms(AZOTEQ_IQS5XX_REPORT_RATE + 1);
+ }
+};
+
+report_mouse_t azoteq_iqs5xx_get_report(report_mouse_t mouse_report) {
+ report_mouse_t temp_report = {0};
+ static uint8_t previous_button_state = 0;
+ static uint8_t read_error_count = 0;
+
+ if (azoteq_iqs5xx_init_status == I2C_STATUS_SUCCESS) {
+ azoteq_iqs5xx_base_data_t base_data = {0};
+#if !defined(POINTING_DEVICE_MOTION_PIN)
+ azoteq_iqs5xx_wake();
+#endif
+ i2c_status_t status = azoteq_iqs5xx_get_base_data(&base_data);
+ bool ignore_movement = false;
+
+ if (status == I2C_STATUS_SUCCESS) {
+ // pd_dprintf("IQS5XX - previous cycle time: %d \n", base_data.previous_cycle_time);
+ read_error_count = 0;
+ if (base_data.gesture_events_0.single_tap || base_data.gesture_events_0.press_and_hold) {
+ pd_dprintf("IQS5XX - Single tap/hold.\n");
+ temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON1);
+ } else if (base_data.gesture_events_1.two_finger_tap) {
+ pd_dprintf("IQS5XX - Two finger tap.\n");
+ temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON2);
+ } else if (base_data.gesture_events_0.swipe_x_neg) {
+ pd_dprintf("IQS5XX - X-.\n");
+ temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON4);
+ ignore_movement = true;
+ } else if (base_data.gesture_events_0.swipe_x_pos) {
+ pd_dprintf("IQS5XX - X+.\n");
+ temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON5);
+ ignore_movement = true;
+ } else if (base_data.gesture_events_0.swipe_y_neg) {
+ pd_dprintf("IQS5XX - Y-.\n");
+ temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON6);
+ ignore_movement = true;
+ } else if (base_data.gesture_events_0.swipe_y_pos) {
+ pd_dprintf("IQS5XX - Y+.\n");
+ temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON3);
+ ignore_movement = true;
+ } else if (base_data.gesture_events_1.zoom) {
+ if (AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l) < 0) {
+ pd_dprintf("IQS5XX - Zoom out.\n");
+ temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON7);
+ } else if (AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l) > 0) {
+ pd_dprintf("IQS5XX - Zoom in.\n");
+ temp_report.buttons = pointing_device_handle_buttons(temp_report.buttons, true, POINTING_DEVICE_BUTTON8);
+ }
+ } else if (base_data.gesture_events_1.scroll) {
+ pd_dprintf("IQS5XX - Scroll.\n");
+ temp_report.h = CONSTRAIN_HID(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l));
+ temp_report.v = CONSTRAIN_HID(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.y.h, base_data.y.l));
+ }
+ if (base_data.number_of_fingers == 1 && !ignore_movement) {
+ temp_report.x = CONSTRAIN_HID_XY(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.x.h, base_data.x.l));
+ temp_report.y = CONSTRAIN_HID_XY(AZOTEQ_IQS5XX_COMBINE_H_L_BYTES(base_data.y.h, base_data.y.l));
+ }
+
+ previous_button_state = temp_report.buttons;
+
+ } else {
+ if (read_error_count > 10) {
+ read_error_count = 0;
+ previous_button_state = 0;
+ } else {
+ read_error_count++;
+ }
+ temp_report.buttons = previous_button_state;
+ pd_dprintf("IQS5XX - get report failed: %d \n", status);
+ }
+ } else {
+ pd_dprintf("IQS5XX - Init failed: %d \n", azoteq_iqs5xx_init_status);
+ }
+
+ return temp_report;
+}
diff --git a/drivers/sensors/azoteq_iqs5xx.h b/drivers/sensors/azoteq_iqs5xx.h
index 704ec2bab3bd..4190fe470c77 100644
--- a/drivers/sensors/azoteq_iqs5xx.h
+++ b/drivers/sensors/azoteq_iqs5xx.h
@@ -176,6 +176,8 @@ typedef struct {
# define POINTING_DEVICE_TASK_THROTTLE_MS AZOTEQ_IQS5XX_REPORT_RATE
#endif
+const pointing_device_driver_t azoteq_iqs5xx_pointing_device_driver;
+
void azoteq_iqs5xx_init(void);
i2c_status_t azoteq_iqs5xx_wake(void);
report_mouse_t azoteq_iqs5xx_get_report(report_mouse_t mouse_report);
diff --git a/drivers/sensors/cirque_pinnacle.c b/drivers/sensors/cirque_pinnacle.c
index 9afc9df80444..893cb98bf058 100644
--- a/drivers/sensors/cirque_pinnacle.c
+++ b/drivers/sensors/cirque_pinnacle.c
@@ -4,6 +4,7 @@
// refer to documentation: Gen2 and Gen3 (Pinnacle ASIC) at https://www.cirque.com/documentation
#include "cirque_pinnacle.h"
+#include "cirque_pinnacle_gestures.h"
#include "wait.h"
#include "timer.h"
@@ -350,3 +351,144 @@ pinnacle_data_t cirque_pinnacle_read_data(void) {
result.valid = true;
return result;
}
+
+#ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE
+static bool cursor_glide_enable = true;
+
+static cursor_glide_context_t glide = {.config = {
+ .coef = 102, /* Good default friction coef */
+ .interval = 10, /* 100sps */
+ .trigger_px = 10, /* Default threshold in case of hover, set to 0 if you'd like */
+ }};
+
+void cirque_pinnacle_enable_cursor_glide(bool enable) {
+ cursor_glide_enable = enable;
+}
+
+void cirque_pinnacle_configure_cursor_glide(float trigger_px) {
+ glide.config.trigger_px = trigger_px;
+}
+#endif
+
+#if CIRQUE_PINNACLE_POSITION_MODE
+
+# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE
+static bool is_touch_down;
+
+bool auto_mouse_activation(report_mouse_t mouse_report) {
+ return is_touch_down || mouse_report.x != 0 || mouse_report.y != 0 || mouse_report.h != 0 || mouse_report.v != 0 || mouse_report.buttons;
+}
+# endif
+
+report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) {
+ uint16_t scale = cirque_pinnacle_get_scale();
+ pinnacle_data_t touchData = cirque_pinnacle_read_data();
+ mouse_xy_report_t report_x = 0, report_y = 0;
+ static uint16_t x = 0, y = 0, last_scale = 0;
+
+# if defined(CIRQUE_PINNACLE_TAP_ENABLE)
+ mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, false, POINTING_DEVICE_BUTTON1);
+# endif
+# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE
+ cursor_glide_t glide_report = {0};
+
+ if (cursor_glide_enable) {
+ glide_report = cursor_glide_check(&glide);
+ }
+# endif
+
+ if (!touchData.valid) {
+# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE
+ if (cursor_glide_enable && glide_report.valid) {
+ report_x = glide_report.dx;
+ report_y = glide_report.dy;
+ goto mouse_report_update;
+ }
+# endif
+ return mouse_report;
+ }
+
+ if (touchData.touchDown) {
+ pd_dprintf("cirque_pinnacle touchData x=%4d y=%4d z=%2d\n", touchData.xValue, touchData.yValue, touchData.zValue);
+ }
+
+# ifdef POINTING_DEVICE_AUTO_MOUSE_ENABLE
+ is_touch_down = touchData.touchDown;
+# endif
+
+ // Scale coordinates to arbitrary X, Y resolution
+ cirque_pinnacle_scale_data(&touchData, scale, scale);
+
+ if (!cirque_pinnacle_gestures(&mouse_report, touchData)) {
+ if (last_scale && scale == last_scale && x && y && touchData.xValue && touchData.yValue) {
+ report_x = CONSTRAIN_HID_XY((int16_t)(touchData.xValue - x));
+ report_y = CONSTRAIN_HID_XY((int16_t)(touchData.yValue - y));
+ }
+ x = touchData.xValue;
+ y = touchData.yValue;
+ last_scale = scale;
+
+# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE
+ if (cursor_glide_enable) {
+ if (touchData.touchDown) {
+ cursor_glide_update(&glide, report_x, report_y, touchData.zValue);
+ } else if (!glide_report.valid) {
+ glide_report = cursor_glide_start(&glide);
+ if (glide_report.valid) {
+ report_x = glide_report.dx;
+ report_y = glide_report.dy;
+ }
+ }
+ }
+# endif
+ }
+
+# ifdef POINTING_DEVICE_GESTURES_CURSOR_GLIDE_ENABLE
+mouse_report_update:
+# endif
+ mouse_report.x = report_x;
+ mouse_report.y = report_y;
+
+ return mouse_report;
+}
+
+uint16_t cirque_pinnacle_get_cpi(void) {
+ return CIRQUE_PINNACLE_PX_TO_INCH(cirque_pinnacle_get_scale());
+}
+void cirque_pinnacle_set_cpi(uint16_t cpi) {
+ cirque_pinnacle_set_scale(CIRQUE_PINNACLE_INCH_TO_PX(cpi));
+}
+
+// clang-format off
+const pointing_device_driver_t cirque_pinnacle_pointing_device_driver = {
+ .init = cirque_pinnacle_init,
+ .get_report = cirque_pinnacle_get_report,
+ .set_cpi = cirque_pinnacle_set_cpi,
+ .get_cpi = cirque_pinnacle_get_cpi
+};
+// clang-format on
+#else
+report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report) {
+ pinnacle_data_t touchData = cirque_pinnacle_read_data();
+
+ // Scale coordinates to arbitrary X, Y resolution
+ cirque_pinnacle_scale_data(&touchData, cirque_pinnacle_get_scale(), cirque_pinnacle_get_scale());
+
+ if (touchData.valid) {
+ mouse_report.buttons = touchData.buttons;
+ mouse_report.x = CONSTRAIN_HID_XY(touchData.xDelta);
+ mouse_report.y = CONSTRAIN_HID_XY(touchData.yDelta);
+ mouse_report.v = touchData.wheelCount;
+ }
+ return mouse_report;
+}
+
+// clang-format off
+const pointing_device_driver_t cirque_pinnacle_pointing_device_driver = {
+ .init = cirque_pinnacle_init,
+ .get_report = cirque_pinnacle_get_report,
+ .set_cpi = cirque_pinnacle_set_scale,
+ .get_cpi = cirque_pinnacle_get_scale
+};
+// clang-format on
+#endif
diff --git a/drivers/sensors/cirque_pinnacle.h b/drivers/sensors/cirque_pinnacle.h
index 8717b3299111..1a17e539a402 100644
--- a/drivers/sensors/cirque_pinnacle.h
+++ b/drivers/sensors/cirque_pinnacle.h
@@ -6,6 +6,7 @@
#include
#include
#include "pointing_device_internal.h"
+#include "pointing_device.h"
#ifndef CIRQUE_PINNACLE_TIMEOUT
# define CIRQUE_PINNACLE_TIMEOUT 20 // I2C timeout in milliseconds
@@ -109,6 +110,10 @@ typedef struct {
#endif
} pinnacle_data_t;
+#define cirque_pinnacle_i2c_pointing_device_driver cirque_pinnacle_pointing_device_driver
+#define cirque_pinnacle_spi_pointing_device_driver cirque_pinnacle_pointing_device_driver
+const pointing_device_driver_t cirque_pinnacle_pointing_device_driver;
+
void cirque_pinnacle_init(void);
void cirque_pinnacle_calibrate(void);
void cirque_pinnacle_cursor_smoothing(bool enable);
@@ -116,3 +121,6 @@ pinnacle_data_t cirque_pinnacle_read_data(void);
void cirque_pinnacle_scale_data(pinnacle_data_t* coordinates, uint16_t xResolution, uint16_t yResolution);
uint16_t cirque_pinnacle_get_scale(void);
void cirque_pinnacle_set_scale(uint16_t scale);
+uint16_t cirque_pinnacle_get_cpi(void);
+void cirque_pinnacle_set_cpi(uint16_t cpi);
+report_mouse_t cirque_pinnacle_get_report(report_mouse_t mouse_report);
diff --git a/drivers/sensors/cirque_pinnacle_gestures.h b/drivers/sensors/cirque_pinnacle_gestures.h
index d2aa206b2be6..1412c86f7ebd 100644
--- a/drivers/sensors/cirque_pinnacle_gestures.h
+++ b/drivers/sensors/cirque_pinnacle_gestures.h
@@ -28,7 +28,7 @@ typedef struct {
# ifndef CIRQUE_PINNACLE_TAPPING_TERM
# include "action.h"
# include "action_tapping.h"
-# define CIRQUE_PINNACLE_TAPPING_TERM GET_TAPPING_TERM(KC_BTN1, &(keyrecord_t){})
+# define CIRQUE_PINNACLE_TAPPING_TERM GET_TAPPING_TERM(QK_MOUSE_BUTTON_1, &(keyrecord_t){})
# endif
# ifndef CIRQUE_PINNACLE_TOUCH_DEBOUNCE
# define CIRQUE_PINNACLE_TOUCH_DEBOUNCE (CIRQUE_PINNACLE_TAPPING_TERM * 8)
diff --git a/drivers/sensors/paw3204.c b/drivers/sensors/paw3204.c
index 28c47522ed55..475821f175c0 100644
--- a/drivers/sensors/paw3204.c
+++ b/drivers/sensors/paw3204.c
@@ -20,6 +20,7 @@
#include "wait.h"
#include "debug.h"
#include "gpio.h"
+#include "pointing_device_internal.h"
#define REG_PID1 0x00
#define REG_PID2 0x01
@@ -50,6 +51,13 @@ void paw3204_serial_write(uint8_t reg_addr);
uint8_t paw3204_read_reg(uint8_t reg_addr);
void paw3204_write_reg(uint8_t reg_addr, uint8_t data);
+const pointing_device_driver_t paw3204_pointing_device_driver = {
+ .init = paw3204_init,
+ .get_report = paw3204_get_report,
+ .set_cpi = paw3204_set_cpi,
+ .get_cpi = paw3204_get_cpi,
+};
+
void paw3204_init(void) {
gpio_set_pin_output(PAW3204_SCLK_PIN); // setclockpin to output
gpio_set_pin_input_high(PAW3204_SDIO_PIN); // set datapin input high
@@ -170,3 +178,15 @@ uint16_t paw3204_get_cpi(void) {
uint8_t read_pid_paw3204(void) {
return paw3204_read_reg(REG_PID1);
}
+
+report_mouse_t paw3204_get_report(report_mouse_t mouse_report) {
+ report_paw3204_t data = paw3204_read();
+ if (data.isMotion) {
+ pd_dprintf("Raw ] X: %d, Y: %d\n", data.x, data.y);
+
+ mouse_report.x = data.x;
+ mouse_report.y = data.y;
+ }
+
+ return mouse_report;
+}
diff --git a/drivers/sensors/paw3204.h b/drivers/sensors/paw3204.h
index 7f487d90dcea..a4bb8e16a676 100644
--- a/drivers/sensors/paw3204.h
+++ b/drivers/sensors/paw3204.h
@@ -18,6 +18,7 @@
#include
#include
+#include "pointing_device.h"
#ifndef PAW3204_SCLK_PIN
# ifdef POINTING_DEVICE_SCLK_PIN
@@ -40,6 +41,8 @@ typedef struct {
bool isMotion;
} report_paw3204_t;
+const pointing_device_driver_t paw3204_pointing_device_driver;
+
/**
* @brief Initializes the sensor so it is in a working state and ready to
* be polled for data.
@@ -74,3 +77,5 @@ void paw3204_set_cpi(uint16_t cpi);
* @return uint16_t Current CPI value of the sensor
*/
uint16_t paw3204_get_cpi(void);
+
+report_mouse_t paw3204_get_report(report_mouse_t mouse_report);
diff --git a/drivers/sensors/pimoroni_trackball.c b/drivers/sensors/pimoroni_trackball.c
index 9c6d26d73de7..afbe3d5b77fc 100644
--- a/drivers/sensors/pimoroni_trackball.c
+++ b/drivers/sensors/pimoroni_trackball.c
@@ -33,6 +33,13 @@
static uint16_t precision = 128;
+const pointing_device_driver_t pimoroni_trackball_pointing_device_driver = {
+ .init = pimoroni_trackball_device_init,
+ .get_report = pimoroni_trackball_get_report,
+ .set_cpi = pimoroni_trackball_set_cpi,
+ .get_cpi = pimoroni_trackball_get_cpi,
+};
+
uint16_t pimoroni_trackball_get_cpi(void) {
return (precision * 125);
}
@@ -61,8 +68,8 @@ void pimoroni_trackball_set_rgbw(uint8_t r, uint8_t g, uint8_t b, uint8_t w) {
pd_dprintf("Trackball RGBW i2c_status_t: %d\n", status);
}
-i2c_status_t read_pimoroni_trackball(pimoroni_data_t* data) {
- i2c_status_t status = i2c_read_register(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LEFT, (uint8_t*)data, sizeof(*data), PIMORONI_TRACKBALL_TIMEOUT);
+i2c_status_t read_pimoroni_trackball(pimoroni_data_t *data) {
+ i2c_status_t status = i2c_read_register(PIMORONI_TRACKBALL_ADDRESS << 1, PIMORONI_TRACKBALL_REG_LEFT, (uint8_t *)data, sizeof(*data), PIMORONI_TRACKBALL_TIMEOUT);
#ifdef POINTING_DEVICE_DEBUG
static uint16_t d_timer;
@@ -92,3 +99,50 @@ int16_t pimoroni_trackball_get_offsets(uint8_t negative_dir, uint8_t positive_di
uint16_t magnitude = (scale * offset * offset * precision) >> 7;
return isnegative ? -(int16_t)(magnitude) : (int16_t)(magnitude);
}
+
+mouse_xy_report_t pimoroni_trackball_adapt_values(xy_clamp_range_t *offset) {
+ if (*offset > XY_REPORT_MAX) {
+ *offset -= XY_REPORT_MAX;
+ return (mouse_xy_report_t)XY_REPORT_MAX;
+ } else if (*offset < XY_REPORT_MIN) {
+ *offset += XY_REPORT_MAX;
+ return (mouse_xy_report_t)XY_REPORT_MIN;
+ } else {
+ mouse_xy_report_t temp_return = *offset;
+ *offset = 0;
+ return temp_return;
+ }
+}
+
+report_mouse_t pimoroni_trackball_get_report(report_mouse_t mouse_report) {
+ static uint16_t debounce = 0;
+ static uint8_t error_count = 0;
+ pimoroni_data_t pimoroni_data = {0};
+ static xy_clamp_range_t x_offset = 0, y_offset = 0;
+
+ if (error_count < PIMORONI_TRACKBALL_ERROR_COUNT) {
+ i2c_status_t status = read_pimoroni_trackball(&pimoroni_data);
+
+ if (status == I2C_STATUS_SUCCESS) {
+ error_count = 0;
+
+ if (!(pimoroni_data.click & 128)) {
+ mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, false, POINTING_DEVICE_BUTTON1);
+ if (!debounce) {
+ x_offset += pimoroni_trackball_get_offsets(pimoroni_data.right, pimoroni_data.left, PIMORONI_TRACKBALL_SCALE);
+ y_offset += pimoroni_trackball_get_offsets(pimoroni_data.down, pimoroni_data.up, PIMORONI_TRACKBALL_SCALE);
+ mouse_report.x = pimoroni_trackball_adapt_values(&x_offset);
+ mouse_report.y = pimoroni_trackball_adapt_values(&y_offset);
+ } else {
+ debounce--;
+ }
+ } else {
+ mouse_report.buttons = pointing_device_handle_buttons(mouse_report.buttons, true, POINTING_DEVICE_BUTTON1);
+ debounce = PIMORONI_TRACKBALL_DEBOUNCE_CYCLES;
+ }
+ } else {
+ error_count++;
+ }
+ }
+ return mouse_report;
+}
diff --git a/drivers/sensors/pimoroni_trackball.h b/drivers/sensors/pimoroni_trackball.h
index 749f381bbd6c..1904214a74a7 100644
--- a/drivers/sensors/pimoroni_trackball.h
+++ b/drivers/sensors/pimoroni_trackball.h
@@ -19,6 +19,7 @@
#include
#include "report.h"
#include "i2c_master.h"
+#include "pointing_device.h"
#ifndef PIMORONI_TRACKBALL_ADDRESS
# define PIMORONI_TRACKBALL_ADDRESS 0x0A
@@ -49,9 +50,12 @@ typedef struct {
uint8_t click;
} pimoroni_data_t;
-void pimoroni_trackball_device_init(void);
-void pimoroni_trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white);
-int16_t pimoroni_trackball_get_offsets(uint8_t negative_dir, uint8_t positive_dir, uint8_t scale);
-uint16_t pimoroni_trackball_get_cpi(void);
-void pimoroni_trackball_set_cpi(uint16_t cpi);
-i2c_status_t read_pimoroni_trackball(pimoroni_data_t* data);
+const pointing_device_driver_t pimoroni_trackball_pointing_device_driver;
+
+void pimoroni_trackball_device_init(void);
+void pimoroni_trackball_set_rgbw(uint8_t red, uint8_t green, uint8_t blue, uint8_t white);
+int16_t pimoroni_trackball_get_offsets(uint8_t negative_dir, uint8_t positive_dir, uint8_t scale);
+uint16_t pimoroni_trackball_get_cpi(void);
+void pimoroni_trackball_set_cpi(uint16_t cpi);
+i2c_status_t read_pimoroni_trackball(pimoroni_data_t* data);
+report_mouse_t pimoroni_trackball_get_report(report_mouse_t mouse_report);
diff --git a/drivers/sensors/pmw3320.c b/drivers/sensors/pmw3320.c
index f19fbfd1ab44..74fefd4c53d0 100644
--- a/drivers/sensors/pmw3320.c
+++ b/drivers/sensors/pmw3320.c
@@ -21,6 +21,14 @@
#include "wait.h"
#include "debug.h"
#include "gpio.h"
+#include "pointing_device_internal.h"
+
+const pointing_device_driver_t pmw3320_pointing_device_drivera = {
+ .init = pmw3320_init,
+ .get_report = pmw3320_get_report,
+ .set_cpi = pmw3320_set_cpi,
+ .get_cpi = pmw3320_get_cpi,
+};
void pmw3320_init(void) {
// Initialize sensor serial pins.
@@ -190,3 +198,15 @@ bool pmw3320_check_signature(void) {
return (pid == 0x3b && pid2 == 0xc4);
}
+
+report_mouse_t pmw3320_get_report(report_mouse_t mouse_report) {
+ report_pmw3320_t data = pmw3320_read_burst();
+
+ if (data.dx != 0 || data.dy != 0) {
+ pd_dprintf("Raw ] X: %d, Y: %d\n", data.dx, data.dy);
+ mouse_report.x = (mouse_xy_report_t)data.dx;
+ mouse_report.y = (mouse_xy_report_t)data.dy;
+ }
+
+ return mouse_report;
+}
diff --git a/drivers/sensors/pmw3320.h b/drivers/sensors/pmw3320.h
index a1fd5469196a..cfff25bd8a60 100644
--- a/drivers/sensors/pmw3320.h
+++ b/drivers/sensors/pmw3320.h
@@ -21,6 +21,7 @@
#include
#include
+#include "pointing_device.h"
#define constrain(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt)))
@@ -54,6 +55,8 @@ typedef struct {
int8_t dy;
} report_pmw3320_t;
+const pointing_device_driver_t pmw3320_pointing_device_driver;
+
// A bunch of functions to implement the PMW3320-specific serial protocol.
// Mostly taken from ADNS5050 driver.
// Note that the "serial.h" driver is insufficient, because it does not
@@ -69,6 +72,7 @@ void pmw3320_set_cpi(uint16_t cpi);
uint16_t pmw3320_get_cpi(void);
int8_t convert_twoscomp(uint8_t data);
bool pmw3320_check_signature(void);
+report_mouse_t pmw3320_get_report(report_mouse_t mouse_report);
#if !defined(PMW3320_CPI)
# define PMW3320_CPI 1000
diff --git a/drivers/sensors/pmw3360.c b/drivers/sensors/pmw3360.c
index 8408daa9451b..fb710591d3ac 100644
--- a/drivers/sensors/pmw3360.c
+++ b/drivers/sensors/pmw3360.c
@@ -31,265 +31,4 @@ void pmw33xx_set_cpi(uint8_t sensor, uint16_t cpi) {
}
// PID, Inverse PID, SROM version
-const uint8_t pmw33xx_firmware_signature[3] PROGMEM = {0x42, 0xBD, 0x04};
-
-// Firmware Blob for PMW3360
-// clang-format off
-const uint8_t pmw33xx_firmware_data[PMW33XX_FIRMWARE_LENGTH] PROGMEM = {
- 0x01, 0x04, 0x8E, 0x96, 0x6E, 0x77, 0x3E, 0xFE, 0x7E, 0x5F, 0x1D, 0xB8, 0xF2, 0x66, 0x4E, 0xFF,
- 0x5D, 0x19, 0xB0, 0xC2, 0x04, 0x69, 0x54, 0x2A, 0xD6, 0x2E, 0xBF, 0xDD, 0x19, 0xB0, 0xC3, 0xE5,
- 0x29, 0xB1, 0xE0, 0x23, 0xA5, 0xA9, 0xB1, 0xC1, 0x00, 0x82, 0x67, 0x4C, 0x1A, 0x97, 0x8D, 0x79,
- 0x51, 0x20, 0xC7, 0x06, 0x8E, 0x7C, 0x7C, 0x7A, 0x76, 0x4F, 0xFD, 0x59, 0x30, 0xE2, 0x46, 0x0E,
- 0x9E, 0xBE, 0xDF, 0x1D, 0x99, 0x91, 0xA0, 0xA5, 0xA1, 0xA9, 0xD0, 0x22, 0xC6, 0xEF, 0x5C, 0x1B,
- 0x95, 0x89, 0x90, 0xA2, 0xA7, 0xCC, 0xFB, 0x55, 0x28, 0xB3, 0xE4, 0x4A, 0xF7, 0x6C, 0x3B, 0xF4,
- 0x6A, 0x56, 0x2E, 0xDE, 0x1F, 0x9D, 0xB8, 0xD3, 0x05, 0x88, 0x92, 0xA6, 0xCE, 0x1E, 0xBE, 0xDF,
- 0x1D, 0x99, 0xB0, 0xE2, 0x46, 0xEF, 0x5C, 0x07, 0x11, 0x5D, 0x98, 0x0B, 0x9D, 0x94, 0x97, 0xEE,
- 0x4E, 0x45, 0x33, 0x6B, 0x44, 0xC7, 0x29, 0x56, 0x27, 0x30, 0xC6, 0xA7, 0xD5, 0xF2, 0x56, 0xDF,
- 0xB4, 0x38, 0x62, 0xCB, 0xA0, 0xB6, 0xE3, 0x0F, 0x84, 0x06, 0x24, 0x05, 0x65, 0x6F, 0x76, 0x89,
- 0xB5, 0x77, 0x41, 0x27, 0x82, 0x66, 0x65, 0x82, 0xCC, 0xD5, 0xE6, 0x20, 0xD5, 0x27, 0x17, 0xC5,
- 0xF8, 0x03, 0x23, 0x7C, 0x5F, 0x64, 0xA5, 0x1D, 0xC1, 0xD6, 0x36, 0xCB, 0x4C, 0xD4, 0xDB, 0x66,
- 0xD7, 0x8B, 0xB1, 0x99, 0x7E, 0x6F, 0x4C, 0x36, 0x40, 0x06, 0xD6, 0xEB, 0xD7, 0xA2, 0xE4, 0xF4,
- 0x95, 0x51, 0x5A, 0x54, 0x96, 0xD5, 0x53, 0x44, 0xD7, 0x8C, 0xE0, 0xB9, 0x40, 0x68, 0xD2, 0x18,
- 0xE9, 0xDD, 0x9A, 0x23, 0x92, 0x48, 0xEE, 0x7F, 0x43, 0xAF, 0xEA, 0x77, 0x38, 0x84, 0x8C, 0x0A,
- 0x72, 0xAF, 0x69, 0xF8, 0xDD, 0xF1, 0x24, 0x83, 0xA3, 0xF8, 0x4A, 0xBF, 0xF5, 0x94, 0x13, 0xDB,
- 0xBB, 0xD8, 0xB4, 0xB3, 0xA0, 0xFB, 0x45, 0x50, 0x60, 0x30, 0x59, 0x12, 0x31, 0x71, 0xA2, 0xD3,
- 0x13, 0xE7, 0xFA, 0xE7, 0xCE, 0x0F, 0x63, 0x15, 0x0B, 0x6B, 0x94, 0xBB, 0x37, 0x83, 0x26, 0x05,
- 0x9D, 0xFB, 0x46, 0x92, 0xFC, 0x0A, 0x15, 0xD1, 0x0D, 0x73, 0x92, 0xD6, 0x8C, 0x1B, 0x8C, 0xB8,
- 0x55, 0x8A, 0xCE, 0xBD, 0xFE, 0x8E, 0xFC, 0xED, 0x09, 0x12, 0x83, 0x91, 0x82, 0x51, 0x31, 0x23,
- 0xFB, 0xB4, 0x0C, 0x76, 0xAD, 0x7C, 0xD9, 0xB4, 0x4B, 0xB2, 0x67, 0x14, 0x09, 0x9C, 0x7F, 0x0C,
- 0x18, 0xBA, 0x3B, 0xD6, 0x8E, 0x14, 0x2A, 0xE4, 0x1B, 0x52, 0x9F, 0x2B, 0x7D, 0xE1, 0xFB, 0x6A,
- 0x33, 0x02, 0xFA, 0xAC, 0x5A, 0xF2, 0x3E, 0x88, 0x7E, 0xAE, 0xD1, 0xF3, 0x78, 0xE8, 0x05, 0xD1,
- 0xE3, 0xDC, 0x21, 0xF6, 0xE1, 0x9A, 0xBD, 0x17, 0x0E, 0xD9, 0x46, 0x9B, 0x88, 0x03, 0xEA, 0xF6,
- 0x66, 0xBE, 0x0E, 0x1B, 0x50, 0x49, 0x96, 0x40, 0x97, 0xF1, 0xF1, 0xE4, 0x80, 0xA6, 0x6E, 0xE8,
- 0x77, 0x34, 0xBF, 0x29, 0x40, 0x44, 0xC2, 0xFF, 0x4E, 0x98, 0xD3, 0x9C, 0xA3, 0x32, 0x2B, 0x76,
- 0x51, 0x04, 0x09, 0xE7, 0xA9, 0xD1, 0xA6, 0x32, 0xB1, 0x23, 0x53, 0xE2, 0x47, 0xAB, 0xD6, 0xF5,
- 0x69, 0x5C, 0x3E, 0x5F, 0xFA, 0xAE, 0x45, 0x20, 0xE5, 0xD2, 0x44, 0xFF, 0x39, 0x32, 0x6D, 0xFD,
- 0x27, 0x57, 0x5C, 0xFD, 0xF0, 0xDE, 0xC1, 0xB5, 0x99, 0xE5, 0xF5, 0x1C, 0x77, 0x01, 0x75, 0xC5,
- 0x6D, 0x58, 0x92, 0xF2, 0xB2, 0x47, 0x00, 0x01, 0x26, 0x96, 0x7A, 0x30, 0xFF, 0xB7, 0xF0, 0xEF,
- 0x77, 0xC1, 0x8A, 0x5D, 0xDC, 0xC0, 0xD1, 0x29, 0x30, 0x1E, 0x77, 0x38, 0x7A, 0x94, 0xF1, 0xB8,
- 0x7A, 0x7E, 0xEF, 0xA4, 0xD1, 0xAC, 0x31, 0x4A, 0xF2, 0x5D, 0x64, 0x3D, 0xB2, 0xE2, 0xF0, 0x08,
- 0x99, 0xFC, 0x70, 0xEE, 0x24, 0xA7, 0x7E, 0xEE, 0x1E, 0x20, 0x69, 0x7D, 0x44, 0xBF, 0x87, 0x42,
- 0xDF, 0x88, 0x3B, 0x0C, 0xDA, 0x42, 0xC9, 0x04, 0xF9, 0x45, 0x50, 0xFC, 0x83, 0x8F, 0x11, 0x6A,
- 0x72, 0xBC, 0x99, 0x95, 0xF0, 0xAC, 0x3D, 0xA7, 0x3B, 0xCD, 0x1C, 0xE2, 0x88, 0x79, 0x37, 0x11,
- 0x5F, 0x39, 0x89, 0x95, 0x0A, 0x16, 0x84, 0x7A, 0xF6, 0x8A, 0xA4, 0x28, 0xE4, 0xED, 0x83, 0x80,
- 0x3B, 0xB1, 0x23, 0xA5, 0x03, 0x10, 0xF4, 0x66, 0xEA, 0xBB, 0x0C, 0x0F, 0xC5, 0xEC, 0x6C, 0x69,
- 0xC5, 0xD3, 0x24, 0xAB, 0xD4, 0x2A, 0xB7, 0x99, 0x88, 0x76, 0x08, 0xA0, 0xA8, 0x95, 0x7C, 0xD8,
- 0x38, 0x6D, 0xCD, 0x59, 0x02, 0x51, 0x4B, 0xF1, 0xB5, 0x2B, 0x50, 0xE3, 0xB6, 0xBD, 0xD0, 0x72,
- 0xCF, 0x9E, 0xFD, 0x6E, 0xBB, 0x44, 0xC8, 0x24, 0x8A, 0x77, 0x18, 0x8A, 0x13, 0x06, 0xEF, 0x97,
- 0x7D, 0xFA, 0x81, 0xF0, 0x31, 0xE6, 0xFA, 0x77, 0xED, 0x31, 0x06, 0x31, 0x5B, 0x54, 0x8A, 0x9F,
- 0x30, 0x68, 0xDB, 0xE2, 0x40, 0xF8, 0x4E, 0x73, 0xFA, 0xAB, 0x74, 0x8B, 0x10, 0x58, 0x13, 0xDC,
- 0xD2, 0xE6, 0x78, 0xD1, 0x32, 0x2E, 0x8A, 0x9F, 0x2C, 0x58, 0x06, 0x48, 0x27, 0xC5, 0xA9, 0x5E,
- 0x81, 0x47, 0x89, 0x46, 0x21, 0x91, 0x03, 0x70, 0xA4, 0x3E, 0x88, 0x9C, 0xDA, 0x33, 0x0A, 0xCE,
- 0xBC, 0x8B, 0x8E, 0xCF, 0x9F, 0xD3, 0x71, 0x80, 0x43, 0xCF, 0x6B, 0xA9, 0x51, 0x83, 0x76, 0x30,
- 0x82, 0xC5, 0x6A, 0x85, 0x39, 0x11, 0x50, 0x1A, 0x82, 0xDC, 0x1E, 0x1C, 0xD5, 0x7D, 0xA9, 0x71,
- 0x99, 0x33, 0x47, 0x19, 0x97, 0xB3, 0x5A, 0xB1, 0xDF, 0xED, 0xA4, 0xF2, 0xE6, 0x26, 0x84, 0xA2,
- 0x28, 0x9A, 0x9E, 0xDF, 0xA6, 0x6A, 0xF4, 0xD6, 0xFC, 0x2E, 0x5B, 0x9D, 0x1A, 0x2A, 0x27, 0x68,
- 0xFB, 0xC1, 0x83, 0x21, 0x4B, 0x90, 0xE0, 0x36, 0xDD, 0x5B, 0x31, 0x42, 0x55, 0xA0, 0x13, 0xF7,
- 0xD0, 0x89, 0x53, 0x71, 0x99, 0x57, 0x09, 0x29, 0xC5, 0xF3, 0x21, 0xF8, 0x37, 0x2F, 0x40, 0xF3,
- 0xD4, 0xAF, 0x16, 0x08, 0x36, 0x02, 0xFC, 0x77, 0xC5, 0x8B, 0x04, 0x90, 0x56, 0xB9, 0xC9, 0x67,
- 0x9A, 0x99, 0xE8, 0x00, 0xD3, 0x86, 0xFF, 0x97, 0x2D, 0x08, 0xE9, 0xB7, 0xB3, 0x91, 0xBC, 0xDF,
- 0x45, 0xC6, 0xED, 0x0F, 0x8C, 0x4C, 0x1E, 0xE6, 0x5B, 0x6E, 0x38, 0x30, 0xE4, 0xAA, 0xE3, 0x95,
- 0xDE, 0xB9, 0xE4, 0x9A, 0xF5, 0xB2, 0x55, 0x9A, 0x87, 0x9B, 0xF6, 0x6A, 0xB2, 0xF2, 0x77, 0x9A,
- 0x31, 0xF4, 0x7A, 0x31, 0xD1, 0x1D, 0x04, 0xC0, 0x7C, 0x32, 0xA2, 0x9E, 0x9A, 0xF5, 0x62, 0xF8,
- 0x27, 0x8D, 0xBF, 0x51, 0xFF, 0xD3, 0xDF, 0x64, 0x37, 0x3F, 0x2A, 0x6F, 0x76, 0x3A, 0x7D, 0x77,
- 0x06, 0x9E, 0x77, 0x7F, 0x5E, 0xEB, 0x32, 0x51, 0xF9, 0x16, 0x66, 0x9A, 0x09, 0xF3, 0xB0, 0x08,
- 0xA4, 0x70, 0x96, 0x46, 0x30, 0xFF, 0xDA, 0x4F, 0xE9, 0x1B, 0xED, 0x8D, 0xF8, 0x74, 0x1F, 0x31,
- 0x92, 0xB3, 0x73, 0x17, 0x36, 0xDB, 0x91, 0x30, 0xD6, 0x88, 0x55, 0x6B, 0x34, 0x77, 0x87, 0x7A,
- 0xE7, 0xEE, 0x06, 0xC6, 0x1C, 0x8C, 0x19, 0x0C, 0x48, 0x46, 0x23, 0x5E, 0x9C, 0x07, 0x5C, 0xBF,
- 0xB4, 0x7E, 0xD6, 0x4F, 0x74, 0x9C, 0xE2, 0xC5, 0x50, 0x8B, 0xC5, 0x8B, 0x15, 0x90, 0x60, 0x62,
- 0x57, 0x29, 0xD0, 0x13, 0x43, 0xA1, 0x80, 0x88, 0x91, 0x00, 0x44, 0xC7, 0x4D, 0x19, 0x86, 0xCC,
- 0x2F, 0x2A, 0x75, 0x5A, 0xFC, 0xEB, 0x97, 0x2A, 0x70, 0xE3, 0x78, 0xD8, 0x91, 0xB0, 0x4F, 0x99,
- 0x07, 0xA3, 0x95, 0xEA, 0x24, 0x21, 0xD5, 0xDE, 0x51, 0x20, 0x93, 0x27, 0x0A, 0x30, 0x73, 0xA8,
- 0xFF, 0x8A, 0x97, 0xE9, 0xA7, 0x6A, 0x8E, 0x0D, 0xE8, 0xF0, 0xDF, 0xEC, 0xEA, 0xB4, 0x6C, 0x1D,
- 0x39, 0x2A, 0x62, 0x2D, 0x3D, 0x5A, 0x8B, 0x65, 0xF8, 0x90, 0x05, 0x2E, 0x7E, 0x91, 0x2C, 0x78,
- 0xEF, 0x8E, 0x7A, 0xC1, 0x2F, 0xAC, 0x78, 0xEE, 0xAF, 0x28, 0x45, 0x06, 0x4C, 0x26, 0xAF, 0x3B,
- 0xA2, 0xDB, 0xA3, 0x93, 0x06, 0xB5, 0x3C, 0xA5, 0xD8, 0xEE, 0x8F, 0xAF, 0x25, 0xCC, 0x3F, 0x85,
- 0x68, 0x48, 0xA9, 0x62, 0xCC, 0x97, 0x8F, 0x7F, 0x2A, 0xEA, 0xE0, 0x15, 0x0A, 0xAD, 0x62, 0x07,
- 0xBD, 0x45, 0xF8, 0x41, 0xD8, 0x36, 0xCB, 0x4C, 0xDB, 0x6E, 0xE6, 0x3A, 0xE7, 0xDA, 0x15, 0xE9,
- 0x29, 0x1E, 0x12, 0x10, 0xA0, 0x14, 0x2C, 0x0E, 0x3D, 0xF4, 0xBF, 0x39, 0x41, 0x92, 0x75, 0x0B,
- 0x25, 0x7B, 0xA3, 0xCE, 0x39, 0x9C, 0x15, 0x64, 0xC8, 0xFA, 0x3D, 0xEF, 0x73, 0x27, 0xFE, 0x26,
- 0x2E, 0xCE, 0xDA, 0x6E, 0xFD, 0x71, 0x8E, 0xDD, 0xFE, 0x76, 0xEE, 0xDC, 0x12, 0x5C, 0x02, 0xC5,
- 0x3A, 0x4E, 0x4E, 0x4F, 0xBF, 0xCA, 0x40, 0x15, 0xC7, 0x6E, 0x8D, 0x41, 0xF1, 0x10, 0xE0, 0x4F,
- 0x7E, 0x97, 0x7F, 0x1C, 0xAE, 0x47, 0x8E, 0x6B, 0xB1, 0x25, 0x31, 0xB0, 0x73, 0xC7, 0x1B, 0x97,
- 0x79, 0xF9, 0x80, 0xD3, 0x66, 0x22, 0x30, 0x07, 0x74, 0x1E, 0xE4, 0xD0, 0x80, 0x21, 0xD6, 0xEE,
- 0x6B, 0x6C, 0x4F, 0xBF, 0xF5, 0xB7, 0xD9, 0x09, 0x87, 0x2F, 0xA9, 0x14, 0xBE, 0x27, 0xD9, 0x72,
- 0x50, 0x01, 0xD4, 0x13, 0x73, 0xA6, 0xA7, 0x51, 0x02, 0x75, 0x25, 0xE1, 0xB3, 0x45, 0x34, 0x7D,
- 0xA8, 0x8E, 0xEB, 0xF3, 0x16, 0x49, 0xCB, 0x4F, 0x8C, 0xA1, 0xB9, 0x36, 0x85, 0x39, 0x75, 0x5D,
- 0x08, 0x00, 0xAE, 0xEB, 0xF6, 0xEA, 0xD7, 0x13, 0x3A, 0x21, 0x5A, 0x5F, 0x30, 0x84, 0x52, 0x26,
- 0x95, 0xC9, 0x14, 0xF2, 0x57, 0x55, 0x6B, 0xB1, 0x10, 0xC2, 0xE1, 0xBD, 0x3B, 0x51, 0xC0, 0xB7,
- 0x55, 0x4C, 0x71, 0x12, 0x26, 0xC7, 0x0D, 0xF9, 0x51, 0xA4, 0x38, 0x02, 0x05, 0x7F, 0xB8, 0xF1,
- 0x72, 0x4B, 0xBF, 0x71, 0x89, 0x14, 0xF3, 0x77, 0x38, 0xD9, 0x71, 0x24, 0xF3, 0x00, 0x11, 0xA1,
- 0xD8, 0xD4, 0x69, 0x27, 0x08, 0x37, 0x35, 0xC9, 0x11, 0x9D, 0x90, 0x1C, 0x0E, 0xE7, 0x1C, 0xFF,
- 0x2D, 0x1E, 0xE8, 0x92, 0xE1, 0x18, 0x10, 0x95, 0x7C, 0xE0, 0x80, 0xF4, 0x96, 0x43, 0x21, 0xF9,
- 0x75, 0x21, 0x64, 0x38, 0xDD, 0x9F, 0x1E, 0x95, 0x16, 0xDA, 0x56, 0x1D, 0x4F, 0x9A, 0x53, 0xB2,
- 0xE2, 0xE4, 0x18, 0xCB, 0x6B, 0x1A, 0x65, 0xEB, 0x56, 0xC6, 0x3B, 0xE5, 0xFE, 0xD8, 0x26, 0x3F,
- 0x3A, 0x84, 0x59, 0x72, 0x66, 0xA2, 0xF3, 0x75, 0xFF, 0xFB, 0x60, 0xB3, 0x22, 0xAD, 0x3F, 0x2D,
- 0x6B, 0xF9, 0xEB, 0xEA, 0x05, 0x7C, 0xD8, 0x8F, 0x6D, 0x2C, 0x98, 0x9E, 0x2B, 0x93, 0xF1, 0x5E,
- 0x46, 0xF0, 0x87, 0x49, 0x29, 0x73, 0x68, 0xD7, 0x7F, 0xF9, 0xF0, 0xE5, 0x7D, 0xDB, 0x1D, 0x75,
- 0x19, 0xF3, 0xC4, 0x58, 0x9B, 0x17, 0x88, 0xA8, 0x92, 0xE0, 0xBE, 0xBD, 0x8B, 0x1D, 0x8D, 0x9F,
- 0x56, 0x76, 0xAD, 0xAF, 0x29, 0xE2, 0xD9, 0xD5, 0x52, 0xF6, 0xB5, 0x56, 0x35, 0x57, 0x3A, 0xC8,
- 0xE1, 0x56, 0x43, 0x19, 0x94, 0xD3, 0x04, 0x9B, 0x6D, 0x35, 0xD8, 0x0B, 0x5F, 0x4D, 0x19, 0x8E,
- 0xEC, 0xFA, 0x64, 0x91, 0x0A, 0x72, 0x20, 0x2B, 0xBC, 0x1A, 0x4A, 0xFE, 0x8B, 0xFD, 0xBB, 0xED,
- 0x1B, 0x23, 0xEA, 0xAD, 0x72, 0x82, 0xA1, 0x29, 0x99, 0x71, 0xBD, 0xF0, 0x95, 0xC1, 0x03, 0xDD,
- 0x7B, 0xC2, 0xB2, 0x3C, 0x28, 0x54, 0xD3, 0x68, 0xA4, 0x72, 0xC8, 0x66, 0x96, 0xE0, 0xD1, 0xD8,
- 0x7F, 0xF8, 0xD1, 0x26, 0x2B, 0xF7, 0xAD, 0xBA, 0x55, 0xCA, 0x15, 0xB9, 0x32, 0xC3, 0xE5, 0x88,
- 0x97, 0x8E, 0x5C, 0xFB, 0x92, 0x25, 0x8B, 0xBF, 0xA2, 0x45, 0x55, 0x7A, 0xA7, 0x6F, 0x8B, 0x57,
- 0x5B, 0xCF, 0x0E, 0xCB, 0x1D, 0xFB, 0x20, 0x82, 0x77, 0xA8, 0x8C, 0xCC, 0x16, 0xCE, 0x1D, 0xFA,
- 0xDE, 0xCC, 0x0B, 0x62, 0xFE, 0xCC, 0xE1, 0xB7, 0xF0, 0xC3, 0x81, 0x64, 0x73, 0x40, 0xA0, 0xC2,
- 0x4D, 0x89, 0x11, 0x75, 0x33, 0x55, 0x33, 0x8D, 0xE8, 0x4A, 0xFD, 0xEA, 0x6E, 0x30, 0x0B, 0xD7,
- 0x31, 0x2C, 0xDE, 0x47, 0xE3, 0xBF, 0xF8, 0x55, 0x42, 0xE2, 0x7F, 0x59, 0xE5, 0x17, 0xEF, 0x99,
- 0x34, 0x69, 0x91, 0xB1, 0x23, 0x8E, 0x20, 0x87, 0x2D, 0xA8, 0xFE, 0xD5, 0x8A, 0xF3, 0x84, 0x3A,
- 0xF0, 0x37, 0xE4, 0x09, 0x00, 0x54, 0xEE, 0x67, 0x49, 0x93, 0xE4, 0x81, 0x70, 0xE3, 0x90, 0x4D,
- 0xEF, 0xFE, 0x41, 0xB7, 0x99, 0x7B, 0xC1, 0x83, 0xBA, 0x62, 0x12, 0x6F, 0x7D, 0xDE, 0x6B, 0xAF,
- 0xDA, 0x16, 0xF9, 0x55, 0x51, 0xEE, 0xA6, 0x0C, 0x2B, 0x02, 0xA3, 0xFD, 0x8D, 0xFB, 0x30, 0x17,
- 0xE4, 0x6F, 0xDF, 0x36, 0x71, 0xC4, 0xCA, 0x87, 0x25, 0x48, 0xB0, 0x47, 0xEC, 0xEA, 0xB4, 0xBF,
- 0xA5, 0x4D, 0x9B, 0x9F, 0x02, 0x93, 0xC4, 0xE3, 0xE4, 0xE8, 0x42, 0x2D, 0x68, 0x81, 0x15, 0x0A,
- 0xEB, 0x84, 0x5B, 0xD6, 0xA8, 0x74, 0xFB, 0x7D, 0x1D, 0xCB, 0x2C, 0xDA, 0x46, 0x2A, 0x76, 0x62,
- 0xCE, 0xBC, 0x5C, 0x9E, 0x8B, 0xE7, 0xCF, 0xBE, 0x78, 0xF5, 0x7C, 0xEB, 0xB3, 0x3A, 0x9C, 0xAA,
- 0x6F, 0xCC, 0x72, 0xD1, 0x59, 0xF2, 0x11, 0x23, 0xD6, 0x3F, 0x48, 0xD1, 0xB7, 0xCE, 0xB0, 0xBF,
- 0xCB, 0xEA, 0x80, 0xDE, 0x57, 0xD4, 0x5E, 0x97, 0x2F, 0x75, 0xD1, 0x50, 0x8E, 0x80, 0x2C, 0x66,
- 0x79, 0xBF, 0x72, 0x4B, 0xBD, 0x8A, 0x81, 0x6C, 0xD3, 0xE1, 0x01, 0xDC, 0xD2, 0x15, 0x26, 0xC5,
- 0x36, 0xDA, 0x2C, 0x1A, 0xC0, 0x27, 0x94, 0xED, 0xB7, 0x9B, 0x85, 0x0B, 0x5E, 0x80, 0x97, 0xC5,
- 0xEC, 0x4F, 0xEC, 0x88, 0x5D, 0x50, 0x07, 0x35, 0x47, 0xDC, 0x0B, 0x3B, 0x3D, 0xDD, 0x60, 0xAF,
- 0xA8, 0x5D, 0x81, 0x38, 0x24, 0x25, 0x5D, 0x5C, 0x15, 0xD1, 0xDE, 0xB3, 0xAB, 0xEC, 0x05, 0x69,
- 0xEF, 0x83, 0xED, 0x57, 0x54, 0xB8, 0x64, 0x64, 0x11, 0x16, 0x32, 0x69, 0xDA, 0x9F, 0x2D, 0x7F,
- 0x36, 0xBB, 0x44, 0x5A, 0x34, 0xE8, 0x7F, 0xBF, 0x03, 0xEB, 0x00, 0x7F, 0x59, 0x68, 0x22, 0x79,
- 0xCF, 0x73, 0x6C, 0x2C, 0x29, 0xA7, 0xA1, 0x5F, 0x38, 0xA1, 0x1D, 0xF0, 0x20, 0x53, 0xE0, 0x1A,
- 0x63, 0x14, 0x58, 0x71, 0x10, 0xAA, 0x08, 0x0C, 0x3E, 0x16, 0x1A, 0x60, 0x22, 0x82, 0x7F, 0xBA,
- 0xA4, 0x43, 0xA0, 0xD0, 0xAC, 0x1B, 0xD5, 0x6B, 0x64, 0xB5, 0x14, 0x93, 0x31, 0x9E, 0x53, 0x50,
- 0xD0, 0x57, 0x66, 0xEE, 0x5A, 0x4F, 0xFB, 0x03, 0x2A, 0x69, 0x58, 0x76, 0xF1, 0x83, 0xF7, 0x4E,
- 0xBA, 0x8C, 0x42, 0x06, 0x60, 0x5D, 0x6D, 0xCE, 0x60, 0x88, 0xAE, 0xA4, 0xC3, 0xF1, 0x03, 0xA5,
- 0x4B, 0x98, 0xA1, 0xFF, 0x67, 0xE1, 0xAC, 0xA2, 0xB8, 0x62, 0xD7, 0x6F, 0xA0, 0x31, 0xB4, 0xD2,
- 0x77, 0xAF, 0x21, 0x10, 0x06, 0xC6, 0x9A, 0xFF, 0x1D, 0x09, 0x17, 0x0E, 0x5F, 0xF1, 0xAA, 0x54,
- 0x34, 0x4B, 0x45, 0x8A, 0x87, 0x63, 0xA6, 0xDC, 0xF9, 0x24, 0x30, 0x67, 0xC6, 0xB2, 0xD6, 0x61,
- 0x33, 0x69, 0xEE, 0x50, 0x61, 0x57, 0x28, 0xE7, 0x7E, 0xEE, 0xEC, 0x3A, 0x5A, 0x73, 0x4E, 0xA8,
- 0x8D, 0xE4, 0x18, 0xEA, 0xEC, 0x41, 0x64, 0xC8, 0xE2, 0xE8, 0x66, 0xB6, 0x2D, 0xB6, 0xFB, 0x6A,
- 0x6C, 0x16, 0xB3, 0xDD, 0x46, 0x43, 0xB9, 0x73, 0x00, 0x6A, 0x71, 0xED, 0x4E, 0x9D, 0x25, 0x1A,
- 0xC3, 0x3C, 0x4A, 0x95, 0x15, 0x99, 0x35, 0x81, 0x14, 0x02, 0xD6, 0x98, 0x9B, 0xEC, 0xD8, 0x23,
- 0x3B, 0x84, 0x29, 0xAF, 0x0C, 0x99, 0x83, 0xA6, 0x9A, 0x34, 0x4F, 0xFA, 0xE8, 0xD0, 0x3C, 0x4B,
- 0xD0, 0xFB, 0xB6, 0x68, 0xB8, 0x9E, 0x8F, 0xCD, 0xF7, 0x60, 0x2D, 0x7A, 0x22, 0xE5, 0x7D, 0xAB,
- 0x65, 0x1B, 0x95, 0xA7, 0xA8, 0x7F, 0xB6, 0x77, 0x47, 0x7B, 0x5F, 0x8B, 0x12, 0x72, 0xD0, 0xD4,
- 0x91, 0xEF, 0xDE, 0x19, 0x50, 0x3C, 0xA7, 0x8B, 0xC4, 0xA9, 0xB3, 0x23, 0xCB, 0x76, 0xE6, 0x81,
- 0xF0, 0xC1, 0x04, 0x8F, 0xA3, 0xB8, 0x54, 0x5B, 0x97, 0xAC, 0x19, 0xFF, 0x3F, 0x55, 0x27, 0x2F,
- 0xE0, 0x1D, 0x42, 0x9B, 0x57, 0xFC, 0x4B, 0x4E, 0x0F, 0xCE, 0x98, 0xA9, 0x43, 0x57, 0x03, 0xBD,
- 0xE7, 0xC8, 0x94, 0xDF, 0x6E, 0x36, 0x73, 0x32, 0xB4, 0xEF, 0x2E, 0x85, 0x7A, 0x6E, 0xFC, 0x6C,
- 0x18, 0x82, 0x75, 0x35, 0x90, 0x07, 0xF3, 0xE4, 0x9F, 0x3E, 0xDC, 0x68, 0xF3, 0xB5, 0xF3, 0x19,
- 0x80, 0x92, 0x06, 0x99, 0xA2, 0xE8, 0x6F, 0xFF, 0x2E, 0x7F, 0xAE, 0x42, 0xA4, 0x5F, 0xFB, 0xD4,
- 0x0E, 0x81, 0x2B, 0xC3, 0x04, 0xFF, 0x2B, 0xB3, 0x74, 0x4E, 0x36, 0x5B, 0x9C, 0x15, 0x00, 0xC6,
- 0x47, 0x2B, 0xE8, 0x8B, 0x3D, 0xF1, 0x9C, 0x03, 0x9A, 0x58, 0x7F, 0x9B, 0x9C, 0xBF, 0x85, 0x49,
- 0x79, 0x35, 0x2E, 0x56, 0x7B, 0x41, 0x14, 0x39, 0x47, 0x83, 0x26, 0xAA, 0x07, 0x89, 0x98, 0x11,
- 0x1B, 0x86, 0xE7, 0x73, 0x7A, 0xD8, 0x7D, 0x78, 0x61, 0x53, 0xE9, 0x79, 0xF5, 0x36, 0x8D, 0x44,
- 0x92, 0x84, 0xF9, 0x13, 0x50, 0x58, 0x3B, 0xA4, 0x6A, 0x36, 0x65, 0x49, 0x8E, 0x3C, 0x0E, 0xF1,
- 0x6F, 0xD2, 0x84, 0xC4, 0x7E, 0x8E, 0x3F, 0x39, 0xAE, 0x7C, 0x84, 0xF1, 0x63, 0x37, 0x8E, 0x3C,
- 0xCC, 0x3E, 0x44, 0x81, 0x45, 0xF1, 0x4B, 0xB9, 0xED, 0x6B, 0x36, 0x5D, 0xBB, 0x20, 0x60, 0x1A,
- 0x0F, 0xA3, 0xAA, 0x55, 0x77, 0x3A, 0xA9, 0xAE, 0x37, 0x4D, 0xBA, 0xB8, 0x86, 0x6B, 0xBC, 0x08,
- 0x50, 0xF6, 0xCC, 0xA4, 0xBD, 0x1D, 0x40, 0x72, 0xA5, 0x86, 0xFA, 0xE2, 0x10, 0xAE, 0x3D, 0x58,
- 0x4B, 0x97, 0xF3, 0x43, 0x74, 0xA9, 0x9E, 0xEB, 0x21, 0xB7, 0x01, 0xA4, 0x86, 0x93, 0x97, 0xEE,
- 0x2F, 0x4F, 0x3B, 0x86, 0xA1, 0x41, 0x6F, 0x41, 0x26, 0x90, 0x78, 0x5C, 0x7F, 0x30, 0x38, 0x4B,
- 0x3F, 0xAA, 0xEC, 0xED, 0x5C, 0x6F, 0x0E, 0xAD, 0x43, 0x87, 0xFD, 0x93, 0x35, 0xE6, 0x01, 0xEF,
- 0x41, 0x26, 0x90, 0x99, 0x9E, 0xFB, 0x19, 0x5B, 0xAD, 0xD2, 0x91, 0x8A, 0xE0, 0x46, 0xAF, 0x65,
- 0xFA, 0x4F, 0x84, 0xC1, 0xA1, 0x2D, 0xCF, 0x45, 0x8B, 0xD3, 0x85, 0x50, 0x55, 0x7C, 0xF9, 0x67,
- 0x88, 0xD4, 0x4E, 0xE9, 0xD7, 0x6B, 0x61, 0x54, 0xA1, 0xA4, 0xA6, 0xA2, 0xC2, 0xBF, 0x30, 0x9C,
- 0x40, 0x9F, 0x5F, 0xD7, 0x69, 0x2B, 0x24, 0x82, 0x5E, 0xD9, 0xD6, 0xA7, 0x12, 0x54, 0x1A, 0xF7,
- 0x55, 0x9F, 0x76, 0x50, 0xA9, 0x95, 0x84, 0xE6, 0x6B, 0x6D, 0xB5, 0x96, 0x54, 0xD6, 0xCD, 0xB3,
- 0xA1, 0x9B, 0x46, 0xA7, 0x94, 0x4D, 0xC4, 0x94, 0xB4, 0x98, 0xE3, 0xE1, 0xE2, 0x34, 0xD5, 0x33,
- 0x16, 0x07, 0x54, 0xCD, 0xB7, 0x77, 0x53, 0xDB, 0x4F, 0x4D, 0x46, 0x9D, 0xE9, 0xD4, 0x9C, 0x8A,
- 0x36, 0xB6, 0xB8, 0x38, 0x26, 0x6C, 0x0E, 0xFF, 0x9C, 0x1B, 0x43, 0x8B, 0x80, 0xCC, 0xB9, 0x3D,
- 0xDA, 0xC7, 0xF1, 0x8A, 0xF2, 0x6D, 0xB8, 0xD7, 0x74, 0x2F, 0x7E, 0x1E, 0xB7, 0xD3, 0x4A, 0xB4,
- 0xAC, 0xFC, 0x79, 0x48, 0x6C, 0xBC, 0x96, 0xB6, 0x94, 0x46, 0x57, 0x2D, 0xB0, 0xA3, 0xFC, 0x1E,
- 0xB9, 0x52, 0x60, 0x85, 0x2D, 0x41, 0xD0, 0x43, 0x01, 0x1E, 0x1C, 0xD5, 0x7D, 0xFC, 0xF3, 0x96,
- 0x0D, 0xC7, 0xCB, 0x2A, 0x29, 0x9A, 0x93, 0xDD, 0x88, 0x2D, 0x37, 0x5D, 0xAA, 0xFB, 0x49, 0x68,
- 0xA0, 0x9C, 0x50, 0x86, 0x7F, 0x68, 0x56, 0x57, 0xF9, 0x79, 0x18, 0x39, 0xD4, 0xE0, 0x01, 0x84,
- 0x33, 0x61, 0xCA, 0xA5, 0xD2, 0xD6, 0xE4, 0xC9, 0x8A, 0x4A, 0x23, 0x44, 0x4E, 0xBC, 0xF0, 0xDC,
- 0x24, 0xA1, 0xA0, 0xC4, 0xE2, 0x07, 0x3C, 0x10, 0xC4, 0xB5, 0x25, 0x4B, 0x65, 0x63, 0xF4, 0x80,
- 0xE7, 0xCF, 0x61, 0xB1, 0x71, 0x82, 0x21, 0x87, 0x2C, 0xF5, 0x91, 0x00, 0x32, 0x0C, 0xEC, 0xA9,
- 0xB5, 0x9A, 0x74, 0x85, 0xE3, 0x36, 0x8F, 0x76, 0x4F, 0x9C, 0x6D, 0xCE, 0xBC, 0xAD, 0x0A, 0x4B,
- 0xED, 0x76, 0x04, 0xCB, 0xC3, 0xB9, 0x33, 0x9E, 0x01, 0x93, 0x96, 0x69, 0x7D, 0xC5, 0xA2, 0x45,
- 0x79, 0x9B, 0x04, 0x5C, 0x84, 0x09, 0xED, 0x88, 0x43, 0xC7, 0xAB, 0x93, 0x14, 0x26, 0xA1, 0x40,
- 0xB5, 0xCE, 0x4E, 0xBF, 0x2A, 0x42, 0x85, 0x3E, 0x2C, 0x3B, 0x54, 0xE8, 0x12, 0x1F, 0x0E, 0x97,
- 0x59, 0xB2, 0x27, 0x89, 0xFA, 0xF2, 0xDF, 0x8E, 0x68, 0x59, 0xDC, 0x06, 0xBC, 0xB6, 0x85, 0x0D,
- 0x06, 0x22, 0xEC, 0xB1, 0xCB, 0xE5, 0x04, 0xE6, 0x3D, 0xB3, 0xB0, 0x41, 0x73, 0x08, 0x3F, 0x3C,
- 0x58, 0x86, 0x63, 0xEB, 0x50, 0xEE, 0x1D, 0x2C, 0x37, 0x74, 0xA9, 0xD3, 0x18, 0xA3, 0x47, 0x6E,
- 0x93, 0x54, 0xAD, 0x0A, 0x5D, 0xB8, 0x2A, 0x55, 0x5D, 0x78, 0xF6, 0xEE, 0xBE, 0x8E, 0x3C, 0x76,
- 0x69, 0xB9, 0x40, 0xC2, 0x34, 0xEC, 0x2A, 0xB9, 0xED, 0x7E, 0x20, 0xE4, 0x8D, 0x00, 0x38, 0xC7,
- 0xE6, 0x8F, 0x44, 0xA8, 0x86, 0xCE, 0xEB, 0x2A, 0xE9, 0x90, 0xF1, 0x4C, 0xDF, 0x32, 0xFB, 0x73,
- 0x1B, 0x6D, 0x92, 0x1E, 0x95, 0xFE, 0xB4, 0xDB, 0x65, 0xDF, 0x4D, 0x23, 0x54, 0x89, 0x48, 0xBF,
- 0x4A, 0x2E, 0x70, 0xD6, 0xD7, 0x62, 0xB4, 0x33, 0x29, 0xB1, 0x3A, 0x33, 0x4C, 0x23, 0x6D, 0xA6,
- 0x76, 0xA5, 0x21, 0x63, 0x48, 0xE6, 0x90, 0x5D, 0xED, 0x90, 0x95, 0x0B, 0x7A, 0x84, 0xBE, 0xB8,
- 0x0D, 0x5E, 0x63, 0x0C, 0x62, 0x26, 0x4C, 0x14, 0x5A, 0xB3, 0xAC, 0x23, 0xA4, 0x74, 0xA7, 0x6F,
- 0x33, 0x30, 0x05, 0x60, 0x01, 0x42, 0xA0, 0x28, 0xB7, 0xEE, 0x19, 0x38, 0xF1, 0x64, 0x80, 0x82,
- 0x43, 0xE1, 0x41, 0x27, 0x1F, 0x1F, 0x90, 0x54, 0x7A, 0xD5, 0x23, 0x2E, 0xD1, 0x3D, 0xCB, 0x28,
- 0xBA, 0x58, 0x7F, 0xDC, 0x7C, 0x91, 0x24, 0xE9, 0x28, 0x51, 0x83, 0x6E, 0xC5, 0x56, 0x21, 0x42,
- 0xED, 0xA0, 0x56, 0x22, 0xA1, 0x40, 0x80, 0x6B, 0xA8, 0xF7, 0x94, 0xCA, 0x13, 0x6B, 0x0C, 0x39,
- 0xD9, 0xFD, 0xE9, 0xF3, 0x6F, 0xA6, 0x9E, 0xFC, 0x70, 0x8A, 0xB3, 0xBC, 0x59, 0x3C, 0x1E, 0x1D,
- 0x6C, 0xF9, 0x7C, 0xAF, 0xF9, 0x88, 0x71, 0x95, 0xEB, 0x57, 0x00, 0xBD, 0x9F, 0x8C, 0x4F, 0xE1,
- 0x24, 0x83, 0xC5, 0x22, 0xEA, 0xFD, 0xD3, 0x0C, 0xE2, 0x17, 0x18, 0x7C, 0x6A, 0x4C, 0xDE, 0x77,
- 0xB4, 0x53, 0x9B, 0x4C, 0x81, 0xCD, 0x23, 0x60, 0xAA, 0x0E, 0x25, 0x73, 0x9C, 0x02, 0x79, 0x32,
- 0x30, 0xDF, 0x74, 0xDF, 0x75, 0x19, 0xF4, 0xA5, 0x14, 0x5C, 0xF7, 0x7A, 0xA8, 0xA5, 0x91, 0x84,
- 0x7C, 0x60, 0x03, 0x06, 0x3B, 0xCD, 0x50, 0xB6, 0x27, 0x9C, 0xFE, 0xB1, 0xDD, 0xCC, 0xD3, 0xB0,
- 0x59, 0x24, 0xB2, 0xCA, 0xE2, 0x1C, 0x81, 0x22, 0x9D, 0x07, 0x8F, 0x8E, 0xB9, 0xBE, 0x4E, 0xFA,
- 0xFC, 0x39, 0x65, 0xBA, 0xBF, 0x9D, 0x12, 0x37, 0x5E, 0x97, 0x7E, 0xF3, 0x89, 0xF5, 0x5D, 0xF5,
- 0xE3, 0x09, 0x8C, 0x62, 0xB5, 0x20, 0x9D, 0x0C, 0x53, 0x8A, 0x68, 0x1B, 0xD2, 0x8F, 0x75, 0x17,
- 0x5D, 0xD4, 0xE5, 0xDA, 0x75, 0x62, 0x19, 0x14, 0x6A, 0x26, 0x2D, 0xEB, 0xF8, 0xAF, 0x37, 0xF0,
- 0x6C, 0xA4, 0x55, 0xB1, 0xBC, 0xE2, 0x33, 0xC0, 0x9A, 0xCA, 0xB0, 0x11, 0x49, 0x4F, 0x68, 0x9B,
- 0x3B, 0x6B, 0x3C, 0xCC, 0x13, 0xF6, 0xC7, 0x85, 0x61, 0x68, 0x42, 0xAE, 0xBB, 0xDD, 0xCD, 0x45,
- 0x16, 0x29, 0x1D, 0xEA, 0xDB, 0xC8, 0x03, 0x94, 0x3C, 0xEE, 0x4F, 0x82, 0x11, 0xC3, 0xEC, 0x28,
- 0xBD, 0x97, 0x05, 0x99, 0xDE, 0xD7, 0xBB, 0x5E, 0x22, 0x1F, 0xD4, 0xEB, 0x64, 0xD9, 0x92, 0xD9,
- 0x85, 0xB7, 0x6A, 0x05, 0x6A, 0xE4, 0x24, 0x41, 0xF1, 0xCD, 0xF0, 0xD8, 0x3F, 0xF8, 0x9E, 0x0E,
- 0xCD, 0x0B, 0x7A, 0x70, 0x6B, 0x5A, 0x75, 0x0A, 0x6A, 0x33, 0x88, 0xEC, 0x17, 0x75, 0x08, 0x70,
- 0x10, 0x2F, 0x24, 0xCF, 0xC4, 0xE9, 0x42, 0x00, 0x61, 0x94, 0xCA, 0x1F, 0x3A, 0x76, 0x06, 0xFA,
- 0xD2, 0x48, 0x81, 0xF0, 0x77, 0x60, 0x03, 0x45, 0xD9, 0x61, 0xF4, 0xA4, 0x6F, 0x3D, 0xD9, 0x30,
- 0xC3, 0x04, 0x6B, 0x54, 0x2A, 0xB7, 0xEC, 0x3B, 0xF4, 0x4B, 0xF5, 0x68, 0x52, 0x26, 0xCE, 0xFF,
- 0x5D, 0x19, 0x91, 0xA0, 0xA3, 0xA5, 0xA9, 0xB1, 0xE0, 0x23, 0xC4, 0x0A, 0x77, 0x4D, 0xF9, 0x51,
- 0x20, 0xA3, 0xA5, 0xA9, 0xB1, 0xC1, 0x00, 0x82, 0x86, 0x8E, 0x7F, 0x5D, 0x19, 0x91, 0xA0, 0xA3,
- 0xC4, 0xEB, 0x54, 0x0B, 0x75, 0x68, 0x52, 0x07, 0x8C, 0x9A, 0x97, 0x8D, 0x79, 0x70, 0x62, 0x46,
- 0xEF, 0x5C, 0x1B, 0x95, 0x89, 0x71, 0x41, 0xE1, 0x21, 0xA1, 0xA1, 0xA1, 0xC0, 0x02, 0x67, 0x4C,
- 0x1A, 0xB6, 0xCF, 0xFD, 0x78, 0x53, 0x24, 0xAB, 0xB5, 0xC9, 0xF1, 0x60, 0x23, 0xA5, 0xC8, 0x12,
- 0x87, 0x6D, 0x58, 0x13, 0x85, 0x88, 0x92, 0x87, 0x6D, 0x58, 0x32, 0xC7, 0x0C, 0x9A, 0x97, 0xAC,
- 0xDA, 0x36, 0xEE, 0x5E, 0x3E, 0xDF, 0x1D, 0xB8, 0xF2, 0x66, 0x2F, 0xBD, 0xF8, 0x72, 0x47, 0xED,
- 0x58, 0x13, 0x85, 0x88, 0x92, 0x87, 0x8C, 0x7B, 0x55, 0x09, 0x90, 0xA2, 0xC6, 0xEF, 0x3D, 0xF8,
- 0x53, 0x24, 0xAB, 0xD4, 0x2A, 0xB7, 0xEC, 0x5A, 0x36, 0xEE, 0x5E, 0x3E, 0xDF, 0x3C, 0xFA, 0x76,
- 0x4F, 0xFD, 0x59, 0x30, 0xE2, 0x46, 0xEF, 0x3D, 0xF8, 0x53, 0x05, 0x69, 0x31, 0xC1, 0x00, 0x82,
- 0x86, 0x8E, 0x7F, 0x5D, 0x19, 0xB0, 0xE2, 0x27, 0xCC, 0xFB, 0x74, 0x4B, 0x14, 0x8B, 0x94, 0x8B,
- 0x75, 0x68, 0x33, 0xC5, 0x08, 0x92, 0x87, 0x8C, 0x9A, 0xB6, 0xCF, 0x1C, 0xBA, 0xD7, 0x0D, 0x98,
- 0xB2, 0xE6, 0x2F, 0xDC, 0x1B, 0x95, 0x89, 0x71, 0x60, 0x23, 0xC4, 0x0A, 0x96, 0x8F, 0x9C, 0xBA,
- 0xF6, 0x6E, 0x3F, 0xFC, 0x5B, 0x15, 0xA8, 0xD2, 0x26, 0xAF, 0xBD, 0xF8, 0x72, 0x66, 0x2F, 0xDC,
- 0x1B, 0xB4, 0xCB, 0x14, 0x8B, 0x94, 0xAA, 0xB7, 0xCD, 0xF9, 0x51, 0x01, 0x80, 0x82, 0x86, 0x6F,
- 0x3D, 0xD9, 0x30, 0xE2, 0x27, 0xCC, 0xFB, 0x74, 0x4B, 0x14, 0xAA, 0xB7, 0xCD, 0xF9, 0x70, 0x43,
- 0x04, 0x6B, 0x35, 0xC9, 0xF1, 0x60, 0x23, 0xA5, 0xC8, 0xF3, 0x45, 0x08, 0x92, 0x87, 0x6D, 0x58,
- 0x32, 0xE6, 0x2F, 0xBD, 0xF8, 0x72, 0x66, 0x4E, 0x1E, 0xBE, 0xFE, 0x7E, 0x7E, 0x7E, 0x5F, 0x1D,
- 0x99, 0x91, 0xA0, 0xA3, 0xC4, 0x0A, 0x77, 0x4D, 0x18, 0x93, 0xA4, 0xAB, 0xD4, 0x0B, 0x75, 0x49,
- 0x10, 0xA2, 0xC6, 0xEF, 0x3D, 0xF8, 0x53, 0x24, 0xAB, 0xB5, 0xE8, 0x33, 0xE4, 0x4A, 0x16, 0xAE,
- 0xDE, 0x1F, 0xBC, 0xDB, 0x15, 0xA8, 0xB3, 0xC5, 0x08, 0x73, 0x45, 0xE9, 0x31, 0xC1, 0xE1, 0x21,
- 0xA1, 0xA1, 0xA1, 0xC0, 0x02, 0x86, 0x6F, 0x5C, 0x3A, 0xD7, 0x0D, 0x98, 0x93, 0xA4, 0xCA, 0x16,
- 0xAE, 0xDE, 0x1F, 0x9D, 0x99, 0xB0, 0xE2, 0x46, 0xEF, 0x3D, 0xF8, 0x72, 0x47, 0x0C, 0x9A, 0xB6,
- 0xCF, 0xFD, 0x59, 0x11, 0xA0, 0xA3, 0xA5, 0xC8, 0xF3, 0x45, 0x08, 0x92, 0x87, 0x6D, 0x39, 0xF0,
- 0x43, 0x04, 0x8A, 0x96, 0xAE, 0xDE, 0x3E, 0xDF, 0x1D, 0x99, 0x91, 0xA0, 0xC2, 0x06, 0x6F, 0x3D,
- 0xF8, 0x72, 0x47, 0x0C, 0x9A, 0x97, 0x8D, 0x98, 0x93, 0x85, 0x88, 0x73, 0x45, 0xE9, 0x31, 0xE0,
- 0x23, 0xA5, 0xA9, 0xD0, 0x03, 0x84, 0x8A, 0x96, 0xAE, 0xDE, 0x1F, 0xBC, 0xDB, 0x15, 0xA8, 0xD2,
- 0x26, 0xCE, 0xFF, 0x5D, 0x19, 0x91, 0x81, 0x80, 0x82, 0x67, 0x2D, 0xD8, 0x13, 0xA4, 0xAB, 0xD4,
- 0x0B, 0x94, 0xAA, 0xB7, 0xCD, 0xF9, 0x51, 0x20, 0xA3, 0xA5, 0xC8, 0xF3, 0x45, 0xE9, 0x50, 0x22,
- 0xC6, 0xEF, 0x5C, 0x3A, 0xD7, 0x0D, 0x98, 0x93, 0x85, 0x88, 0x73, 0x64, 0x4A, 0xF7, 0x4D, 0xF9,
- 0x51, 0x20, 0xA3, 0xC4, 0x0A, 0x96, 0xAE, 0xDE, 0x3E, 0xFE, 0x7E, 0x7E, 0x7E, 0x5F, 0x3C, 0xFA,
- 0x76, 0x4F, 0xFD, 0x78, 0x72, 0x66, 0x2F, 0xBD, 0xD9, 0x30, 0xC3, 0xE5, 0x48, 0x12, 0x87, 0x8C,
- 0x7B, 0x55, 0x28, 0xD2, 0x07, 0x8C, 0x9A, 0x97, 0xAC, 0xDA, 0x17, 0x8D, 0x79, 0x51, 0x20, 0xA3,
- 0xC4, 0xEB, 0x54, 0x0B, 0x94, 0x8B, 0x94, 0xAA, 0xD6, 0x2E, 0xBF, 0xFC, 0x5B, 0x15, 0xA8, 0xD2,
- 0x26, 0xAF, 0xDC, 0x1B, 0xB4, 0xEA, 0x37, 0xEC, 0x3B, 0xF4, 0x6A, 0x37, 0xCD, 0x18, 0x93, 0x85,
- 0x69, 0x31, 0xC1, 0xE1, 0x40, 0xE3, 0x25, 0xC8, 0x12, 0x87, 0x8C, 0x9A, 0xB6, 0xCF, 0xFD, 0x59,
- 0x11, 0xA0, 0xC2, 0x06, 0x8E, 0x7F, 0x5D, 0x38, 0xF2, 0x47, 0x0C, 0x7B, 0x74, 0x6A, 0x37, 0xEC,
- 0x5A, 0x36, 0xEE, 0x3F, 0xFC, 0x7A, 0x76, 0x4F, 0x1C, 0x9B, 0x95, 0x89, 0x71, 0x41, 0x00, 0x63,
- 0x44, 0xEB, 0x54, 0x2A, 0xD6, 0x0F, 0x9C, 0xBA, 0xD7, 0x0D, 0x98, 0x93, 0x85, 0x69, 0x31, 0xC1,
- 0x00, 0x82, 0x86, 0x8E, 0x9E, 0xBE, 0xDF, 0x3C, 0xFA, 0x57, 0x2C, 0xDA, 0x36, 0xEE, 0x3F, 0xFC,
- 0x5B, 0x15, 0x89, 0x71, 0x41, 0x00, 0x82, 0x86, 0x8E, 0x7F, 0x5D, 0x38, 0xF2, 0x47, 0xED, 0x58,
- 0x13, 0xA4, 0xCA, 0xF7, 0x4D, 0xF9, 0x51, 0x01, 0x80, 0x63, 0x44, 0xEB, 0x54, 0x2A, 0xD6, 0x2E,
- 0xBF, 0xDD, 0x19, 0x91, 0xA0, 0xA3, 0xA5, 0xA9, 0xB1, 0xE0, 0x42, 0x06, 0x8E, 0x7F, 0x5D, 0x19,
- 0x91, 0xA0, 0xA3, 0xC4, 0x0A, 0x96, 0x8F, 0x7D, 0x78, 0x72, 0x47, 0x0C, 0x7B, 0x74, 0x6A, 0x56,
- 0x2E, 0xDE, 0x1F, 0xBC, 0xFA, 0x57, 0x0D, 0x79, 0x51, 0x01, 0x61, 0x21, 0xA1, 0xC0, 0xE3, 0x25,
- 0xA9, 0xB1, 0xC1, 0xE1, 0x40, 0x02, 0x67, 0x4C, 0x1A, 0x97, 0x8D, 0x98, 0x93, 0xA4, 0xAB, 0xD4,
- 0x2A, 0xD6, 0x0F, 0x9C, 0x9B, 0xB4, 0xCB, 0x14, 0xAA, 0xB7, 0xCD, 0xF9, 0x51, 0x20, 0xA3, 0xC4,
- 0xEB, 0x35, 0xC9, 0xF1, 0x60, 0x42, 0x06, 0x8E, 0x7F, 0x7C, 0x7A, 0x76, 0x6E, 0x3F, 0xFC, 0x7A,
- 0x76, 0x6E, 0x5E, 0x3E, 0xFE, 0x7E, 0x5F, 0x3C, 0xDB, 0x15, 0x89, 0x71, 0x41, 0xE1, 0x21, 0xC0,
- 0xE3, 0x44, 0xEB, 0x54, 0x2A, 0xB7, 0xCD, 0xF9, 0x70, 0x62, 0x27, 0xAD, 0xD8, 0x32, 0xC7, 0x0C,
- 0x7B, 0x74, 0x4B, 0x14, 0xAA, 0xB7, 0xEC, 0x3B, 0xD5, 0x28, 0xD2, 0x07, 0x6D, 0x39, 0xD1, 0x20,
- 0xC2, 0xE7, 0x4C, 0x1A, 0x97, 0x8D, 0x98, 0xB2, 0xC7, 0x0C, 0x59, 0x28, 0xF3, 0x9B
-};
+const uint8_t pmw33xx_firmware_signature[2] PROGMEM = {0x42, 0xBD};
diff --git a/drivers/sensors/pmw3389.c b/drivers/sensors/pmw3389.c
index 10e578edac6a..85d2c8a42965 100644
--- a/drivers/sensors/pmw3389.c
+++ b/drivers/sensors/pmw3389.c
@@ -28,285 +28,5 @@ void pmw33xx_set_cpi(uint8_t sensor, uint16_t cpi) {
pmw33xx_write(sensor, REG_Resolution_L, cpival & 0xFF);
}
-// PID, Inverse PID, SROM version
-const uint8_t pmw33xx_firmware_signature[3] PROGMEM = {0x42, 0xBD, 0x04};
-
-// Firmware Blob for PMW3389
-// clang-format off
-const uint8_t pmw33xx_firmware_data[PMW33XX_FIRMWARE_LENGTH] PROGMEM = {
- 0x01, 0xe8, 0xba, 0x26, 0x0b, 0xb2, 0xbe, 0xfe, 0x7e, 0x5f, 0x3c, 0xdb, 0x15, 0xa8, 0xb3,
- 0xe4, 0x2b, 0xb5, 0xe8, 0x53, 0x07, 0x6d, 0x3b, 0xd1, 0x20, 0xc2, 0x06, 0x6f, 0x3d, 0xd9,
- 0x11, 0xa0, 0xc2, 0xe7, 0x2d, 0xb9, 0xd1, 0x20, 0xa3, 0xa5, 0xc8, 0xf3, 0x64, 0x4a, 0xf7,
- 0x4d, 0x18, 0x93, 0xa4, 0xca, 0xf7, 0x6c, 0x5a, 0x36, 0xee, 0x5e, 0x3e, 0xfe, 0x7e, 0x7e,
- 0x5f, 0x1d, 0x99, 0xb0, 0xc3, 0xe5, 0x29, 0xd3, 0x03, 0x65, 0x48, 0x12, 0x87, 0x6d, 0x58,
- 0x32, 0xe6, 0x2f, 0xdc, 0x3a, 0xf2, 0x4f, 0xfd, 0x59, 0x11, 0x81, 0x61, 0x21, 0xc0, 0x02,
- 0x86, 0x8e, 0x7f, 0x5d, 0x38, 0xf2, 0x47, 0x0c, 0x7b, 0x55, 0x28, 0xb3, 0xe4, 0x4a, 0x16,
- 0xab, 0xbf, 0xdd, 0x38, 0xf2, 0x66, 0x4e, 0xff, 0x5d, 0x19, 0x91, 0xa0, 0xa3, 0xa5, 0xc8,
- 0x12, 0xa6, 0xaf, 0xdc, 0x3a, 0xd1, 0x41, 0x60, 0x75, 0x58, 0x24, 0x92, 0xd4, 0x72, 0x6c,
- 0xe0, 0x2f, 0xfd, 0x23, 0x8d, 0x1c, 0x5b, 0xb2, 0x97, 0x36, 0x3d, 0x0b, 0xa2, 0x49, 0xb1,
- 0x58, 0xf2, 0x1f, 0xc0, 0xcb, 0xf8, 0x41, 0x4f, 0xcd, 0x1e, 0x6b, 0x39, 0xa7, 0x2b, 0xe9,
- 0x30, 0x16, 0x83, 0xd2, 0x0e, 0x47, 0x8f, 0xe3, 0xb1, 0xdf, 0xa2, 0x15, 0xdb, 0x5d, 0x30,
- 0xc5, 0x1a, 0xab, 0x31, 0x99, 0xf3, 0xfa, 0xb2, 0x86, 0x69, 0xad, 0x7a, 0xe8, 0xa7, 0x18,
- 0x6a, 0xcc, 0xc8, 0x65, 0x23, 0x87, 0xa8, 0x5f, 0xf5, 0x21, 0x59, 0x75, 0x09, 0x71, 0x45,
- 0x55, 0x25, 0x4b, 0xda, 0xa1, 0xc3, 0xf7, 0x41, 0xab, 0x59, 0xd9, 0x74, 0x12, 0x55, 0x5f,
- 0xbc, 0xaf, 0xd9, 0xfd, 0xb0, 0x1e, 0xa3, 0x0f, 0xff, 0xde, 0x11, 0x16, 0x6a, 0xae, 0x0e,
- 0xe1, 0x5d, 0x3c, 0x10, 0x43, 0x9a, 0xa1, 0x0b, 0x24, 0x8f, 0x0d, 0x7f, 0x0b, 0x5e, 0x4c,
- 0x42, 0xa4, 0x84, 0x2c, 0x40, 0xd0, 0x55, 0x39, 0xe6, 0x4b, 0xf8, 0x9b, 0x2f, 0xdc, 0x28,
- 0xff, 0xfa, 0xb5, 0x85, 0x19, 0xe5, 0x28, 0xa1, 0x77, 0xaa, 0x73, 0xf3, 0x03, 0xc7, 0x62,
- 0xa6, 0x91, 0x18, 0xc9, 0xb0, 0xcd, 0x05, 0xdc, 0xca, 0x81, 0x26, 0x1a, 0x47, 0x40, 0xda,
- 0x36, 0x7d, 0x6a, 0x53, 0xc8, 0x5a, 0x77, 0x5d, 0x19, 0xa4, 0x1b, 0x23, 0x83, 0xd0, 0xb2,
- 0xaa, 0x0e, 0xbf, 0x77, 0x4e, 0x3a, 0x3b, 0x59, 0x00, 0x31, 0x0d, 0x02, 0x1b, 0x88, 0x7a,
- 0xd4, 0xbd, 0x9d, 0xcc, 0x58, 0x04, 0x69, 0xf6, 0x3b, 0xca, 0x42, 0xe2, 0xfd, 0xc3, 0x3d,
- 0x39, 0xc5, 0xd0, 0x71, 0xe4, 0xc8, 0xb7, 0x3e, 0x3f, 0xc8, 0xe9, 0xca, 0xc9, 0x3f, 0x04,
- 0x4e, 0x1b, 0x79, 0xca, 0xa5, 0x61, 0xc2, 0xed, 0x1d, 0xa6, 0xda, 0x5a, 0xe9, 0x7f, 0x65,
- 0x8c, 0xbe, 0x12, 0x6e, 0xa4, 0x5b, 0x33, 0x2f, 0x84, 0x28, 0x9c, 0x1c, 0x88, 0x2d, 0xff,
- 0x07, 0xbf, 0xa6, 0xd7, 0x5a, 0x88, 0x86, 0xb0, 0x3f, 0xf6, 0x31, 0x5b, 0x11, 0x6d, 0xf5,
- 0x58, 0xeb, 0x58, 0x02, 0x9e, 0xb5, 0x9a, 0xb1, 0xff, 0x25, 0x9d, 0x8b, 0x4f, 0xb6, 0x0a,
- 0xf9, 0xea, 0x3e, 0x3f, 0x21, 0x09, 0x65, 0x21, 0x22, 0xfe, 0x3d, 0x4e, 0x11, 0x5b, 0x9e,
- 0x5a, 0x59, 0x8b, 0xdd, 0xd8, 0xce, 0xd6, 0xd9, 0x59, 0xd2, 0x1e, 0xfd, 0xef, 0x0d, 0x1b,
- 0xd9, 0x61, 0x7f, 0xd7, 0x2d, 0xad, 0x62, 0x09, 0xe5, 0x22, 0x63, 0xea, 0xc7, 0x31, 0xd9,
- 0xa1, 0x38, 0x80, 0x5c, 0xa7, 0x32, 0x82, 0xec, 0x1b, 0xa2, 0x49, 0x5a, 0x06, 0xd2, 0x7c,
- 0xc9, 0x96, 0x57, 0xbb, 0x17, 0x75, 0xfc, 0x7a, 0x8f, 0x0d, 0x77, 0xb5, 0x7a, 0x8e, 0x3e,
- 0xf4, 0xba, 0x2f, 0x69, 0x13, 0x26, 0xd6, 0xd9, 0x21, 0x60, 0x2f, 0x21, 0x3e, 0x87, 0xee,
- 0xfd, 0x87, 0x16, 0x0d, 0xc8, 0x08, 0x00, 0x25, 0x71, 0xac, 0x2c, 0x03, 0x2a, 0x37, 0x2d,
- 0xb3, 0x34, 0x09, 0x91, 0xe3, 0x06, 0x2c, 0x38, 0x37, 0x95, 0x3b, 0x17, 0x7a, 0xaf, 0xac,
- 0x99, 0x55, 0xab, 0x41, 0x39, 0x5f, 0x8e, 0xa6, 0x43, 0x80, 0x03, 0x88, 0x6f, 0x7d, 0xbd,
- 0x5a, 0xb4, 0x2b, 0x32, 0x23, 0x5a, 0xa9, 0x31, 0x32, 0x39, 0x4c, 0x5b, 0xf4, 0x6b, 0xaf,
- 0x66, 0x6f, 0x3c, 0x8e, 0x2d, 0x82, 0x97, 0x9f, 0x4a, 0x01, 0xdc, 0x99, 0x98, 0x00, 0xec,
- 0x38, 0x7a, 0x79, 0x70, 0xa6, 0x85, 0xd6, 0x21, 0x63, 0x0d, 0x45, 0x9a, 0x2e, 0x5e, 0xa7,
- 0xb1, 0xea, 0x66, 0x6a, 0xbc, 0x62, 0x2d, 0x7b, 0x7d, 0x85, 0xea, 0x95, 0x2f, 0xc0, 0xe8,
- 0x6f, 0x35, 0xa0, 0x3a, 0x02, 0x25, 0xbc, 0xb2, 0x5f, 0x5c, 0x43, 0x96, 0xcc, 0x26, 0xd2,
- 0x16, 0xb4, 0x96, 0x73, 0xd7, 0x13, 0xc7, 0xae, 0x53, 0x15, 0x31, 0x89, 0x68, 0x66, 0x6d,
- 0x2c, 0x92, 0x1f, 0xcc, 0x5b, 0xa7, 0x8f, 0x5d, 0xbb, 0xc9, 0xdb, 0xe8, 0x3b, 0x9d, 0x61,
- 0x74, 0x8b, 0x05, 0xa1, 0x58, 0x52, 0x68, 0xee, 0x3d, 0x39, 0x79, 0xa0, 0x9b, 0xdd, 0xe1,
- 0x55, 0xc9, 0x60, 0xeb, 0xad, 0xb8, 0x5b, 0xc2, 0x5a, 0xb5, 0x2c, 0x18, 0x55, 0xa9, 0x50,
- 0xc3, 0xf6, 0x72, 0x5f, 0xcc, 0xe2, 0xf4, 0x55, 0xb5, 0xd6, 0xb5, 0x4a, 0x99, 0xa5, 0x28,
- 0x74, 0x97, 0x18, 0xe8, 0xc0, 0x84, 0x89, 0x50, 0x03, 0x86, 0x4d, 0x1a, 0xb7, 0x09, 0x90,
- 0xa2, 0x01, 0x04, 0xbb, 0x73, 0x62, 0xcb, 0x97, 0x22, 0x70, 0x5d, 0x52, 0x41, 0x8e, 0xd9,
- 0x90, 0x15, 0xaa, 0xab, 0x0a, 0x31, 0x65, 0xb4, 0xda, 0xd0, 0xee, 0x24, 0xc9, 0x41, 0x91,
- 0x1e, 0xbc, 0x46, 0x70, 0x40, 0x9d, 0xda, 0x0e, 0x2a, 0xe4, 0xb2, 0x4c, 0x9f, 0xf2, 0xfc,
- 0xf3, 0x84, 0x17, 0x44, 0x1e, 0xd7, 0xca, 0x23, 0x1f, 0x3f, 0x5a, 0x22, 0x3d, 0xaf, 0x9b,
- 0x2d, 0xfc, 0x41, 0xad, 0x26, 0xb4, 0x45, 0x67, 0x0b, 0x80, 0x0e, 0xf9, 0x61, 0x37, 0xec,
- 0x3b, 0xf4, 0x4b, 0x14, 0xdf, 0x5a, 0x0c, 0x3a, 0x50, 0x0b, 0x14, 0x0c, 0x72, 0xae, 0xc6,
- 0xc5, 0xec, 0x35, 0x53, 0x2d, 0x59, 0xed, 0x91, 0x74, 0xe2, 0xc4, 0xc8, 0xf2, 0x25, 0x6b,
- 0x97, 0x6f, 0xc9, 0x76, 0xce, 0xa9, 0xb1, 0x99, 0x8f, 0x5a, 0x92, 0x3b, 0xc4, 0x8d, 0x54,
- 0x50, 0x40, 0x72, 0xd6, 0x90, 0x83, 0xfc, 0xe5, 0x49, 0x8b, 0x17, 0xf5, 0xfd, 0x6b, 0x8d,
- 0x32, 0x02, 0xe9, 0x0a, 0xfe, 0xbf, 0x00, 0x6b, 0xa3, 0xad, 0x5f, 0x09, 0x4b, 0x97, 0x2b,
- 0x00, 0x58, 0x65, 0x2e, 0x07, 0x49, 0x0a, 0x3b, 0x6b, 0x2e, 0x50, 0x6c, 0x1d, 0xac, 0xb7,
- 0x6a, 0x26, 0xd8, 0x13, 0xa4, 0xca, 0x16, 0xae, 0xab, 0x93, 0xb9, 0x1c, 0x1c, 0xb4, 0x47,
- 0x6a, 0x38, 0x36, 0x17, 0x27, 0xc9, 0x7f, 0xc7, 0x64, 0xcb, 0x89, 0x58, 0xc5, 0x61, 0xc2,
- 0xc6, 0xea, 0x15, 0x0b, 0x34, 0x0c, 0x5d, 0x61, 0x76, 0x6e, 0x2b, 0x62, 0x40, 0x92, 0xa3,
- 0x6c, 0xef, 0xf4, 0xe4, 0xc3, 0xa1, 0xa8, 0xf5, 0x94, 0x79, 0x0d, 0xd1, 0x3d, 0xcb, 0x3d,
- 0x40, 0xb6, 0xd0, 0xf0, 0x10, 0x54, 0xd8, 0x47, 0x25, 0x51, 0xc5, 0x41, 0x79, 0x00, 0xe5,
- 0xa0, 0x72, 0xde, 0xbb, 0x3b, 0x62, 0x17, 0xf6, 0xbc, 0x5d, 0x00, 0x76, 0x2e, 0xa7, 0x3b,
- 0xb6, 0xf1, 0x98, 0x72, 0x59, 0x2a, 0x73, 0xb0, 0x21, 0xd6, 0x49, 0xe0, 0xc0, 0xd5, 0xeb,
- 0x02, 0x7d, 0x4b, 0x41, 0x28, 0x70, 0x2d, 0xec, 0x2b, 0x71, 0x1f, 0x0b, 0xb9, 0x71, 0x63,
- 0x06, 0xe6, 0xbc, 0x60, 0xbb, 0xf4, 0x9a, 0x62, 0x43, 0x09, 0x18, 0x4e, 0x93, 0x06, 0x4d,
- 0x76, 0xfa, 0x7f, 0xbd, 0x02, 0xe4, 0x50, 0x91, 0x12, 0xe5, 0x86, 0xff, 0x64, 0x1e, 0xaf,
- 0x7e, 0xb3, 0xb2, 0xde, 0x89, 0xc1, 0xa2, 0x6f, 0x40, 0x7b, 0x41, 0x51, 0x63, 0xea, 0x25,
- 0xd1, 0x97, 0x57, 0x92, 0xa8, 0x45, 0xa1, 0xa5, 0x45, 0x21, 0x43, 0x7f, 0x83, 0x15, 0x29,
- 0xd0, 0x30, 0x53, 0x32, 0xb4, 0x5a, 0x17, 0x96, 0xbc, 0xc2, 0x68, 0xa9, 0xb7, 0xaf, 0xac,
- 0xdf, 0xf1, 0xe3, 0x89, 0xba, 0x24, 0x79, 0x54, 0xc6, 0x14, 0x07, 0x1c, 0x1e, 0x0d, 0x3a,
- 0x6b, 0xe5, 0x3d, 0x4e, 0x10, 0x60, 0x96, 0xec, 0x6c, 0xda, 0x47, 0xae, 0x03, 0x25, 0x39,
- 0x1d, 0x74, 0xc8, 0xac, 0x6a, 0xf2, 0x6b, 0x05, 0x2a, 0x9a, 0xe7, 0xe8, 0x92, 0xd6, 0xc2,
- 0x6d, 0xfa, 0xe8, 0xa7, 0x9d, 0x5f, 0x48, 0xc9, 0x75, 0xf1, 0x66, 0x6a, 0xdb, 0x5d, 0x9a,
- 0xcd, 0x27, 0xdd, 0xb9, 0x24, 0x04, 0x9c, 0x18, 0xc2, 0x6d, 0x0c, 0x91, 0x34, 0x48, 0x42,
- 0x6f, 0xe9, 0x59, 0x70, 0xc4, 0x7e, 0x81, 0x0e, 0x32, 0x0a, 0x93, 0x48, 0xb0, 0xc0, 0x15,
- 0x9e, 0x05, 0xac, 0x36, 0x16, 0xcb, 0x59, 0x65, 0xa0, 0x83, 0xdf, 0x3e, 0xda, 0xfb, 0x1d,
- 0x1a, 0xdb, 0x65, 0xec, 0x9a, 0xc6, 0xc3, 0x8e, 0x3c, 0x45, 0xfd, 0xc8, 0xf5, 0x1c, 0x6a,
- 0x67, 0x0d, 0x8f, 0x99, 0x7d, 0x30, 0x21, 0x8c, 0xea, 0x22, 0x87, 0x65, 0xc9, 0xb2, 0x4c,
- 0xe4, 0x1b, 0x46, 0xba, 0x54, 0xbd, 0x7c, 0xca, 0xd5, 0x8f, 0x5b, 0xa5, 0x01, 0x04, 0xd8,
- 0x0a, 0x16, 0xbf, 0xb9, 0x50, 0x2e, 0x37, 0x2f, 0x64, 0xf3, 0x70, 0x11, 0x02, 0x05, 0x31,
- 0x9b, 0xa0, 0xb2, 0x01, 0x5e, 0x4f, 0x19, 0xc9, 0xd4, 0xea, 0xa1, 0x79, 0x54, 0x53, 0xa7,
- 0xde, 0x2f, 0x49, 0xd3, 0xd1, 0x63, 0xb5, 0x03, 0x15, 0x4e, 0xbf, 0x04, 0xb3, 0x26, 0x8b,
- 0x20, 0xb2, 0x45, 0xcf, 0xcd, 0x5b, 0x82, 0x32, 0x88, 0x61, 0xa7, 0xa8, 0xb2, 0xa0, 0x72,
- 0x96, 0xc0, 0xdb, 0x2b, 0xe2, 0x5f, 0xba, 0xe3, 0xf5, 0x8a, 0xde, 0xf1, 0x18, 0x01, 0x16,
- 0x40, 0xd9, 0x86, 0x12, 0x09, 0x18, 0x1b, 0x05, 0x0c, 0xb1, 0xb5, 0x47, 0xe2, 0x43, 0xab,
- 0xfe, 0x92, 0x63, 0x7e, 0x95, 0x2b, 0xf0, 0xaf, 0xe1, 0xf1, 0xc3, 0x4a, 0xff, 0x2b, 0x09,
- 0xbb, 0x4a, 0x0e, 0x9a, 0xc4, 0xd8, 0x64, 0x7d, 0x83, 0xa0, 0x4f, 0x44, 0xdb, 0xc4, 0xa8,
- 0x58, 0xef, 0xfc, 0x9e, 0x77, 0xf9, 0xa6, 0x8f, 0x58, 0x8b, 0x12, 0xf4, 0xe9, 0x81, 0x12,
- 0x47, 0x51, 0x41, 0x83, 0xef, 0xf6, 0x73, 0xbc, 0x8e, 0x0f, 0x4c, 0x8f, 0x4e, 0x69, 0x90,
- 0x77, 0x29, 0x5d, 0x92, 0xb0, 0x6d, 0x06, 0x67, 0x29, 0x60, 0xbd, 0x4b, 0x17, 0xc8, 0x89,
- 0x69, 0x28, 0x29, 0xd6, 0x78, 0xcb, 0x11, 0x4c, 0xba, 0x8b, 0x68, 0xae, 0x7e, 0x9f, 0xef,
- 0x95, 0xda, 0xe2, 0x9e, 0x7f, 0xe9, 0x55, 0xe5, 0xe1, 0xe2, 0xb7, 0xe6, 0x5f, 0xbb, 0x2c,
- 0xa2, 0xe6, 0xee, 0xc7, 0x0a, 0x60, 0xa9, 0xd1, 0x80, 0xdf, 0x7f, 0xd6, 0x97, 0xab, 0x1d,
- 0x22, 0x25, 0xfc, 0x79, 0x23, 0xe0, 0xae, 0xc5, 0xef, 0x16, 0xa4, 0xa1, 0x0f, 0x92, 0xa9,
- 0xc7, 0xe3, 0x3a, 0x55, 0xdf, 0x62, 0x49, 0xd9, 0xf5, 0x84, 0x49, 0xc5, 0x90, 0x34, 0xd3,
- 0xe1, 0xac, 0x99, 0x21, 0xb1, 0x02, 0x76, 0x4a, 0xfa, 0xd4, 0xbb, 0xa4, 0x9c, 0xa2, 0xe2,
- 0xcb, 0x3d, 0x3b, 0x14, 0x75, 0x60, 0xd1, 0x02, 0xb4, 0xa3, 0xb4, 0x72, 0x06, 0xf9, 0x19,
- 0x9c, 0xe2, 0xe4, 0xa7, 0x0f, 0x25, 0x88, 0xc6, 0x86, 0xd6, 0x8c, 0x74, 0x4e, 0x6e, 0xfc,
- 0xa8, 0x48, 0x9e, 0xa7, 0x9d, 0x1a, 0x4b, 0x37, 0x09, 0xc8, 0xb0, 0x10, 0xbe, 0x6f, 0xfe,
- 0xa3, 0xc4, 0x7a, 0xb5, 0x3d, 0xe8, 0x30, 0xf1, 0x0d, 0xa0, 0xb2, 0x44, 0xfc, 0x9b, 0x8c,
- 0xf8, 0x61, 0xed, 0x81, 0xd1, 0x62, 0x11, 0xb4, 0xe1, 0xd5, 0x39, 0x52, 0x89, 0xd3, 0xa8,
- 0x49, 0x31, 0xdf, 0xb6, 0xf9, 0x91, 0xf4, 0x1c, 0x9d, 0x09, 0x95, 0x40, 0x56, 0xe7, 0xe3,
- 0xcd, 0x5c, 0x92, 0xc1, 0x1d, 0x6b, 0xe9, 0x78, 0x6f, 0x8e, 0x94, 0x42, 0x66, 0xa2, 0xaa,
- 0xd3, 0xc8, 0x2e, 0xe3, 0xf6, 0x07, 0x72, 0x0b, 0x6b, 0x1e, 0x7b, 0xb9, 0x7c, 0xe0, 0xa0,
- 0xbc, 0xd9, 0x25, 0xdf, 0x87, 0xa8, 0x5f, 0x9c, 0xcc, 0xf0, 0xdb, 0x42, 0x8e, 0x07, 0x31,
- 0x13, 0x01, 0x66, 0x32, 0xd1, 0xb8, 0xd6, 0xe3, 0x5e, 0x12, 0x76, 0x61, 0xd3, 0x38, 0x89,
- 0xe6, 0x17, 0x6f, 0xa5, 0xf2, 0x71, 0x0e, 0xa5, 0xe2, 0x88, 0x30, 0xbb, 0xbe, 0x8a, 0xea,
- 0xc7, 0x62, 0xc4, 0xcf, 0xb8, 0xcd, 0x33, 0x8d, 0x3d, 0x3e, 0xb5, 0x60, 0x3a, 0x03, 0x92,
- 0xe4, 0x6d, 0x1b, 0xe0, 0xb4, 0x84, 0x08, 0x55, 0x88, 0xa7, 0x3a, 0xb9, 0x3d, 0x43, 0xc3,
- 0xc0, 0xfa, 0x07, 0x6a, 0xca, 0x94, 0xad, 0x99, 0x55, 0xf1, 0xf1, 0xc0, 0x23, 0x87, 0x1d,
- 0x3d, 0x1c, 0xd1, 0x66, 0xa0, 0x57, 0x10, 0x52, 0xa2, 0x7f, 0xbe, 0xf9, 0x88, 0xb6, 0x02,
- 0xbf, 0x08, 0x23, 0xa9, 0x0c, 0x63, 0x17, 0x2a, 0xae, 0xf5, 0xf7, 0xb7, 0x21, 0x83, 0x92,
- 0x31, 0x23, 0x0d, 0x20, 0xc3, 0xc2, 0x05, 0x21, 0x62, 0x8e, 0x45, 0xe8, 0x14, 0xc1, 0xda,
- 0x75, 0xb8, 0xf8, 0x92, 0x01, 0xd0, 0x5d, 0x18, 0x9f, 0x99, 0x11, 0x19, 0xf5, 0x35, 0xe8,
- 0x7f, 0x20, 0x88, 0x8c, 0x05, 0x75, 0xf5, 0xd7, 0x40, 0x17, 0xbb, 0x1e, 0x36, 0x52, 0xd9,
- 0xa4, 0x9c, 0xc2, 0x9d, 0x42, 0x81, 0xd8, 0xc7, 0x8a, 0xe7, 0x4c, 0x81, 0xe0, 0xb7, 0x57,
- 0xed, 0x48, 0x8b, 0xf0, 0x97, 0x15, 0x61, 0xd9, 0x2c, 0x7c, 0x45, 0xaf, 0xc2, 0xcd, 0xfc,
- 0xaa, 0x13, 0xad, 0x59, 0xcc, 0xb2, 0xb2, 0x6e, 0xdd, 0x63, 0x9c, 0x32, 0x0f, 0xec, 0x83,
- 0xbe, 0x78, 0xac, 0x91, 0x44, 0x1a, 0x1f, 0xea, 0xfd, 0x5d, 0x8e, 0xb4, 0xc0, 0x84, 0xd4,
- 0xac, 0xb4, 0x87, 0x5f, 0xac, 0xef, 0xdf, 0xcd, 0x12, 0x56, 0xc8, 0xcd, 0xfe, 0xc5, 0xda,
- 0xd3, 0xc1, 0x69, 0xf3, 0x61, 0x05, 0xea, 0x25, 0xe2, 0x12, 0x05, 0x8f, 0x39, 0x08, 0x08,
- 0x7c, 0x37, 0xb6, 0x7e, 0x5b, 0xd8, 0xb1, 0x0e, 0xf2, 0xdb, 0x4b, 0xf1, 0xad, 0x90, 0x01,
- 0x57, 0xcd, 0xa0, 0xb4, 0x52, 0xe8, 0xf3, 0xd7, 0x8a, 0xbd, 0x4f, 0x9f, 0x21, 0x40, 0x72,
- 0xa4, 0xfc, 0x0b, 0x01, 0x2b, 0x2f, 0xb6, 0x4c, 0x95, 0x2d, 0x35, 0x33, 0x41, 0x6b, 0xa0,
- 0x93, 0xe7, 0x2c, 0xf2, 0xd3, 0x72, 0x8b, 0xf4, 0x4f, 0x15, 0x3c, 0xaf, 0xd6, 0x12, 0xde,
- 0x3f, 0x83, 0x3f, 0xff, 0xf8, 0x7f, 0xf6, 0xcc, 0xa6, 0x7f, 0xc9, 0x9a, 0x6e, 0x1f, 0xc1,
- 0x0c, 0xfb, 0xee, 0x9c, 0xe7, 0xaf, 0xc9, 0x26, 0x54, 0xef, 0xb0, 0x39, 0xef, 0xb2, 0xe9,
- 0x23, 0xc4, 0xef, 0xd1, 0xa1, 0xa4, 0x25, 0x24, 0x6f, 0x8d, 0x6a, 0xe5, 0x8a, 0x32, 0x3a,
- 0xaf, 0xfc, 0xda, 0xce, 0x18, 0x25, 0x42, 0x07, 0x4d, 0x45, 0x8b, 0xdf, 0x85, 0xcf, 0x55,
- 0xb2, 0x24, 0xfe, 0x9c, 0x69, 0x74, 0xa7, 0x6e, 0xa0, 0xce, 0xc0, 0x39, 0xf4, 0x86, 0xc6,
- 0x8d, 0xae, 0xb9, 0x48, 0x64, 0x13, 0x0b, 0x40, 0x81, 0xa2, 0xc9, 0xa8, 0x85, 0x51, 0xee,
- 0x9f, 0xcf, 0xa2, 0x8c, 0x19, 0x52, 0x48, 0xe2, 0xc1, 0xa8, 0x58, 0xb4, 0x10, 0x24, 0x06,
- 0x58, 0x51, 0xfc, 0xb9, 0x12, 0xec, 0xfd, 0x73, 0xb4, 0x6d, 0x84, 0xfa, 0x06, 0x8b, 0x05,
- 0x0b, 0x2d, 0xd6, 0xd6, 0x1f, 0x29, 0x82, 0x9f, 0x19, 0x12, 0x1e, 0xb2, 0x04, 0x8f, 0x7f,
- 0x4d, 0xbd, 0x30, 0x2e, 0xe3, 0xe0, 0x88, 0x29, 0xc5, 0x93, 0xd6, 0x6c, 0x1f, 0x29, 0x45,
- 0x91, 0xa7, 0x58, 0xcd, 0x05, 0x17, 0xd6, 0x6d, 0xb3, 0xca, 0x66, 0xcc, 0x3c, 0x4a, 0x74,
- 0xfd, 0x08, 0x10, 0xa6, 0x99, 0x92, 0x10, 0xd2, 0x85, 0xab, 0x6e, 0x1d, 0x0e, 0x8b, 0x26,
- 0x46, 0xd1, 0x6c, 0x84, 0xc0, 0x26, 0x43, 0x59, 0x68, 0xf0, 0x13, 0x1d, 0xfb, 0xe3, 0xd1,
- 0xd2, 0xb4, 0x71, 0x9e, 0xf2, 0x59, 0x6a, 0x33, 0x29, 0x79, 0xd2, 0xd7, 0x26, 0xf1, 0xae,
- 0x78, 0x9e, 0x1f, 0x0f, 0x3f, 0xe3, 0xe8, 0xd0, 0x27, 0x78, 0x77, 0xf6, 0xac, 0x9c, 0x56,
- 0x39, 0x73, 0x8a, 0x6b, 0x2f, 0x34, 0x78, 0xb1, 0x11, 0xdb, 0xa4, 0x5c, 0x80, 0x01, 0x71,
- 0x6a, 0xc2, 0xd1, 0x2e, 0x5e, 0x76, 0x28, 0x70, 0x93, 0xae, 0x3e, 0x78, 0xb0, 0x1f, 0x0f,
- 0xda, 0xbf, 0xfb, 0x8a, 0x67, 0x65, 0x4f, 0x91, 0xed, 0x49, 0x75, 0x78, 0x62, 0xa2, 0x93,
- 0xb5, 0x70, 0x7f, 0x4d, 0x08, 0x4e, 0x79, 0x61, 0xa8, 0x5f, 0x7f, 0xb4, 0x65, 0x9f, 0x91,
- 0x54, 0x3a, 0xe8, 0x50, 0x33, 0xd3, 0xd5, 0x8a, 0x7c, 0xf3, 0x9e, 0x8b, 0x77, 0x7b, 0xc6,
- 0xc6, 0x0c, 0x45, 0x95, 0x1f, 0xb0, 0xd0, 0x0b, 0x27, 0x4a, 0xfd, 0xc7, 0xf7, 0x0d, 0x5a,
- 0x43, 0xc9, 0x7d, 0x35, 0xb0, 0x7d, 0xc4, 0x9c, 0x57, 0x1e, 0x76, 0x0d, 0xf1, 0x95, 0x30,
- 0x71, 0xcc, 0xb3, 0x66, 0x3b, 0x63, 0xa8, 0x6c, 0xa3, 0x43, 0xa0, 0x24, 0xcc, 0xb7, 0x53,
- 0xfe, 0xfe, 0xbc, 0x6e, 0x60, 0x89, 0xaf, 0x16, 0x21, 0xc8, 0x91, 0x6a, 0x89, 0xce, 0x80,
- 0x2c, 0xf1, 0x59, 0xce, 0xc3, 0x60, 0x61, 0x3b, 0x0b, 0x19, 0xfe, 0x99, 0xac, 0x65, 0x90,
- 0x15, 0x12, 0x05, 0xac, 0x7e, 0xff, 0x98, 0x7b, 0x66, 0x64, 0x0e, 0x4b, 0x5b, 0xaa, 0x8d,
- 0x3b, 0xd2, 0x56, 0xcf, 0x99, 0x39, 0xee, 0x22, 0x81, 0xd0, 0x60, 0x06, 0x66, 0x20, 0x81,
- 0x48, 0x3c, 0x6f, 0x3a, 0x77, 0xba, 0xcb, 0x52, 0xac, 0x79, 0x56, 0xaf, 0xe9, 0x16, 0x17,
- 0x0a, 0xa3, 0x82, 0x08, 0xd5, 0x3c, 0x97, 0xcb, 0x09, 0xff, 0x7f, 0xf9, 0x4f, 0x60, 0x05,
- 0xb9, 0x53, 0x26, 0xaa, 0xb8, 0x50, 0xaa, 0x19, 0x25, 0xae, 0x5f, 0xea, 0x8a, 0xd0, 0x89,
- 0x12, 0x80, 0x43, 0x50, 0x24, 0x12, 0x21, 0x14, 0xcd, 0x77, 0xeb, 0x21, 0xcc, 0x5c, 0x09,
- 0x64, 0xf3, 0xc7, 0xcb, 0xc5, 0x4b, 0xc3, 0xe7, 0xed, 0xe7, 0x86, 0x2c, 0x1d, 0x8e, 0x19,
- 0x52, 0x9b, 0x2a, 0x0c, 0x18, 0x72, 0x0b, 0x1e, 0x1b, 0xb0, 0x0f, 0x42, 0x99, 0x04, 0xae,
- 0xd5, 0xb7, 0x89, 0x1a, 0xb9, 0x4f, 0xd6, 0xaf, 0xf3, 0xc9, 0x93, 0x6f, 0xb0, 0x60, 0x83,
- 0x6e, 0x6b, 0xd1, 0x5f, 0x3f, 0x1a, 0x83, 0x1e, 0x24, 0x00, 0x87, 0xb5, 0x3e, 0xdb, 0xf9,
- 0x4d, 0xa7, 0x16, 0x2e, 0x19, 0x5b, 0x8f, 0x1b, 0x0d, 0x47, 0x72, 0x42, 0xe9, 0x0a, 0x11,
- 0x08, 0x2d, 0x88, 0x1c, 0xbc, 0xc7, 0xb4, 0xbe, 0x29, 0x4d, 0x03, 0x5e, 0xec, 0xdf, 0xf3,
- 0x3d, 0x2f, 0xe8, 0x1d, 0x9a, 0xd2, 0xd1, 0xab, 0x41, 0x3d, 0x87, 0x11, 0x45, 0xb0, 0x0d,
- 0x46, 0xf5, 0xe8, 0x95, 0x62, 0x1c, 0x68, 0xf7, 0xa6, 0x5b, 0x39, 0x4e, 0xbf, 0x47, 0xba,
- 0x5d, 0x7f, 0xb7, 0x6a, 0xf4, 0xba, 0x1d, 0x69, 0xf6, 0xa4, 0xe7, 0xe4, 0x6b, 0x3b, 0x0d,
- 0x23, 0x16, 0x4a, 0xb2, 0x68, 0xf0, 0xb2, 0x0d, 0x09, 0x17, 0x6a, 0x63, 0x8c, 0x83, 0xd3,
- 0xbd, 0x05, 0xc9, 0xf6, 0xf0, 0xa1, 0x31, 0x0b, 0x2c, 0xac, 0x83, 0xac, 0x80, 0x34, 0x32,
- 0xb4, 0xec, 0xd0, 0xbc, 0x54, 0x82, 0x9a, 0xc8, 0xf6, 0xa0, 0x7d, 0xc6, 0x79, 0x73, 0xf4,
- 0x20, 0x99, 0xf3, 0xb4, 0x01, 0xde, 0x91, 0x27, 0xf2, 0xc0, 0xdc, 0x81, 0x00, 0x4e, 0x7e,
- 0x07, 0x99, 0xc8, 0x3a, 0x51, 0xbc, 0x38, 0xd6, 0x8a, 0xa2, 0xde, 0x3b, 0x6a, 0x8c, 0x1a,
- 0x7c, 0x81, 0x0f, 0x3a, 0x1f, 0xe4, 0x05, 0x7b, 0x20, 0x35, 0x6b, 0xa5, 0x6a, 0xa7, 0xe7,
- 0xbc, 0x9c, 0x20, 0xec, 0x00, 0x15, 0xe2, 0x51, 0xaf, 0x77, 0xeb, 0x29, 0x3c, 0x7d, 0x2e,
- 0x00, 0x5c, 0x81, 0x21, 0xfa, 0x35, 0x6f, 0x40, 0xef, 0xfb, 0xd1, 0x3f, 0xcc, 0x9d, 0x55,
- 0x53, 0xfb, 0x5a, 0xa5, 0x56, 0x89, 0x0b, 0x52, 0xeb, 0x57, 0x73, 0x4f, 0x1b, 0x67, 0x24,
- 0xcb, 0xb8, 0x6a, 0x10, 0x69, 0xd6, 0xfb, 0x52, 0x40, 0xff, 0x20, 0xa5, 0xf3, 0x72, 0xe1,
- 0x3d, 0xa4, 0x8c, 0x81, 0x66, 0x16, 0x0d, 0x5d, 0xad, 0xa8, 0x50, 0x25, 0x78, 0x31, 0x77,
- 0x0c, 0x57, 0xe4, 0xe9, 0x15, 0x2d, 0xdb, 0x07, 0x87, 0xc8, 0xb0, 0x43, 0xde, 0xfc, 0xfe,
- 0xa9, 0xeb, 0xf5, 0xb0, 0xd3, 0x7b, 0xe9, 0x1f, 0x6e, 0xca, 0xe4, 0x03, 0x95, 0xc5, 0xd1,
- 0x59, 0x72, 0x63, 0xf0, 0x86, 0x54, 0xe8, 0x16, 0x62, 0x0b, 0x35, 0x29, 0xc2, 0x68, 0xd0,
- 0xd6, 0x3e, 0x90, 0x60, 0x57, 0x1d, 0xc9, 0xed, 0x3f, 0xed, 0xb0, 0x2f, 0x7e, 0x97, 0x02,
- 0x51, 0xec, 0xee, 0x6f, 0x82, 0x74, 0x76, 0x7f, 0xfb, 0xd6, 0xc4, 0xc3, 0xdd, 0xe8, 0xb1,
- 0x60, 0xfc, 0xc6, 0xb9, 0x0d, 0x6a, 0x33, 0x78, 0xc6, 0xc1, 0xbf, 0x86, 0x2c, 0x50, 0xcc,
- 0x9a, 0x70, 0x8e, 0x7b, 0xec, 0xab, 0x95, 0xac, 0x53, 0xa0, 0x4b, 0x07, 0x88, 0xaf, 0x42,
- 0xed, 0x19, 0x8d, 0xf6, 0x32, 0x17, 0x48, 0x47, 0x1d, 0x41, 0x6f, 0xfe, 0x2e, 0xa7, 0x8f,
- 0x4b, 0xa0, 0x51, 0xf3, 0xbf, 0x02, 0x0a, 0x48, 0x58, 0xf7, 0xa1, 0x6d, 0xea, 0xa5, 0x13,
- 0x5a, 0x5b, 0xea, 0x0c, 0x9e, 0x52, 0x4f, 0x9e, 0xb9, 0x71, 0x7f, 0x23, 0x83, 0xda, 0x1b,
- 0x86, 0x9a, 0x41, 0x29, 0xda, 0x70, 0xe7, 0x64, 0xa1, 0x7b, 0xd5, 0x0a, 0x22, 0x0d, 0x5c,
- 0x40, 0xc4, 0x81, 0x07, 0x25, 0x35, 0x4a, 0x1c, 0x10, 0xdb, 0x45, 0x0a, 0xff, 0x36, 0xd4,
- 0xe0, 0xeb, 0x5f, 0x68, 0xd6, 0x67, 0xc6, 0xd0, 0x8b, 0x76, 0x1a, 0x7d, 0x59, 0x42, 0xa1,
- 0xcb, 0x96, 0x4d, 0x84, 0x09, 0x9a, 0x3d, 0xe0, 0x52, 0x85, 0x6e, 0x48, 0x90, 0x85, 0x2a,
- 0x63, 0xb2, 0x69, 0xd2, 0x00, 0x43, 0x31, 0x37, 0xb3, 0x52, 0xaf, 0x62, 0xfa, 0xc1, 0xe0,
- 0x03, 0xfb, 0x62, 0xaa, 0x88, 0xc9, 0xb2, 0x2c, 0xd5, 0xa8, 0xf5, 0xa5, 0x4c, 0x12, 0x59,
- 0x4e, 0x06, 0x5e, 0x9b, 0x15, 0x66, 0x11, 0xb2, 0x27, 0x92, 0xdc, 0x98, 0x59, 0xde, 0xdf,
- 0xfa, 0x9a, 0x32, 0x2e, 0xc0, 0x5d, 0x3c, 0x33, 0x41, 0x6d, 0xaf, 0xb2, 0x25, 0x23, 0x14,
- 0xa5, 0x7b, 0xc7, 0x9b, 0x68, 0xf3, 0xda, 0xeb, 0xe3, 0xa9, 0xe2, 0x6f, 0x0e, 0x1d, 0x1c,
- 0xba, 0x55, 0xb6, 0x34, 0x6a, 0x93, 0x1f, 0x1f, 0xb8, 0x34, 0xc8, 0x84, 0x08, 0xb1, 0x6b,
- 0x6a, 0x28, 0x74, 0x74, 0xe5, 0xeb, 0x75, 0xe9, 0x7c, 0xd8, 0xba, 0xd8, 0x42, 0xa5, 0xee,
- 0x1f, 0x80, 0xd9, 0x96, 0xb2, 0x2e, 0xe7, 0xbf, 0xba, 0xeb, 0xd1, 0x69, 0xbb, 0x8f, 0xfd,
- 0x5a, 0x63, 0x8f, 0x39, 0x7f, 0xdf, 0x1d, 0x37, 0xd2, 0x18, 0x35, 0x9d, 0xb6, 0xcc, 0xe4,
- 0x27, 0x81, 0x89, 0x38, 0x38, 0x68, 0x33, 0xe7, 0x78, 0xd8, 0x76, 0xf5, 0xee, 0xd0, 0x4a,
- 0x07, 0x69, 0x19, 0x7a, 0xad, 0x18, 0xb1, 0x94, 0x61, 0x45, 0x53, 0xa2, 0x48, 0xda, 0x96,
- 0x4a, 0xf9, 0xee, 0x94, 0x2a, 0x1f, 0x6e, 0x18, 0x3c, 0x92, 0x46, 0xd1, 0x1a, 0x28, 0x18,
- 0x32, 0x1f, 0x3a, 0x45, 0xbe, 0x04, 0x35, 0x92, 0xe5, 0xa3, 0xcb, 0xb5, 0x2e, 0x32, 0x43,
- 0xac, 0x65, 0x17, 0x89, 0x99, 0x15, 0x03, 0x9e, 0xb1, 0x23, 0x2f, 0xed, 0x76, 0x4d, 0xd8,
- 0xac, 0x21, 0x40, 0xc4, 0x99, 0x4e, 0x65, 0x71, 0x2c, 0xb3, 0x45, 0xab, 0xfb, 0xe7, 0x72,
- 0x39, 0x56, 0x30, 0x6d, 0xfb, 0x74, 0xeb, 0x99, 0xf3, 0xcd, 0x57, 0x5c, 0x78, 0x75, 0xe9,
- 0x8d, 0xc3, 0xa2, 0xfb, 0x5d, 0xe0, 0x90, 0xc5, 0x55, 0xad, 0x91, 0x53, 0x4e, 0x9e, 0xbd,
- 0x8c, 0x49, 0xa4, 0xa4, 0x69, 0x10, 0x0c, 0xc5, 0x76, 0xe9, 0x25, 0x86, 0x8d, 0x66, 0x23,
- 0xa8, 0xdb, 0x5c, 0xe8, 0xd9, 0x30, 0xe1, 0x15, 0x7b, 0xc0, 0x99, 0x0f, 0x03, 0xec, 0xaa,
- 0x12, 0xef, 0xce, 0xd4, 0xea, 0x55, 0x5c, 0x08, 0x86, 0xf4, 0xf4, 0xb0, 0x83, 0x42, 0x95,
- 0x37, 0xb6, 0x38, 0xe0, 0x2b, 0x54, 0x89, 0xbd, 0x4e, 0x20, 0x9d, 0x3f, 0xc3, 0x4b, 0xb7,
- 0xec, 0xfa, 0x5a, 0x14, 0x03, 0xcb, 0x64, 0xc8, 0x34, 0x4a, 0x4b, 0x6e, 0xf8, 0x6e, 0x56,
- 0xf6, 0xdd, 0x5f, 0xa1, 0x24, 0xe2, 0xd4, 0xd0, 0x82, 0x64, 0x1f, 0x8e, 0x9b, 0xfa, 0xb4,
- 0xcb, 0xdb, 0x0a, 0xe8, 0x15, 0xfc, 0x15, 0xab, 0x4b, 0x18, 0xbf, 0xd4, 0x42, 0x14, 0x48,
- 0x82, 0x85, 0xdd, 0xeb, 0x49, 0x1b, 0x0b, 0x0b, 0x05, 0xe9, 0xb4, 0xa1, 0x33, 0x0a, 0x5d,
- 0x0e, 0x6c, 0x4b, 0xc0, 0xd6, 0x6c, 0x7c, 0xfb, 0x69, 0x0b, 0x53, 0x19, 0xe4, 0xf3, 0x35,
- 0xfc, 0xbe, 0xa1, 0x34, 0x02, 0x09, 0x4f, 0x74, 0x86, 0x92, 0xcd, 0x5d, 0x1a, 0xc1, 0x27,
- 0x0c, 0xf2, 0xc5, 0xcf, 0xdd, 0x23, 0x93, 0x02, 0xbd, 0x41, 0x5e, 0x42, 0xf0, 0xa0, 0x9d,
- 0x0c, 0x72, 0xc8, 0xec, 0x32, 0x0a, 0x8a, 0xfd, 0x3d, 0x5a, 0x41, 0x27, 0x0c, 0x88, 0x59,
- 0xad, 0x94, 0x2e, 0xef, 0x5d, 0x8f, 0xc7, 0xdf, 0x66, 0xe4, 0xdd, 0x56, 0x6c, 0x7b, 0xca,
- 0x55, 0x81, 0xae, 0xae, 0x5c, 0x1b, 0x1a, 0xab, 0xae, 0x99, 0x8d, 0xcc, 0x42, 0x97, 0x59,
- 0xf4, 0x14, 0x3f, 0x75, 0xc6, 0xd1, 0x88, 0xba, 0xaa, 0x84, 0x4a, 0xd0, 0x34, 0x08, 0x3b,
- 0x7d, 0xdb, 0x15, 0x06, 0xb0, 0x5c, 0xbd, 0x40, 0xf5, 0xa8, 0xec, 0xae, 0x36, 0x40, 0xdd,
- 0x90, 0x1c, 0x3e, 0x0d, 0x7e, 0x73, 0xc7, 0xc2, 0xc5, 0x6a, 0xff, 0x52, 0x05, 0x7f, 0xbe,
- 0xd0, 0x92, 0xfd, 0xb3, 0x6f, 0xff, 0x5d, 0xb7, 0x97, 0x64, 0x73, 0x7b, 0xca, 0xd1, 0x98,
- 0x24, 0x6b, 0x0b, 0x01, 0x68, 0xdd, 0x27, 0x85, 0x85, 0xb5, 0x83, 0xc1, 0xe0, 0x50, 0x64,
- 0xc7, 0xaf, 0xf1, 0xc6, 0x4d, 0xb1, 0xef, 0xc9, 0xb4, 0x0a, 0x6d, 0x65, 0xf3, 0x47, 0xcc,
- 0xa3, 0x02, 0x21, 0x0c, 0xbe, 0x22, 0x29, 0x05, 0xcf, 0x5f, 0xe8, 0x94, 0x6c, 0xe5, 0xdc,
- 0xc4, 0xdf, 0xbe, 0x3e, 0xa8, 0xb4, 0x18, 0xb0, 0x99, 0xb8, 0x6f, 0xff, 0x5d, 0xb9, 0xfd,
- 0x3b, 0x5d, 0x16, 0xbf, 0x3e, 0xd8, 0xb3, 0xd8, 0x08, 0x34, 0xf6, 0x47, 0x35, 0x5b, 0x72,
- 0x1a, 0x33, 0xad, 0x52, 0x5d, 0xb8, 0xd0, 0x77, 0xc6, 0xab, 0xba, 0x55, 0x09, 0x5f, 0x02,
- 0xf8, 0xd4, 0x5f, 0x53, 0x06, 0x91, 0xcd, 0x74, 0x42, 0xae, 0x54, 0x91, 0x81, 0x62, 0x13,
- 0x6f, 0xd8, 0xa9, 0x77, 0xc3, 0x6c, 0xcb, 0xf1, 0x29, 0x5a, 0xcc, 0xda, 0x35, 0xbd, 0x52,
- 0x23, 0xbe, 0x59, 0xeb, 0x12, 0x6d, 0xb7, 0x53, 0xee, 0xfc, 0xb4, 0x1b, 0x13, 0x5e, 0xba,
- 0x16, 0x7c, 0xc5, 0xf3, 0xe3, 0x6d, 0x07, 0x78, 0xf5, 0x2b, 0x21, 0x05, 0x88, 0x4c, 0xc0,
- 0xa1, 0xe3, 0x36, 0x10, 0xf8, 0x1b, 0xd8, 0x17, 0xfb, 0x6a, 0x4e, 0xd8, 0xb3, 0x47, 0x2d,
- 0x99, 0xbd, 0xbb, 0x5d, 0x37, 0x7d, 0xba, 0xf1, 0xe1, 0x7c, 0xc0, 0xc5, 0x54, 0x62, 0x7f,
- 0xcf, 0x5a, 0x4a, 0x93, 0xcc, 0xf1, 0x1b, 0x34, 0xc8, 0xa6, 0x05, 0x4c, 0x55, 0x8b, 0x54,
- 0x84, 0xd5, 0x77, 0xeb, 0xc0, 0x6d, 0x3a, 0x29, 0xbd, 0x75, 0x61, 0x09, 0x9a, 0x2c, 0xbb,
- 0xf7, 0x18, 0x79, 0x34, 0x90, 0x24, 0xa5, 0x81, 0x70, 0x87, 0xc5, 0x02, 0x7c, 0xba, 0xd4,
- 0x5e, 0x14, 0x8e, 0xe4, 0xed, 0xa2, 0x61, 0x6a, 0xb9, 0x6e, 0xb5, 0x4a, 0xb9, 0x01, 0x46,
- 0xf4, 0xcf, 0xbc, 0x09, 0x2f, 0x27, 0x4b, 0xbd, 0x86, 0x7a, 0x10, 0xe1, 0xd4, 0xc8, 0xd9,
- 0x20, 0x8d, 0x8a, 0x63, 0x00, 0x63, 0x44, 0xeb, 0x54, 0x0b, 0x75, 0x49, 0x10, 0xa2, 0xa7,
- 0xad, 0xb9, 0xd1, 0x01, 0x80, 0x63, 0x25, 0xc8, 0x12, 0xa6, 0xce, 0x1e, 0xbe, 0xfe, 0x7e,
- 0x5f, 0x3c, 0xdb, 0x34, 0xea, 0x37, 0xec, 0x3b, 0xd5, 0x28, 0xd2, 0x07, 0x8c, 0x9a, 0xb6,
- 0xee, 0x5e, 0x3e, 0xdf, 0x1d, 0x99, 0xb0, 0xe2, 0x46, 0xef, 0x5c, 0x1b, 0xb4, 0xea, 0x56,
- 0x2e, 0xde, 0x1f, 0x9d, 0xb8, 0xd3, 0x24, 0xab, 0xd4, 0x2a, 0xd6, 0x2e, 0xde, 0x1f, 0x9d,
- 0xb8, 0xf2, 0x66, 0x2f, 0xbd, 0xf8, 0x72, 0x66, 0x4e, 0x1e, 0x9f, 0x9d, 0xb8, 0xf2, 0x47,
- 0x0c, 0x9a, 0xb6, 0xee, 0x3f, 0xfc, 0x7a, 0x57, 0x0d, 0x79, 0x70, 0x62, 0x27, 0xad, 0xb9,
- 0xd1, 0x01, 0x61, 0x40, 0x02, 0x67, 0x2d, 0xd8, 0x32, 0xe6, 0x2f, 0xdc, 0x3a, 0xd7, 0x2c,
- 0xbb, 0xf4, 0x4b, 0xf5, 0x49, 0xf1, 0x60, 0x23, 0xc4, 0x0a, 0x77, 0x4d, 0xf9, 0x51, 0x01,
- 0x80, 0x63, 0x25, 0xa9, 0xb1, 0xe0, 0x42, 0xe7, 0x4c, 0x1a, 0x97, 0xac, 0xbb, 0xf4, 0x6a,
- 0x37, 0xcd, 0x18, 0xb2, 0xe6, 0x2f, 0xdc, 0x1b, 0x95, 0xa8, 0xd2, 0x07, 0x6d, 0x58, 0x32,
- 0xe6, 0x4e, 0x1e, 0x9f, 0xbc, 0xfa, 0x57, 0x0d, 0x79, 0x51, 0x20, 0xc2, 0x06, 0x6f, 0x5c,
- 0x1b, 0x95, 0xa8, 0xb3, 0xc5, 0xe9, 0x31, 0xe0, 0x23, 0xc4, 0x0a, 0x77, 0x4d, 0x18, 0x93,
- 0x85, 0x69, 0x31, 0xc1, 0xe1, 0x21, 0xc0, 0xe3, 0x44, 0x0a, 0x77, 0x6c, 0x5a, 0x17, 0x8d,
- 0x98, 0x93, 0xa4, 0xab, 0xd4, 0x2a, 0xb7, 0xec, 0x5a, 0x17, 0xac, 0xbb, 0xf4, 0x4b, 0x14,
- 0xaa, 0xb7, 0xec, 0x3b, 0xd5, 0x28, 0xb3, 0xc5, 0xe9, 0x31, 0xc1, 0x00, 0x82, 0x67, 0x4c,
- 0xfb, 0x55, 0x28, 0xd2, 0x26, 0xaf, 0xbd, 0xd9, 0x11, 0x81, 0x61, 0x21, 0xa1, 0xa1, 0xc0,
- 0x02, 0x86, 0x6f, 0x5c, 0x1b, 0xb4, 0xcb, 0x14, 0x8b, 0x94, 0xaa, 0xd6, 0x2e, 0xbf, 0xdd,
- 0x19, 0xb0, 0xe2, 0x46, 0x0e, 0x7f, 0x7c, 0x5b, 0x15, 0x89, 0x90, 0x83, 0x84, 0x6b, 0x54,
- 0x0b, 0x75, 0x68, 0x52, 0x07, 0x6d, 0x58, 0x32, 0xc7, 0xed, 0x58, 0x32, 0xc7, 0xed, 0x58,
- 0x32, 0xe6, 0x4e, 0xff, 0x7c, 0x7a, 0x76, 0x6e, 0x3f, 0xdd, 0x38, 0xd3, 0x05, 0x88, 0x92,
- 0xa6, 0xaf, 0xdc, 0x1b, 0xb4, 0xcb, 0xf5, 0x68, 0x52, 0x07, 0x8c, 0x7b, 0x55, 0x09, 0x90,
- 0x83, 0x84, 0x6b, 0x54, 0x2a, 0xb7, 0xec, 0x3b, 0xd5, 0x09, 0x90, 0xa2, 0xc6, 0x0e, 0x7f,
- 0x7c, 0x7a, 0x57, 0x0d, 0x98, 0xb2, 0xc7, 0xed, 0x58, 0x32, 0xc7, 0x0c, 0x7b, 0x74, 0x4b,
- 0x14, 0x8b, 0x94, 0xaa, 0xb7, 0xcd, 0x18, 0x93, 0xa4, 0xca, 0x16, 0xae, 0xbf, 0xdd, 0x19,
- 0xb0, 0xe2, 0x46, 0x0e, 0x7f, 0x5d, 0x19, 0x91, 0x81, 0x80, 0x63, 0x44, 0xeb, 0x35, 0xc9,
- 0x10, 0x83, 0x65, 0x48, 0x12, 0xa6, 0xce, 0x1e, 0x9f, 0xbc, 0xdb, 0x15, 0x89, 0x71, 0x60,
- 0x23, 0xc4, 0xeb, 0x54, 0x2a, 0xb7, 0xec, 0x5a, 0x36, 0xcf, 0x81, 0x10, 0xac, 0x74
-};
-
-// clang-format off
+// PID, Inverse PID
+const uint8_t pmw33xx_firmware_signature[2] PROGMEM = {0x42, 0xBD};
diff --git a/drivers/sensors/pmw3389.h b/drivers/sensors/pmw3389.h
index fafd1e204690..a7028f84b1aa 100644
--- a/drivers/sensors/pmw3389.h
+++ b/drivers/sensors/pmw3389.h
@@ -17,8 +17,6 @@
#define PMW33XX_CPI_MIN 50
#define PMW33XX_CPI_MAX 16000
-#define PMW33XX_FIRMWARE_LENGTH 4094
-
// PMW3389 register addresses
// clang-format off
#define REG_Product_ID 0x00
diff --git a/drivers/sensors/pmw33xx_common.c b/drivers/sensors/pmw33xx_common.c
index 82a7ec32973f..f3285ec49720 100644
--- a/drivers/sensors/pmw33xx_common.c
+++ b/drivers/sensors/pmw33xx_common.c
@@ -15,8 +15,7 @@
#include "spi_master.h"
#include "progmem.h"
-extern const uint8_t pmw33xx_firmware_data[PMW33XX_FIRMWARE_LENGTH] PROGMEM;
-extern const uint8_t pmw33xx_firmware_signature[3] PROGMEM;
+extern const uint8_t pmw33xx_firmware_signature[2] PROGMEM;
static const pin_t cs_pins_left[] = PMW33XX_CS_PINS;
static const pin_t cs_pins_right[] = PMW33XX_CS_PINS_RIGHT;
@@ -27,6 +26,21 @@ static bool in_burst_right[ARRAY_SIZE(cs_pins_right)] = {0};
bool __attribute__((cold)) pmw33xx_upload_firmware(uint8_t sensor);
bool __attribute__((cold)) pmw33xx_check_signature(uint8_t sensor);
+const pointing_device_driver_t pmw33xx_pointing_device_driver = {
+ .init = pmw33xx_init_wrapper,
+ .get_report = pmw33xx_get_report,
+ .set_cpi = pmw33xx_set_cpi_wrapper,
+ .get_cpi = pmw33xx_get_cpi_wrapper,
+};
+
+uint16_t __attribute__((weak)) pmw33xx_srom_get_length(void) {
+ return 0;
+}
+
+uint8_t __attribute__((weak)) pmw33xx_srom_get_byte(uint16_t position) {
+ return 0;
+}
+
void pmw33xx_set_cpi_all_sensors(uint16_t cpi) {
for (uint8_t sensor = 0; sensor < pmw33xx_number_of_sensors; sensor++) {
pmw33xx_set_cpi(sensor, cpi);
@@ -89,10 +103,9 @@ uint8_t pmw33xx_read(uint8_t sensor, uint8_t reg_addr) {
}
bool pmw33xx_check_signature(uint8_t sensor) {
- uint8_t signature_dump[3] = {
+ uint8_t signature_dump[2] = {
pmw33xx_read(sensor, REG_Product_ID),
pmw33xx_read(sensor, REG_Inverse_Product_ID),
- pmw33xx_read(sensor, REG_SROM_ID),
};
return memcmp(pmw33xx_firmware_signature, signature_dump, sizeof(signature_dump)) == 0;
@@ -115,10 +128,12 @@ bool pmw33xx_upload_firmware(uint8_t sensor) {
spi_write(REG_SROM_Load_Burst | 0x80);
wait_us(15);
- for (size_t i = 0; i < PMW33XX_FIRMWARE_LENGTH; i++) {
- spi_write(pgm_read_byte(pmw33xx_firmware_data + i));
+ for (size_t i = 0; i < pmw33xx_srom_get_length(); i++) {
+ spi_write(pmw33xx_srom_get_byte(i));
wait_us(15);
}
+
+ spi_stop();
wait_us(200);
pmw33xx_read(sensor, REG_SROM_ID);
@@ -154,9 +169,13 @@ bool pmw33xx_init(uint8_t sensor) {
pmw33xx_read(sensor, REG_Delta_Y_L);
pmw33xx_read(sensor, REG_Delta_Y_H);
- if (!pmw33xx_upload_firmware(sensor)) {
- pd_dprintf("PMW33XX (%d): firmware upload failed!\n", sensor);
- return false;
+ if (pmw33xx_srom_get_length() != 0) {
+ if (!pmw33xx_upload_firmware(sensor)) {
+ pd_dprintf("PMW33XX (%d): firmware upload failed!\n", sensor);
+ return false;
+ }
+ } else {
+ pd_dprintf("PMW33XX (%d): firmware upload skipped.\n", sensor);
}
spi_stop();
@@ -200,7 +219,7 @@ pmw33xx_report_t pmw33xx_read_burst(uint8_t sensor) {
spi_write(REG_Motion_Burst);
wait_us(35); // waits for tSRAD_MOTBR
- spi_receive((uint8_t*)&report, sizeof(report));
+ spi_receive((uint8_t *)&report, sizeof(report));
// panic recovery, sometimes burst mode works weird.
if (report.motion.w & 0b111) {
@@ -216,3 +235,38 @@ pmw33xx_report_t pmw33xx_read_burst(uint8_t sensor) {
return report;
}
+
+void pmw33xx_init_wrapper(void) {
+ pmw33xx_init(0);
+}
+
+void pmw33xx_set_cpi_wrapper(uint16_t cpi) {
+ pmw33xx_set_cpi(0, cpi);
+}
+
+uint16_t pmw33xx_get_cpi_wrapper(void) {
+ return pmw33xx_get_cpi(0);
+}
+
+report_mouse_t pmw33xx_get_report(report_mouse_t mouse_report) {
+ pmw33xx_report_t report = pmw33xx_read_burst(0);
+ static bool in_motion = false;
+
+ if (report.motion.b.is_lifted) {
+ return mouse_report;
+ }
+
+ if (!report.motion.b.is_motion) {
+ in_motion = false;
+ return mouse_report;
+ }
+
+ if (!in_motion) {
+ in_motion = true;
+ pd_dprintf("PWM3360 (0): starting motion\n");
+ }
+
+ mouse_report.x = CONSTRAIN_HID_XY(report.delta_x);
+ mouse_report.y = CONSTRAIN_HID_XY(report.delta_y);
+ return mouse_report;
+}
diff --git a/drivers/sensors/pmw33xx_common.h b/drivers/sensors/pmw33xx_common.h
index b30ee3d59667..22e35c332750 100644
--- a/drivers/sensors/pmw33xx_common.h
+++ b/drivers/sensors/pmw33xx_common.h
@@ -14,6 +14,7 @@
#include
#include "spi_master.h"
#include "util.h"
+#include "pointing_device.h"
#if defined(POINTING_DEVICE_DRIVER_pmw3360)
# include "pmw3360.h"
@@ -102,6 +103,10 @@ _Static_assert(sizeof((pmw33xx_report_t){0}.motion) == 1, "pmw33xx_report_t.moti
#define CONSTRAIN(amt, low, high) ((amt) < (low) ? (low) : ((amt) > (high) ? (high) : (amt)))
+#define pmw3360_pointing_device_driver pmw33xx_pointing_device_driver;
+#define pmw3389_pointing_device_driver pmw33xx_pointing_device_driver;
+const pointing_device_driver_t pmw33xx_pointing_device_driver;
+
/**
* @brief Initializes the given sensor so it is in a working state and ready to
* be polled for data.
@@ -170,3 +175,8 @@ uint8_t pmw33xx_read(uint8_t sensor, uint8_t reg_addr);
* @return false Write failed, do not proceed operation
*/
bool pmw33xx_write(uint8_t sensor, uint8_t reg_addr, uint8_t data);
+
+void pmw33xx_init_wrapper(void);
+void pmw33xx_set_cpi_wrapper(uint16_t cpi);
+uint16_t pmw33xx_get_cpi_wrapper(void);
+report_mouse_t pmw33xx_get_report(report_mouse_t mouse_report);
diff --git a/drivers/wear_leveling/wear_leveling_flash_spi.c b/drivers/wear_leveling/wear_leveling_flash_spi.c
index 6191f8bf0958..304aed1641fb 100644
--- a/drivers/wear_leveling/wear_leveling_flash_spi.c
+++ b/drivers/wear_leveling/wear_leveling_flash_spi.c
@@ -58,7 +58,7 @@ bool backing_store_read(uint32_t address, backing_store_int_t *value) {
bool backing_store_read_bulk(uint32_t address, backing_store_int_t *values, size_t item_count) {
bs_dprintf("Read ");
uint32_t offset = (WEAR_LEVELING_EXTERNAL_FLASH_BLOCK_OFFSET) * (EXTERNAL_FLASH_BLOCK_SIZE) + address;
- flash_status_t status = flash_read_block(offset, values, sizeof(backing_store_int_t) * item_count);
+ flash_status_t status = flash_read_range(offset, values, sizeof(backing_store_int_t) * item_count);
if (status == FLASH_STATUS_SUCCESS) {
for (size_t i = 0; i < item_count; ++i) {
values[i] = ~values[i];
@@ -88,7 +88,7 @@ bool backing_store_write_bulk(uint32_t address, backing_store_int_t *values, siz
}
// Write out the block
- if (flash_write_block(offset, temp, sizeof(backing_store_int_t) * this_loop) != FLASH_STATUS_SUCCESS) {
+ if (flash_write_range(offset, temp, sizeof(backing_store_int_t) * this_loop) != FLASH_STATUS_SUCCESS) {
return false;
}
diff --git a/drivers/ws2812.c b/drivers/ws2812.c
new file mode 100644
index 000000000000..bf234c6f7dc6
--- /dev/null
+++ b/drivers/ws2812.c
@@ -0,0 +1,15 @@
+// Copyright 2024 QMK
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "ws2812.h"
+
+#if defined(WS2812_RGBW)
+void ws2812_rgb_to_rgbw(ws2812_led_t *led) {
+ // Determine lowest value in all three colors, put that into
+ // the white channel and then shift all colors by that amount
+ led->w = MIN(led->r, MIN(led->g, led->b));
+ led->r -= led->w;
+ led->g -= led->w;
+ led->b -= led->w;
+}
+#endif
diff --git a/drivers/ws2812.h b/drivers/ws2812.h
index 993cce8ce451..8013e5bd2dd4 100644
--- a/drivers/ws2812.h
+++ b/drivers/ws2812.h
@@ -15,7 +15,7 @@
#pragma once
-#include "quantum/color.h"
+#include "util.h"
/*
* The WS2812 datasheets define T1H 900ns, T0H 350ns, T1L 350ns, T0L 900ns. Hence, by default, these
@@ -62,17 +62,36 @@
# define WS2812_LED_COUNT RGB_MATRIX_LED_COUNT
#endif
+#define WS2812_BYTE_ORDER_RGB 0
+#define WS2812_BYTE_ORDER_GRB 1
+#define WS2812_BYTE_ORDER_BGR 2
+
+#ifndef WS2812_BYTE_ORDER
+# define WS2812_BYTE_ORDER WS2812_BYTE_ORDER_GRB
+#endif
+
+typedef struct PACKED ws2812_led_t {
+#if (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_GRB)
+ uint8_t g;
+ uint8_t r;
+ uint8_t b;
+#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_RGB)
+ uint8_t r;
+ uint8_t g;
+ uint8_t b;
+#elif (WS2812_BYTE_ORDER == WS2812_BYTE_ORDER_BGR)
+ uint8_t b;
+ uint8_t g;
+ uint8_t r;
+#endif
+#ifdef WS2812_RGBW
+ uint8_t w;
+#endif
+} ws2812_led_t;
+
void ws2812_init(void);
+void ws2812_set_color(int index, uint8_t red, uint8_t green, uint8_t blue);
+void ws2812_set_color_all(uint8_t red, uint8_t green, uint8_t blue);
+void ws2812_flush(void);
-/* User Interface
- *
- * Input:
- * ledarray: An array of GRB data describing the LED colors
- * number_of_leds: The number of LEDs to write
- *
- * The functions will perform the following actions:
- * - Set the data-out pin as output
- * - Send out the LED data
- * - Wait 50us to reset the LEDs
- */
-void ws2812_setleds(rgb_led_t *ledarray, uint16_t number_of_leds);
+void ws2812_rgb_to_rgbw(ws2812_led_t *led);
diff --git a/keyboards/0_sixty/keymaps/via/config.h b/keyboards/0_sixty/keymaps/via/config.h
deleted file mode 100644
index 5894d7b29823..000000000000
--- a/keyboards/0_sixty/keymaps/via/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2021 Vinam Arora
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 7
-/* This is 4 by default. ProMicro's memory doesn't seem to be able to
- * support more than 7 dynamic keymap layers
- */
diff --git a/keyboards/0_sixty/keymaps/via/keymap.c b/keyboards/0_sixty/keymaps/via/keymap.c
deleted file mode 100644
index d308956ee7d1..000000000000
--- a/keyboards/0_sixty/keymaps/via/keymap.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/* Copyright 2020 Vinam Arora
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// 4 layers, because that is what VIA can support by default
-enum zero_sixty_layers {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
- _EMPTY1, // Just to initialize dynamic layers in VIA
- _EMPTY2,
- _EMPTY3,
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-#define ADJUST MO(_ADJUST)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Caps | Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_CAPS, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_5x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, ADJUST, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, ADJUST, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Adjust
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | Reset| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_5x12(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* Transparent layers, only to initialize VIA's dynamic layers */
-
-[_EMPTY1] = LAYOUT_ortho_5x12(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_EMPTY2] = LAYOUT_ortho_5x12(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[_EMPTY3] = LAYOUT_ortho_5x12(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-};
diff --git a/keyboards/0_sixty/keymaps/via/rules.mk b/keyboards/0_sixty/keymaps/via/rules.mk
deleted file mode 100644
index eb5b445ddf1a..000000000000
--- a/keyboards/0_sixty/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/0xc7/61key/keymaps/via/keymap.c b/keyboards/0xc7/61key/keymaps/via/keymap.c
deleted file mode 100644
index cc8e40c196ed..000000000000
--- a/keyboards/0xc7/61key/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2021 0xC7
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_60_ansi(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL
- ),
- [1] = LAYOUT_60_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_END, KC_PGDN, KC_TRNS,
- KC_TRNS, KC_TRNS, QK_LOCK, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, C(A(KC_DEL))
- ),
- [2] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
\ No newline at end of file
diff --git a/keyboards/0xc7/61key/keymaps/via/rules.mk b/keyboards/0xc7/61key/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/0xc7/61key/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/0xcb/1337/1337.c b/keyboards/0xcb/1337/1337.c
deleted file mode 100644
index d5937540b2c4..000000000000
--- a/keyboards/0xcb/1337/1337.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2021 0xCB - Conor Burns
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include "quantum.h"
-
-void eeconfig_init_kb(void) {
-#ifdef BACKLIGHT_ENABLE
- backlight_enable();
- backlight_level(5);
-#endif
-
- eeconfig_update_kb(0);
- eeconfig_init_user();
-}
diff --git a/keyboards/0xcb/1337/keyboard.json b/keyboards/0xcb/1337/keyboard.json
index f264d4ed065f..b2ef00906b1e 100644
--- a/keyboards/0xcb/1337/keyboard.json
+++ b/keyboards/0xcb/1337/keyboard.json
@@ -9,6 +9,9 @@
"device_version": "0.0.1"
},
"backlight": {
+ "default": {
+ "brightness": 5
+ },
"pin": "B5",
"levels": 7,
"breathing": true
diff --git a/keyboards/0xcb/1337/keymaps/default/keymap.c b/keyboards/0xcb/1337/keymaps/default/keymap.c
index 3f05c97da95b..f3e9e9ad14fa 100644
--- a/keyboards/0xcb/1337/keymaps/default/keymap.c
+++ b/keyboards/0xcb/1337/keymaps/default/keymap.c
@@ -35,9 +35,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, TO(2)
),
[_RGB] = LAYOUT(
- RGB_HUI, RGB_HUD, RGB_MOD,
- RGB_SAI, RGB_SAD, TO(1),
- RGB_SPI, RGB_SPD, TO(3)
+ UG_HUEU, UG_HUED, UG_NEXT,
+ UG_SATU, UG_SATD, TO(1),
+ UG_SPDU, UG_SPDD, TO(3)
),
[_BLED] = LAYOUT(
BL_STEP, BL_BRTG, BL_TOGG,
diff --git a/keyboards/0xcb/1337/keymaps/via/keymap.c b/keyboards/0xcb/1337/keymaps/via/keymap.c
deleted file mode 100644
index f6f32b7ba1e4..000000000000
--- a/keyboards/0xcb/1337/keymaps/via/keymap.c
+++ /dev/null
@@ -1,186 +0,0 @@
-/*
-Copyright 2021 0xCB - Conor Burns
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-// clang-format off
-enum layer_names {
- _HOME,
- _MISC,
- _RGB,
- _BLED
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_HOME] = LAYOUT(
- KC_MPRV, KC_MNXT, KC_MPLY,
- KC_PGUP, KC_PGDN, TO(3),
- KC_HOME, KC_END, TO(1)
-),
-[_MISC] = LAYOUT(
- _______, _______, _______,
- _______, _______, TO(0),
- _______, _______, TO(2)
-),
-[_RGB] = LAYOUT(
- RGB_HUI, RGB_HUD, RGB_MOD,
- RGB_SAI, RGB_SAD, TO(1),
- RGB_SPI, RGB_SPD, TO(3)
-),
-[_BLED] = LAYOUT(
- BL_STEP, BL_BRTG, BL_TOGG,
- BL_ON, BL_OFF, TO(2),
- BL_UP, BL_DOWN, TO(0)
-)
-};
-// clang-format on
-
-/* rotary encoder (SW3) - add more else if blocks for more granular layer control */
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (IS_LAYER_ON(_RGB)) {
- #ifdef RGBLIGHT_ENABLE
- if (clockwise) {
- rgblight_increase_val();
- } else {
- rgblight_decrease_val();
- }
- #endif
- } else if (IS_LAYER_ON(_BLED)) {
- if (clockwise) {
- backlight_increase();
- } else {
- backlight_decrease();
- }
- } else {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return true;
-}
-#endif
-
-/* oled stuff :) */
-#ifdef OLED_ENABLE
-uint16_t startup_timer;
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- startup_timer = timer_read();
- return rotation;
-}
-
-static void render_logo(void) {
- static const char PROGMEM raw_logo[] = {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0, 0, 0, 0, 0, 1, 2, 4, 2, 1, 1, 1, 1, 1, 1,255, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 1, 1, 1, 1, 1, 1, 2, 4, 2, 1, 0, 0, 0, 0, 0, 0,128, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0, 0, 0, 0, 0, 0,128,192,192,224,224,112,120, 56, 63, 28, 14, 14, 14,254, 14, 14, 30, 28, 63, 56,120,112,224,224,192,128, 0, 0, 0, 0, 0, 0, 0, 2, 5,248, 5, 2, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,160, 19,162, 66, 66, 66, 66, 66, 66, 66,255,255,255, 0, 0, 0,252,254,254,192,192,192,192,255, 0, 0, 0, 62, 62, 60, 60, 0, 0, 1,255,255,255, 66, 66, 66, 66, 66, 66, 66,162, 19,160, 64, 0,
- 0, 0, 0,128, 64, 64, 64,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,192, 64, 64,192,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, 64,192, 0, 0, 0, 0, 0,128,192, 64, 64,192,128, 0, 0,128,192, 64, 64,192,128, 0, 0, 64, 64, 64, 64, 64,192, 0, 0, 0, 0, 0,249, 8, 8, 8, 8, 8, 8, 8, 8,127,255,255,192,128,128, 15, 31, 31, 1, 1, 1, 1,255, 0, 0, 0, 30, 30, 14, 14,128,192,192,255,255,127, 8, 8, 8, 8, 8, 8, 8, 8,249, 0, 0, 0,
- 0, 0, 31, 49, 64, 78, 64, 49, 31, 0, 0, 97, 22, 8, 22, 97, 0, 0, 31, 49, 96, 64, 64, 96, 32, 0, 0,127, 68, 68,100, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 64,127, 64, 64, 0, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 32,100, 68, 68,110, 59, 0, 0, 0, 0, 0,126, 3, 1, 0, 0, 0, 8, 20, 35, 20, 8, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 7, 15,254, 30, 28, 28, 28,255, 28, 28, 28, 30,254, 15, 7, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 10, 17, 10, 4, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 40, 68, 40, 16, 16, 16, 16, 16, 16, 31, 0, 0, 16, 40, 71, 40, 16, 0, 0, 31, 16, 16, 16, 16, 16, 16, 40, 68, 40, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- };
- oled_write_raw_P(raw_logo, sizeof(raw_logo));
-}
-static void render_logo_font(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4,
- 0xA0, 0xA1, 0xA2, 0xA3, 0xA4, 0xA5, 0xA6, 0xA7, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4,
- 0x88, 0x89, 0x8A, 0x8B, 0x8A, 0x8B, 0x8C, 0x8D, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0,
- 0xA8, 0xA9, 0xAA, 0xAB, 0xAA, 0xAB, 0xAC, 0xAD, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xCB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0x00
- };
-
- oled_write_P(qmk_logo, false);
-}
-/* Shows the name of the current layer and locks for the host (CAPS etc.) */
-static void render_info(void) {
- oled_write_P(PSTR("Layer: "), false);
-
- switch (get_highest_layer(layer_state)) {
- case _HOME:
- oled_write_ln_P(PSTR("HOME"), false);
- break;
- case _MISC:
- oled_write_ln_P(PSTR("MISC"), false);
- break;
- case _RGB:
- oled_write_ln_P(PSTR("RGB"), false);
- break;
- case _BLED:
- oled_write_ln_P(PSTR("Backlight"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undefined"), false);
- }
- led_t led_state = host_keyboard_led_state();
- oled_write_P(led_state.num_lock ? PSTR("NUM ") : PSTR(" "), false);
- oled_write_P(led_state.caps_lock ? PSTR("CAP ") : PSTR(" "), false);
- oled_write_ln_P(led_state.scroll_lock ? PSTR("SCR ") : PSTR(" "), false);
-}
-static void render_rgbled_status(void) {
- char string[4];
- if (RGBLIGHT_MODES > 1 && rgblight_is_enabled() && get_highest_layer(layer_state) == _RGB) {
- uint16_t m = rgblight_get_mode();
- string[3] = '\0';
- string[2] = '0' + m % 10;
- string[1] = ( m /= 10) % 10 ? '0' + (m) % 10 : (m / 10) % 10 ? '0' : ' ';
- string[0] = m / 10 ? '0' + m / 10 : ' ';
- oled_write_P(PSTR("Conf:"), false);
- oled_write(string, false);
- uint16_t h = rgblight_get_hue()/RGBLIGHT_HUE_STEP;
- string[3] = '\0';
- string[2] = '0' + h % 10;
- string[1] = ( h /= 10) % 10 ? '0' + (h) % 10 : (h / 10) % 10 ? '0' : ' ';
- string[0] = h / 10 ? '0' + h / 10 : ' ';
- oled_write_P(PSTR(","), false);
- oled_write(string, false);
- uint16_t s = rgblight_get_sat()/RGBLIGHT_SAT_STEP;
- string[3] = '\0';
- string[2] = '0' + s % 10;
- string[1] = ( s /= 10) % 10 ? '0' + (s) % 10 : (s / 10) % 10 ? '0' : ' ';
- string[0] = s / 10 ? '0' + s / 10 : ' ';
- oled_write_P(PSTR(","), false);
- oled_write(string, false);
- uint16_t v = rgblight_get_val()/RGBLIGHT_VAL_STEP;
- string[3] = '\0';
- string[2] = '0' + v % 10;
- string[1] = ( v /= 10) % 10 ? '0' + (v) % 10 : (v / 10) % 10 ? '0' : ' ';
- string[0] = v / 10 ? '0' + v / 10 : ' ';
- oled_write_P(PSTR(","), false);
- oled_write(string, false);
- oled_write_ln_P(PSTR("\n MOD HUE SAT VAR"), false);
- } else {
- oled_write_ln_P(PSTR("\n"), false);
- }
-}
-bool oled_task_user(void) {
- static bool finished_timer = false;
- if (!finished_timer && (timer_elapsed(startup_timer) < 1000)) {
- render_logo();
- } else {
- if (!finished_timer) {
- oled_clear();
- finished_timer = true;
- }
- render_info();
- render_rgbled_status();
- render_logo_font();
- }
- return false;
-}
-#endif
diff --git a/keyboards/0xcb/1337/keymaps/via/rules.mk b/keyboards/0xcb/1337/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/0xcb/1337/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c b/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c
index dbc7e417f763..6a82f2ca7457 100644
--- a/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c
+++ b/keyboards/0xcb/splaytoraid/keymaps/default/keymap.c
@@ -44,6 +44,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_LOWER] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
- [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [_RAISE] = { ENCODER_CCW_CW(UG_VALD, UG_VALU) },
[_ADJUST] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }
};
diff --git a/keyboards/0xcb/splaytoraid/keymaps/via/keymap.c b/keyboards/0xcb/splaytoraid/keymaps/via/keymap.c
deleted file mode 100644
index 852417922e71..000000000000
--- a/keyboards/0xcb/splaytoraid/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2023 Conor Burns (@Conor-Burns)
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_40(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- KC_LSFT, KC_ESC, KC_ENT, KC_MPLY, KC_SPC, KC_DEL, KC_RSFT
- ),
-
- [_LOWER] = LAYOUT_40(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_RAISE] = LAYOUT_40(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_ADJUST] = LAYOUT_40(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_LOWER] = { ENCODER_CCW_CW(KC_MPRV, KC_MNXT) },
- [_RAISE] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
- [_ADJUST] = { ENCODER_CCW_CW(KC_RGHT, KC_LEFT) }
-};
diff --git a/keyboards/0xcb/splaytoraid/keymaps/via/rules.mk b/keyboards/0xcb/splaytoraid/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/0xcb/splaytoraid/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/0xcb/static/keymaps/via/keymap.c b/keyboards/0xcb/static/keymaps/via/keymap.c
deleted file mode 100644
index 2a8b2d7c25f8..000000000000
--- a/keyboards/0xcb/static/keymaps/via/keymap.c
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
-Copyright 2021 0xCB - Conor Burns
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-// clang-format off
-enum layer_names {
- _HOME,
- _FN2,
- _FN3,
- _FN4
-};
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_HOME] = LAYOUT_all(
- KC_MPLY,
- QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
- SC_LSPO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, SC_RSPC,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), MO(2)
-),
-[_FN2] = LAYOUT_all(
- QK_BOOT,
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-[_FN3] = LAYOUT_all(
- EE_CLR,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SLSH,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-[_FN4] = LAYOUT_all(
- _______,
- _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MNXT, KC_MSTP, KC_INS, KC_HOME, KC_DEL, KC_END, _______,
- _______, _______, KC_BRID, KC_BRIU, _______, _______, _______, KC_PGUP, KC_UP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-};
-// clang-format on
-
-/*layer switcher */
-layer_state_t layer_state_set_user(layer_state_t state) {
-state = update_tri_layer_state(state, _FN2, _FN3, _FN4);
-return state;
-}
-/* rotary encoder (MX12) - add different functions for layers here */
-#ifdef ENCODER_ENABLE
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (IS_LAYER_ON(_FN4)) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (IS_LAYER_ON(_FN3)) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (IS_LAYER_ON(_FN2)) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return true;
-}
-#endif
-
-/* oled stuff :) */
-#ifdef OLED_ENABLE
-uint16_t startup_timer = 0;
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- startup_timer = timer_read();
- return rotation;
-}
-static void render_logo(void) {
- static const char PROGMEM raw_logo[] = {
- 0, 8, 0,192,194,192,192, 60, 60, 44, 60,188, 60, 60, 60, 60, 44, 61, 60,192,192,192,208, 1, 0,252,252,180,252, 60, 60, 44, 60,252,253,252,252, 60, 60, 44, 60,244,220,252,252, 0, 0, 16, 0, 0, 0,192,192, 65,192, 60, 60, 52, 60,192,193,192,192, 16, 0, 0,144, 4, 0,252,125,244, 60, 60, 60, 60, 61,252,252,244,252, 60, 60, 60, 61,248,108,252, 0, 0, 61, 60,188, 60, 52,252,252,220,252, 61, 60, 60, 52, 0, 0,192,210, 64,192, 60, 60, 44, 61, 60, 60, 60, 61, 52, 60, 60, 60,192,192, 64,196, 0, 4, 0,
- 0, 16, 0, 61, 63, 55, 63,192, 64,192,196,192,192,192,200,192,196,192,192, 3, 3, 2, 11, 0, 0, 35, 3, 3, 3, 0, 64, 2, 0,255,255,253,247, 0, 0, 0, 32, 1, 0, 1, 65, 8, 0,189,244,252,236, 3,130, 3, 1, 0, 68, 0, 0, 3, 34,131, 3,252,252,236,252, 0, 32, 17, 1, 1, 0, 0, 32, 0, 2,255,255,127,247, 0, 1, 0, 8, 1, 1, 1, 0, 0, 0, 16, 0, 64, 0,255,191,255,251, 0,129, 0, 2, 32, 0,255,255,239,255, 0, 0, 2, 0, 0, 0, 8, 64, 0, 1, 0, 0, 3, 35, 3, 3, 0, 8, 0,
- 1, 16, 0,192, 64,194,192, 3, 67, 3, 3, 9, 3, 3, 3, 3, 2, 83, 3,252,252,188,244, 0, 2, 32, 0, 0, 2, 0,144, 0, 0,255,255,237,255, 0, 16, 0, 0, 0, 64, 2, 0,128, 0,255,123,255,255, 60, 52, 60, 60, 60, 60, 60, 60, 44, 60, 56, 60,239,255,126,255, 0, 2, 32, 0, 0, 34, 0, 0, 16, 0,255,255,255,223, 0, 0, 4, 0, 0, 0, 33, 0, 0, 17, 0, 0, 0, 0,255,255,239,255, 0,128, 0, 0, 72, 0,255,253,247,255, 0, 0, 1, 0,144, 0, 4, 0, 32, 0, 0, 2,192,192,192,200, 0, 16, 0,
- 64, 4, 0, 3, 7, 3, 3, 60, 60, 52,188, 60, 61, 60, 60, 60, 60, 44, 60, 67, 3, 3, 3, 0, 0, 64, 0, 0, 4, 0, 0, 16, 0, 47, 63, 62, 63, 0, 0,132, 0, 0, 0, 0,128, 8, 0,255,255,111,127, 0, 0, 0, 2,128, 0, 0, 0, 64, 4, 0,128,127,127,107,127, 0, 32, 0, 0, 0, 66, 0, 0, 0,136, 55, 63, 61, 63, 0, 0, 0, 2, 0, 64, 0,136, 0, 0, 60, 44,189, 60, 63, 63, 63, 59, 60, 60,172, 60, 0, 64, 3, 2, 3,131, 60, 44, 60, 60, 60, 60,188, 60, 56, 44, 60, 60, 3, 3,131, 2, 0, 32, 2,
- };
- oled_write_raw_P(raw_logo, sizeof(raw_logo));
-}
-/* Shows the name of the current layer and locks for the host (CAPS etc.) */
-static void render_layer(void) {
- led_t led_state = host_keyboard_led_state();
- // clang-format off
- static const char PROGMEM logo[][3][7] = {
- {{0x97, 0x98, 0x99, 0x9A, 0}, {0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0}, {0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0}}, /* l num CB */
- {{0xB7, 0xB8, 0xB9, 0xBA, 0}, {0xB1, 0xB2, 0xB3, 0xB4, 0xB5, 0xB6, 0}, {0xBB, 0xBC, 0xBD, 0xBE, 0xBF, 0}}, /* 1 num CB */
- {{0xD7, 0xD8, 0xD9, 0xDA, 0}, {0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0}, {0xDB, 0xDC, 0xDD, 0xDE, 0xDF, 0}}, /* 1 cap CB */
- {{0xF7, 0xF8, 0xF9, 0xFA, 0}, {0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0}, {0xFB, 0xFC, 0xFD, 0xFE, 0xFF, 0}}, /* l cap CB */
- {{0xB7, 0xC0, 0xC1, 0xBA, 0}, {0xB7, 0xC2, 0xC3, 0xBA, 0}, {0xB7, 0xC4, 0xC5, 0xBA, 0}}, /* 2 3 4 */
- {{0xD7, 0xE0, 0xE1, 0xDA, 0}, {0xD7, 0xE2, 0xE3, 0xDA, 0}, {0xD7, 0xE4, 0xE5, 0xDA, 0}}, /* 2 3 4 */
- };
- // clang-format on
- oled_set_cursor(0, 0);
- oled_write_P(logo[0][0], false);
- oled_set_cursor(0, 3);
- oled_write_P(logo[3][0], false);
- switch (get_highest_layer(layer_state)) {
- case _HOME:
- oled_set_cursor(0, 1);
- oled_write_P(logo[1][0], false);
- oled_set_cursor(0, 2);
- oled_write_P(logo[2][0], false);
- break;
- case _FN2:
- oled_set_cursor(0, 1);
- oled_write_P(logo[4][0], false);
- oled_set_cursor(0, 2);
- oled_write_P(logo[5][0], false);
- break;
- case _FN3:
- oled_set_cursor(0, 1);
- oled_write_P(logo[4][1], false);
- oled_set_cursor(0, 2);
- oled_write_P(logo[5][1], false);
- break;
- case _FN4:
- oled_set_cursor(0, 1);
- oled_write_P(logo[4][2], false);
- oled_set_cursor(0, 2);
- oled_write_P(logo[5][2], false);
- break;
- default:
- oled_set_cursor(0, 1);
- oled_write_P(PSTR(" "), false);
- oled_set_cursor(0, 2);
- oled_write_P(PSTR(" "), false);
- }
- oled_set_cursor(8, 0);
- oled_write_P(led_state.num_lock ? logo[0][1] : PSTR(" "), false);
- oled_set_cursor(8, 1);
- oled_write_P(led_state.num_lock ? logo[1][1] : PSTR(" "), false);
- oled_set_cursor(8, 2);
- oled_write_P(led_state.caps_lock ? logo[2][1] : PSTR(" "), false);
- oled_set_cursor(8, 3);
- oled_write_P(led_state.caps_lock ? logo[3][1] : PSTR(" "), false);
-
- oled_set_cursor(16, 0);
- oled_write_P(logo[0][2], false);
- oled_set_cursor(16, 1);
- oled_write_P(logo[1][2], false);
- oled_set_cursor(16, 2);
- oled_write_P(logo[2][2], false);
- oled_set_cursor(16, 3);
- oled_write_P(logo[3][2], false);
-}
-
-bool oled_task_user(void) {
- static bool finished_timer = false;
- if (!finished_timer && (timer_elapsed(startup_timer) < 3000)) {
- render_logo();
- } else {
- if (!finished_timer) {
- oled_clear();
- finished_timer = true;
- }
- render_layer();
- }
- return false;
-}
-#endif
-
-/* Resets via on eep reset - thank you drashna! */
-void eeconfig_init_kb(void) {
- via_eeprom_set_valid(false);
- via_init();
- eeconfig_init_user();
-}
diff --git a/keyboards/0xcb/static/keymaps/via/rules.mk b/keyboards/0xcb/static/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/0xcb/static/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/0xcb/tutelpad/keymaps/via/keymap.c b/keyboards/0xcb/tutelpad/keymaps/via/keymap.c
deleted file mode 100644
index c617fce75ec4..000000000000
--- a/keyboards/0xcb/tutelpad/keymaps/via/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2022 ItsFiremanSam
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [0] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4,
- KC_5, LT(1, KC_6), LT(1, KC_7), LT(1, KC_8)
- ),
-
- [1] = LAYOUT(
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
-
- [3] = LAYOUT(
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
-};
\ No newline at end of file
diff --git a/keyboards/0xcb/tutelpad/keymaps/via/rules.mk b/keyboards/0xcb/tutelpad/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/0xcb/tutelpad/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/10bleoledhub/keymaps/default/keymap.c b/keyboards/10bleoledhub/keymaps/default/keymap.c
index baeba0102625..0f905bd79aea 100644
--- a/keyboards/10bleoledhub/keymaps/default/keymap.c
+++ b/keyboards/10bleoledhub/keymaps/default/keymap.c
@@ -27,11 +27,11 @@ along with this program. If not, see .*/
* .-------.
* |NUMLOCK|
* |-----------------------.
- * |RGB_TOG|RGB_MOD|RGB_M_K|
+ * |UG_TOGG|UG_NEXT|RGB_M_K|
* |-------|-------|-------|
- * |RGB_SAI|RGB_SAD|RGB_HUI|
+ * |UG_SATU|UG_SATD|UG_HUEU|
* |-------|-------|-------|
- * |RGB_VAI|RGB_VAD|RGB_SPI|
+ * |UG_VALU|UG_VALD|UG_SPDU|
* .-----------------------.
*/
@@ -44,9 +44,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_P1, KC_P2, KC_P3),
[1] = LAYOUT(
KC_NUM,
- RGB_TOG, RGB_MOD, RGB_M_K,
- RGB_SAI, RGB_SAD, RGB_HUI,
- RGB_VAI, RGB_VAD, RGB_SPI),
+ UG_TOGG, UG_NEXT, RGB_M_K,
+ UG_SATU, UG_SATD, UG_HUEU,
+ UG_VALU, UG_VALD, UG_SPDU),
};
static void render_logo(void) {
diff --git a/keyboards/10bleoledhub/keymaps/via/keymap.c b/keyboards/10bleoledhub/keymaps/via/keymap.c
deleted file mode 100644
index 09c53df5bd8b..000000000000
--- a/keyboards/10bleoledhub/keymaps/via/keymap.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
-Copyright 2020 haierwangwei2005
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .*/
-/* Keymap _0: (Base Layer) Default Layer
-
- * .-----.
- * |PGUP |
- * |-----------------.
- * | 7 | 8 | 9 |
- * |-----|-----|-----|
- * | 4 | 5 | 6 |
- * |-----|-----|-----|
- * | 1 | 2 | 3 |
- * .-----------------.
- */
- /* Keymap _1: (Second Layer) second Layer
-
- * .-------.
- * |NUMLOCK|
- * |-----------------------.
- * |RGB_TOG|RGB_MOD|RGB_M_K|
- * |-------|-------|-------|
- * |RGB_SAI|RGB_SAD|RGB_HUI|
- * |-------|-------|-------|
- * |RGB_VAI|RGB_VAD|RGB_SPI|
- * .-----------------------.
-*/
-
-#include QMK_KEYBOARD_H
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_PGUP,
- KC_KP_7, KC_KP_8, MO(1),
- KC_P4, KC_P5, KC_P6,
- KC_P1, KC_P2, KC_P3),
- [1] = LAYOUT(
- KC_NUM,
- RGB_TOG, RGB_MOD, RGB_M_K,
- RGB_SAI, RGB_SAD, RGB_HUI,
- RGB_VAI, RGB_VAD, RGB_SPI),
-};
-
-static void render_logo(void) {
- static const char PROGMEM qmk_logo[] = {0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94, 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0};
- oled_write_P(qmk_logo, false);
-}
-
-#ifdef OLED_ENABLE
-bool oled_task_user(void) {
- render_logo();
- return false;
-}
-#endif
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* First encoder */
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return true;
-}
-
-
-void matrix_init_user(void) { render_logo(); }
diff --git a/keyboards/10bleoledhub/keymaps/via/rules.mk b/keyboards/10bleoledhub/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/10bleoledhub/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/1k/config.h b/keyboards/1k/config.h
index 0d0cd3712a76..fcd7fe6f94ba 100644
--- a/keyboards/1k/config.h
+++ b/keyboards/1k/config.h
@@ -32,3 +32,5 @@
#define USB_INTR_ENABLE_BIT PCIE
#define USB_INTR_PENDING_BIT PCIF
#define USB_INTR_VECTOR SIG_PIN_CHANGE
+
+#define WS2812_LED_COUNT 1
diff --git a/keyboards/1k/keymaps/default/keymap.c b/keyboards/1k/keymaps/default/keymap.c
index 3261a9f922ce..11c5db9dd60c 100644
--- a/keyboards/1k/keymaps/default/keymap.c
+++ b/keyboards/1k/keymaps/default/keymap.c
@@ -6,13 +6,13 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_1x1(
- RGB_HUI
+ UG_HUEU
)
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
switch (keycode) {
- case RGB_HUI:
+ case QK_UNDERGLOW_HUE_UP:
rgblite_increase_hue();
break;
}
diff --git a/keyboards/1k/keymaps/default/rgblite.h b/keyboards/1k/keymaps/default/rgblite.h
index 2e0b898699c5..217ab37956b2 100644
--- a/keyboards/1k/keymaps/default/rgblite.h
+++ b/keyboards/1k/keymaps/default/rgblite.h
@@ -10,15 +10,15 @@ static inline void rgblite_init(void) {
ws2812_init();
}
-static inline void rgblite_setrgb(RGB rgb) {
- rgb_led_t leds[RGBLIGHT_LED_COUNT] = {{.r = rgb.r, .g = rgb.g, .b = rgb.b}};
- ws2812_setleds(leds, RGBLIGHT_LED_COUNT);
+static inline void rgblite_setrgb(rgb_t rgb) {
+ ws2812_set_color_all(rgb.r, rgb.g, rgb.b);
+ ws2812_flush();
}
static void rgblite_increase_hue(void) {
static uint8_t state = 0;
- HSV hsv = { 255, 255, 255 };
+ hsv_t hsv = { 255, 255, 255 };
hsv.h = state;
state = (state + 8) % 256;
diff --git a/keyboards/1upkeyboards/1up60hse/keymaps/default/keymap.c b/keyboards/1upkeyboards/1up60hse/keymaps/default/keymap.c
index c5db49007dd8..0dfc8fab4e87 100644
--- a/keyboards/1upkeyboards/1up60hse/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/1up60hse/keymaps/default/keymap.c
@@ -75,8 +75,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[2] = LAYOUT_60_ansi(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
BL_TOGG, BL_UP, BL_DOWN,BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS,
+ UG_TOGG, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, UG_SPDU, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_PREV, UG_HUED, UG_SATD, UG_VALD, UG_SPDD, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};
diff --git a/keyboards/1upkeyboards/1up60hse/keymaps/via/keymap.c b/keyboards/1upkeyboards/1up60hse/keymaps/via/keymap.c
deleted file mode 100644
index 001319637bd3..000000000000
--- a/keyboards/1upkeyboards/1up60hse/keymaps/via/keymap.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright 2018 MechMerlin
- * Copyright 2018 Logan Huskins
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Qwerty
- * ,-----------------------------------------------------------------------------------------.
- * | Esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | Backspace |
- * |-----------------------------------------------------------------------------------------+
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | \ |
- * |-----------------------------------------------------------------------------------------+
- * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- * |-----------------------------------------------------------------------------------------+
- * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift |
- * |-----------------------------------------------------------------------------------------+
- * | Ctrl | GUI | Alt | Space | Alt | GUI | L1 | Ctrl |
- * `-----------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT_60_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
- ),
-
- /* Function
- * ,-----------------------------------------------------------------------------------------.
- * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | Del |
- * |-----------------------------------------------------------------------------------------+
- * | | | Up | | | | | | | |PrtSc|ScrLk|Pause| |
- * |-----------------------------------------------------------------------------------------+
- * | |Left |Down |Right| | | | | | Ins |Home |PgUp | |
- * |-----------------------------------------------------------------------------------------+
- * | |VolUp|VolDn|VolMu| | | | | | End |PgDn | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | | | L2 | | |
- * `-----------------------------------------------------------------------------------------'
- */
- [1] = LAYOUT_60_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
- KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS
- ),
-
- /* RGB
- * ,-----------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | Reset |
- * |-----------------------------------------------------------------------------------------+
- * | BL Tog |BLInc|BLDec|BLStp| | | | | | | | | | |
- * |-----------------------------------------------------------------------------------------+
- * | RGB Tog |Mode |Hue I|Sat I|Val I|Spd I|Plain|Breat|Rnbow|Swirl| | | |
- * |-----------------------------------------------------------------------------------------+
- * | |RMode|Hue D|Sat D|Val D|Spd D|Snake|Knigh|Xmas |Gradi| | |
- * |-----------------------------------------------------------------------------------------+
- * | | | | | | | | |
- * `-----------------------------------------------------------------------------------------'
- */
- [2] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
- BL_TOGG, BL_UP, BL_DOWN,BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN, RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
diff --git a/keyboards/1upkeyboards/1up60hse/keymaps/via/rules.mk b/keyboards/1upkeyboards/1up60hse/keymaps/via/rules.mk
deleted file mode 100644
index 44a2bc49cc51..000000000000
--- a/keyboards/1upkeyboards/1up60hse/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
-CONSOLE_ENABLE = no
diff --git a/keyboards/1upkeyboards/1up60hte/keyboard.json b/keyboards/1upkeyboards/1up60hte/keyboard.json
index 53e91017ddc8..7f8a660d80f4 100644
--- a/keyboards/1upkeyboards/1up60hte/keyboard.json
+++ b/keyboards/1upkeyboards/1up60hte/keyboard.json
@@ -62,11 +62,15 @@
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layout_aliases": {
- "LAYOUT_tsangan": "LAYOUT_60_tsangan_hhkb"
+ "LAYOUT_tsangan": "LAYOUT_60_ansi_tsangan_split_bs_rshift",
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
},
- "community_layouts": ["60_hhkb", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_hhkb",
+ "60_ansi_tsangan_split_bs_rshift"
+ ],
"layouts": {
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c
index 9d46809b2b37..bc21fb2c4ae8 100644
--- a/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/1up60hte/keymaps/default/keymap.c
@@ -17,7 +17,7 @@ along with this program. If not, see .
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_60_tsangan_hhkb(
+ [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
@@ -25,11 +25,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL
),
- [1] = LAYOUT_60_tsangan_hhkb(
+ [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
KC_CAPS, BL_TOGG, BL_DOWN, BL_UP, BL_STEP, _______, _______, _______, _______, KC_SCRL, KC_PAUS, KC_UP, _______, KC_CLR,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, UG_VALD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
+ _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c
index b1b5d06f5a51..7ffbec6813be 100644
--- a/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c
+++ b/keyboards/1upkeyboards/1up60hte/keymaps/hhkb/keymap.c
@@ -28,8 +28,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_hhkb(
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
KC_CAPS, BL_TOGG, BL_DOWN, BL_UP, BL_STEP, _______, _______, _______, _______, KC_SCRL, KC_PAUS, KC_UP, _______, KC_CLR,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, UG_VALD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
+ _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______
)
};
diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/via/keymap.c b/keyboards/1upkeyboards/1up60hte/keymaps/via/keymap.c
deleted file mode 100644
index 7f9a3d26c7db..000000000000
--- a/keyboards/1upkeyboards/1up60hte/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright 2020 MechMerlin
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_60_tsangan_hhkb(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL
- ),
-
- [1] = LAYOUT_60_tsangan_hhkb(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, BL_TOGG, BL_DOWN, BL_UP, BL_STEP, _______, _______, _______, _______, KC_SCRL, KC_PAUS, KC_UP, _______, KC_CLR,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, KC_MPRV, KC_MNXT, RGB_VAD, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-
- [2] = LAYOUT_60_tsangan_hhkb(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT_60_tsangan_hhkb(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/1upkeyboards/1up60hte/keymaps/via/rules.mk b/keyboards/1upkeyboards/1up60hte/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/1upkeyboards/1up60hte/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c
index a634d913b2cc..689d699265f8 100644
--- a/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c
+++ b/keyboards/1upkeyboards/1up60rgb/keymaps/tsangan/keymap.c
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
KC_TRNS, BL_TOGG, BL_DOWN,BL_UP, BL_STEP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_UP, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_RGHT, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/via/keymap.c b/keyboards/1upkeyboards/1up60rgb/keymaps/via/keymap.c
deleted file mode 100644
index 28fb50f57470..000000000000
--- a/keyboards/1upkeyboards/1up60rgb/keymaps/via/keymap.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_ENT,
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
-
- [1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
-
diff --git a/keyboards/1upkeyboards/1up60rgb/keymaps/via/rules.mk b/keyboards/1upkeyboards/1up60rgb/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/1upkeyboards/1up60rgb/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/1upkeyboards/1upocarina/keymaps/default/keymap.c b/keyboards/1upkeyboards/1upocarina/keymaps/default/keymap.c
index 86e3f440feee..ff93f51ee4f9 100644
--- a/keyboards/1upkeyboards/1upocarina/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/1upocarina/keymaps/default/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_1x5(
- RGB_TOG, RGB_MOD, KC_TRNS, RGB_VAD, RGB_VAI
+ RM_TOGG, RM_NEXT, KC_TRNS, RM_VALD, RM_VALU
)
};
diff --git a/keyboards/1upkeyboards/1upocarina/keymaps/via/keymap.c b/keyboards/1upkeyboards/1upocarina/keymaps/via/keymap.c
deleted file mode 100644
index 86e3f440feee..000000000000
--- a/keyboards/1upkeyboards/1upocarina/keymaps/via/keymap.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2023 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_1x5(
- KC_Z, KC_X, LT(1, KC_ESC), KC_C, KC_V
- ),
-
- [1] = LAYOUT_1x5(
- RGB_TOG, RGB_MOD, KC_TRNS, RGB_VAD, RGB_VAI
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
- [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS)}
-};
-#endif
diff --git a/keyboards/1upkeyboards/1upocarina/keymaps/via/rules.mk b/keyboards/1upkeyboards/1upocarina/keymaps/via/rules.mk
deleted file mode 100644
index bf70b1f3e09f..000000000000
--- a/keyboards/1upkeyboards/1upocarina/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
-ENCODER_MAP_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/1upkeyboards/1upslider8/1upslider8.c b/keyboards/1upkeyboards/1upslider8/1upslider8.c
index e6d6698ee9b7..2d69c64c0ad3 100644
--- a/keyboards/1upkeyboards/1upslider8/1upslider8.c
+++ b/keyboards/1upkeyboards/1upslider8/1upslider8.c
@@ -33,7 +33,6 @@ void slider(void) {
void housekeeping_task_kb(void) {
slider();
- housekeeping_task_user();
}
static uint32_t oled_logo_timer = 0;
diff --git a/keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c b/keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c
index 9e39f9d3e381..2f0ac1976e91 100644
--- a/keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/1upslider8/keymaps/default/keymap.c
@@ -18,7 +18,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
- RGB_TOG,
+ RM_TOGG,
KC_1, KC_2, KC_3, KC_4,
KC_5, KC_6, KC_7, KC_8
)
@@ -26,6 +26,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)}
+ [0] = { ENCODER_CCW_CW(RM_PREV, RM_NEXT)}
};
#endif
diff --git a/keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c b/keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c
deleted file mode 100644
index 4178e7de58db..000000000000
--- a/keyboards/1upkeyboards/1upslider8/keymaps/via/keymap.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2023 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- RGB_TOG,
- KC_1, KC_2, KC_3, KC_4,
- KC_5, KC_6, KC_7, KC_8
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD)}
-};
-#endif
diff --git a/keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk b/keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk
deleted file mode 100644
index 15a5eaf11a11..000000000000
--- a/keyboards/1upkeyboards/1upslider8/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-
-ENCODER_MAP_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c b/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c
index e7be96bd8132..79c99fd7db43 100644
--- a/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/1upsuper16v3/keymaps/default/keymap.c
@@ -24,9 +24,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
MO(1), KC_P0, KC_PDOT, KC_PENT
),
[1] = LAYOUT_ortho_4x4(
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
- RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
+ RM_TOGG, RM_HUEU, RM_SATU, RM_VALU,
+ RM_NEXT, RM_HUED, RM_SATD, RM_VALD,
+ RM_SPDD, RM_SPDU, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
)
};
diff --git a/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c b/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c
deleted file mode 100644
index e7be96bd8132..000000000000
--- a/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2023 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_4x4(
- KC_P7, KC_P8, KC_P9, KC_PMNS,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3, KC_PSLS,
- MO(1), KC_P0, KC_PDOT, KC_PENT
- ),
- [1] = LAYOUT_ortho_4x4(
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
- RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
-};
-#endif
diff --git a/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/rules.mk b/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/rules.mk
deleted file mode 100644
index bf70b1f3e09f..000000000000
--- a/keyboards/1upkeyboards/1upsuper16v3/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
-ENCODER_MAP_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi40/keymaps/default/keymap.c b/keyboards/1upkeyboards/pi40/keymaps/default/keymap.c
index bc0d37eca055..72445452bc1c 100644
--- a/keyboards/1upkeyboards/pi40/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/pi40/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ONE] = LAYOUT_ortho_4x12 (
- RGB_TOG,
+ RM_TOGG,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
@@ -107,7 +107,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_FOUR] = LAYOUT_ortho_4x12 (
KC_MUTE,
- _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
+ _______, QK_BOOT, _______, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, KC_DEL ,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
@@ -116,7 +116,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+ [_ONE] = { ENCODER_CCW_CW(RM_PREV, RM_NEXT) },
[_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
diff --git a/keyboards/1upkeyboards/pi40/keymaps/via/keymap.c b/keyboards/1upkeyboards/pi40/keymaps/via/keymap.c
deleted file mode 100644
index e8a14d493f16..000000000000
--- a/keyboards/1upkeyboards/pi40/keymaps/via/keymap.c
+++ /dev/null
@@ -1,268 +0,0 @@
-/* Copyright 2022 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _ONE = 0,
- _TWO,
- _THREE,
- _FOUR,
- _FIVE,
- _SIX,
- _SEVEN,
- _EIGHT,
- _NINE,
- _TEN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ╱⎺⎺⎺⎺╲
- * |RGBTOG|
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
- [_ONE] = LAYOUT_ortho_4x12 (
- RGB_TOG,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* Lower
- * ╱⎺⎺⎺⎺╲
- * | MUTE |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
- [_TWO] = LAYOUT_ortho_4x12 (
- KC_MUTE,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- /* Raise
- * ╱⎺⎺⎺⎺╲
- * | MUTE |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / |Pg Up |Pg Dn | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | Mute | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
- [_THREE] = LAYOUT_ortho_4x12 (
- KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- /* Adjust (Lower + Raise)
- * ╱⎺⎺⎺⎺╲
- * | MUTE |
- * v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | Reset|Debug | RGB |RGBMOD| HUE+ | HUE- | SAT+ | SAT- |BRGTH+|BRGTH-| Del |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | Mute | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_FOUR] = LAYOUT_ortho_4x12 (
- KC_MUTE,
- _______, QK_BOOT, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_DEL ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_FIVE] = LAYOUT_ortho_4x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_SIX] = LAYOUT_ortho_4x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_SEVEN] = LAYOUT_ortho_4x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_EIGHT] = LAYOUT_ortho_4x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_NINE] = LAYOUT_ortho_4x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_TEN] = LAYOUT_ortho_4x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
- [_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_FIVE] = { ENCODER_CCW_CW(_______, _______) },
- [_SIX] = { ENCODER_CCW_CW(_______, _______) },
- [_SEVEN] = { ENCODER_CCW_CW(_______, _______) },
- [_EIGHT] = { ENCODER_CCW_CW(_______, _______) },
- [_NINE] = { ENCODER_CCW_CW(_______, _______) },
- [_TEN] = { ENCODER_CCW_CW(_______, _______) },
-};
-#endif
diff --git a/keyboards/1upkeyboards/pi40/keymaps/via/rules.mk b/keyboards/1upkeyboards/pi40/keymaps/via/rules.mk
deleted file mode 100644
index bf70b1f3e09f..000000000000
--- a/keyboards/1upkeyboards/pi40/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
-ENCODER_MAP_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi50/keymaps/default/keymap.c b/keyboards/1upkeyboards/pi50/keymaps/default/keymap.c
index bd66c00bff8e..40b3c520e0ba 100644
--- a/keyboards/1upkeyboards/pi50/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/pi50/keymaps/default/keymap.c
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_ONE] = LAYOUT_ortho_5x12 (
- RGB_TOG,
+ RM_TOGG,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
@@ -128,7 +128,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
+ [_ONE] = { ENCODER_CCW_CW(RM_PREV, RM_NEXT) },
[_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
[_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) }
diff --git a/keyboards/1upkeyboards/pi50/keymaps/via/keymap.c b/keyboards/1upkeyboards/pi50/keymaps/via/keymap.c
deleted file mode 100644
index b800a9a68b82..000000000000
--- a/keyboards/1upkeyboards/pi50/keymaps/via/keymap.c
+++ /dev/null
@@ -1,286 +0,0 @@
-/* Copyright 2023 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _ONE = 0,
- _TWO,
- _THREE,
- _FOUR,
- _FIVE,
- _SIX,
- _SEVEN,
- _EIGHT,
- _NINE,
- _TEN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Qwerty
- * ╱⎺⎺⎺⎺╲
- * |RGBTOG|
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * |Adjust| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
- [_ONE] = LAYOUT_ortho_5x12 (
- RGB_TOG,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- MO(3), KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* Lower
- * ╱⎺⎺⎺⎺╲
- * | MUTE |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | Home | End | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
- [_TWO] = LAYOUT_ortho_5x12 (
- KC_MUTE,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- /* Raise
- * ╱⎺⎺⎺⎺╲
- * | MUTE |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | Pg Up| Pg Dn| |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
- [_THREE] = LAYOUT_ortho_5x12 (
- KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- /* Adjust (Lower + Raise)
- * ╱⎺⎺⎺⎺╲
- * | MUTE |
- * v-----------------------RGB CONTROL------------------v ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | Reset| Debug| | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | |Aud cy|Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_FOUR] = LAYOUT_ortho_5x12 (
- KC_MUTE,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, _______, MU_NEXT, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______, _______,
- _______, AU_PREV, AU_NEXT, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_FIVE] = LAYOUT_ortho_5x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_SIX] = LAYOUT_ortho_5x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_SEVEN] = LAYOUT_ortho_5x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_EIGHT] = LAYOUT_ortho_5x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_NINE] = LAYOUT_ortho_5x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Placeholder
- * ╱⎺⎺⎺⎺╲
- * | |
- * ╲⎽⎽⎽⎽╱
- * ,-----------------------------------------------------------------------------------.
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_TEN] = LAYOUT_ortho_5x12 (
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_ONE] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
- [_TWO] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_THREE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_FOUR] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_FIVE] = { ENCODER_CCW_CW(_______, _______) },
- [_SIX] = { ENCODER_CCW_CW(_______, _______) },
- [_SEVEN] = { ENCODER_CCW_CW(_______, _______) },
- [_EIGHT] = { ENCODER_CCW_CW(_______, _______) },
- [_NINE] = { ENCODER_CCW_CW(_______, _______) },
- [_TEN] = { ENCODER_CCW_CW(_______, _______) },
-};
-#endif
diff --git a/keyboards/1upkeyboards/pi50/keymaps/via/rules.mk b/keyboards/1upkeyboards/pi50/keymaps/via/rules.mk
deleted file mode 100644
index bf70b1f3e09f..000000000000
--- a/keyboards/1upkeyboards/pi50/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
-ENCODER_MAP_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi60/keyboard.json b/keyboards/1upkeyboards/pi60/keyboard.json
index 45c3876a6b6c..ca3007ee76d0 100644
--- a/keyboards/1upkeyboards/pi60/keyboard.json
+++ b/keyboards/1upkeyboards/pi60/keyboard.json
@@ -104,15 +104,20 @@
},
"community_layouts": [
"60_ansi",
+ "60_ansi_arrow",
"60_ansi_split_bs_rshift",
"60_ansi_tsangan",
- "60_tsangan_hhkb",
+ "60_ansi_tsangan_split_bs_rshift",
"60_hhkb",
- "60_ansi_arrow",
"60_iso",
+ "60_iso_arrow",
"60_iso_split_bs_rshift",
- "60_iso_tsangan"
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift"
],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -394,7 +399,7 @@
{"label": "RCtrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c b/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c
index 8a83e83b5297..5d1c82a0233f 100644
--- a/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/pi60/keymaps/default/keymap.c
@@ -37,8 +37,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[2] = LAYOUT_all(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS,
+ RM_TOGG, RM_NEXT, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, RM_PREV, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
diff --git a/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c b/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c
deleted file mode 100644
index e9af7a7138b0..000000000000
--- a/keyboards/1upkeyboards/pi60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,115 +0,0 @@
-/* Copyright 2022 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS, KC_ENT,
- KC_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_TRNS, KC_APP, KC_RCTL
- ),
-
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [4] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [5] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [6] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [7] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [8] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [9] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [4] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [5] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [6] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [7] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [8] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [9] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
-};
-#endif
diff --git a/keyboards/1upkeyboards/pi60/keymaps/via/rules.mk b/keyboards/1upkeyboards/pi60/keymaps/via/rules.mk
deleted file mode 100644
index aaf0497be139..000000000000
--- a/keyboards/1upkeyboards/pi60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/1upkeyboards/pi60_hse/keymaps/default/keymap.c b/keyboards/1upkeyboards/pi60_hse/keymaps/default/keymap.c
index 22e1a4c0d99e..ddb7f98869ff 100644
--- a/keyboards/1upkeyboards/pi60_hse/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/pi60_hse/keymaps/default/keymap.c
@@ -37,8 +37,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[2] = LAYOUT_60_ansi_split_bs_rshift(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS,
+ RM_TOGG, RM_NEXT, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RM_PREV, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/1upkeyboards/pi60_hse/keymaps/via/keymap.c b/keyboards/1upkeyboards/pi60_hse/keymaps/via/keymap.c
deleted file mode 100644
index 781ef455c384..000000000000
--- a/keyboards/1upkeyboards/pi60_hse/keymaps/via/keymap.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright 2022 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_60_ansi_split_bs_rshift(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
- ),
-
- [1] = LAYOUT_60_ansi_split_bs_rshift(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
- KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_60_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_60_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [4] = LAYOUT_60_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [5] = LAYOUT_60_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [6] = LAYOUT_60_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [7] = LAYOUT_60_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [8] = LAYOUT_60_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [9] = LAYOUT_60_ansi_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/1upkeyboards/pi60_hse/keymaps/via/rules.mk b/keyboards/1upkeyboards/pi60_hse/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/1upkeyboards/pi60_hse/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/1upkeyboards/pi60_rgb/keymaps/via/keymap.c b/keyboards/1upkeyboards/pi60_rgb/keymaps/via/keymap.c
deleted file mode 100644
index f158a50d8be8..000000000000
--- a/keyboards/1upkeyboards/pi60_rgb/keymaps/via/keymap.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright 2022 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_60_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
- ),
-
- [1] = LAYOUT_60_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
- KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [4] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [5] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [6] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [7] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [8] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [9] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/1upkeyboards/pi60_rgb/keymaps/via/rules.mk b/keyboards/1upkeyboards/pi60_rgb/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/1upkeyboards/pi60_rgb/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/1upkeyboards/pi60_rgb_v2/keymaps/via/keymap.c b/keyboards/1upkeyboards/pi60_rgb_v2/keymaps/via/keymap.c
deleted file mode 100644
index 5ed2ca48cdeb..000000000000
--- a/keyboards/1upkeyboards/pi60_rgb_v2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2022 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_60_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
- ),
-
- [1] = LAYOUT_60_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
- KC_TRNS, KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(2), KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, RGB_M_SW,KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_RMOD,RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_M_SN,RGB_M_K, RGB_M_X, RGB_M_G, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/1upkeyboards/pi60_rgb_v2/keymaps/via/rules.mk b/keyboards/1upkeyboards/pi60_rgb_v2/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/1upkeyboards/pi60_rgb_v2/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/1upkeyboards/super16/keymaps/default/keymap.c b/keyboards/1upkeyboards/super16/keymaps/default/keymap.c
index 4414a658c5d8..640687c79082 100644
--- a/keyboards/1upkeyboards/super16/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/super16/keymaps/default/keymap.c
@@ -17,9 +17,9 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_ortho_4x4( /* Base */
- RGB_TOG, KC_1, KC_U, KC_P,
- RGB_MOD, KC_1, KC_U, KC_P,
- RGB_TOG, KC_1, KC_U, KC_P,
- RGB_MOD, KC_1, KC_U, KC_P
+ RM_TOGG, KC_1, KC_U, KC_P,
+ RM_NEXT, KC_1, KC_U, KC_P,
+ RM_TOGG, KC_1, KC_U, KC_P,
+ RM_NEXT, KC_1, KC_U, KC_P
),
};
diff --git a/keyboards/1upkeyboards/super16/keymaps/via/keymap.c b/keyboards/1upkeyboards/super16/keymaps/via/keymap.c
deleted file mode 100644
index 3557a5ddb0c3..000000000000
--- a/keyboards/1upkeyboards/super16/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_4x4(
- KC_7, KC_8, KC_9, KC_ASTR,
- KC_4, KC_5, KC_6, KC_SLSH,
- KC_1, KC_2, KC_3, KC_MINS,
- KC_0, KC_ENT, KC_DOT, MO(1)
- ),
-
- [1] = LAYOUT_ortho_4x4(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
-
-
-
-
diff --git a/keyboards/1upkeyboards/super16/keymaps/via/rules.mk b/keyboards/1upkeyboards/super16/keymaps/via/rules.mk
deleted file mode 100644
index 7fe9493aff80..000000000000
--- a/keyboards/1upkeyboards/super16/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-RGB_MATRIX_ENABLE = no
-RGBLIGHT_ENABLE = yes
diff --git a/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c b/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c
index ba6d6c4d7194..ac30909566d4 100644
--- a/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/super16v2/keymaps/default/keymap.c
@@ -25,9 +25,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_ortho_4x4( /* Fn Layer */
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
- RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
+ RM_TOGG, RM_HUEU, RM_SATU, RM_VALU,
+ RM_NEXT, RM_HUED, RM_SATD, RM_VALD,
+ RM_SPDD, RM_SPDU, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
),
};
diff --git a/keyboards/1upkeyboards/super16v2/keymaps/via/keymap.c b/keyboards/1upkeyboards/super16v2/keymaps/via/keymap.c
deleted file mode 100644
index 0475107aed4d..000000000000
--- a/keyboards/1upkeyboards/super16v2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2022 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_4x4( /* Base */
- KC_P7, KC_P8, KC_P9, KC_PMNS,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3, KC_PSLS,
- MO(1), KC_P0, KC_PDOT, KC_PENT
- ),
-
- [1] = LAYOUT_ortho_4x4( /* Fn Layer */
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
- ),
-
- [2] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
-
diff --git a/keyboards/1upkeyboards/super16v2/keymaps/via/rules.mk b/keyboards/1upkeyboards/super16v2/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/1upkeyboards/super16v2/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/1upkeyboards/sweet16/keymaps/via/keymap.c b/keyboards/1upkeyboards/sweet16/keymaps/via/keymap.c
deleted file mode 100644
index 3557a5ddb0c3..000000000000
--- a/keyboards/1upkeyboards/sweet16/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_4x4(
- KC_7, KC_8, KC_9, KC_ASTR,
- KC_4, KC_5, KC_6, KC_SLSH,
- KC_1, KC_2, KC_3, KC_MINS,
- KC_0, KC_ENT, KC_DOT, MO(1)
- ),
-
- [1] = LAYOUT_ortho_4x4(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
-
-
-
-
diff --git a/keyboards/1upkeyboards/sweet16/keymaps/via/rules.mk b/keyboards/1upkeyboards/sweet16/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/1upkeyboards/sweet16/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.c b/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.c
index 14168ee70045..6ccf21e18ff1 100644
--- a/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.c
+++ b/keyboards/1upkeyboards/sweet16v2/keymaps/default/keymap.c
@@ -25,9 +25,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_ortho_4x4(
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
- RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
+ RM_TOGG, RM_HUEU, RM_SATU, RM_VALU,
+ RM_NEXT, RM_HUED, RM_SATD, RM_VALD,
+ RM_SPDD, RM_SPDU, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
)
};
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(RM_VALD, RM_VALU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
};
#endif
\ No newline at end of file
diff --git a/keyboards/1upkeyboards/sweet16v2/keymaps/via/keymap.c b/keyboards/1upkeyboards/sweet16v2/keymaps/via/keymap.c
deleted file mode 100644
index b77ed6e25629..000000000000
--- a/keyboards/1upkeyboards/sweet16v2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Copyright 2022 ziptyze
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_4x4(
- KC_P7, KC_P8, KC_P9, KC_PMNS,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3, KC_PSLS,
- MO(1), KC_P0, KC_PDOT, KC_PENT
- ),
-
- [1] = LAYOUT_ortho_4x4(
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI,
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD,
- RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT
- ),
-
- [2] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [4] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [5] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [6] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [7] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [8] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [9] = LAYOUT_ortho_4x4(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
-
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [4] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [5] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [6] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [7] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [8] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [9] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
-};
-#endif
\ No newline at end of file
diff --git a/keyboards/1upkeyboards/sweet16v2/keymaps/via/rules.mk b/keyboards/1upkeyboards/sweet16v2/keymaps/via/rules.mk
deleted file mode 100644
index 1189f4ad1927..000000000000
--- a/keyboards/1upkeyboards/sweet16v2/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/25keys/aleth42/keymaps/default/keymap.c b/keyboards/25keys/aleth42/keymaps/default/keymap.c
index 27987555f0c6..4ad6c0d85e24 100644
--- a/keyboards/25keys/aleth42/keymaps/default/keymap.c
+++ b/keyboards/25keys/aleth42/keymaps/default/keymap.c
@@ -99,8 +99,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT(
KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, BL_TOGG, BL_STEP, BL_UP, AG_NORM, RGB_TOG, RGB_HUI, AG_SWAP, RGB_SAI, RGB_VAI, KC_F12,
- KC_CAPS, QK_BOOT, BL_BRTG, BL_DOWN, _______, RGB_MOD, RGB_HUD, _______, RGB_SAD, RGB_VAD, _______,
+ _______, BL_TOGG, BL_STEP, BL_UP, AG_NORM, UG_TOGG, UG_HUEU, AG_SWAP, UG_SATU, UG_VALU, KC_F12,
+ KC_CAPS, QK_BOOT, BL_BRTG, BL_DOWN, _______, UG_NEXT, UG_HUED, _______, UG_SATD, UG_VALD, _______,
KC_SLEP, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/25keys/aleth42/keymaps/via/config.h b/keyboards/25keys/aleth42/keymaps/via/config.h
deleted file mode 100644
index f664d664f67b..000000000000
--- a/keyboards/25keys/aleth42/keymaps/via/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2020 monksoffunk
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-// place overrides here
-// #define TAPPING_TERM 200
-#define PERMISSIVE_HOLD
-#define ENCODER_RESOLUTION 2
\ No newline at end of file
diff --git a/keyboards/25keys/aleth42/keymaps/via/keymap.c b/keyboards/25keys/aleth42/keymaps/via/keymap.c
deleted file mode 100644
index d7b8be65d63d..000000000000
--- a/keyboards/25keys/aleth42/keymaps/via/keymap.c
+++ /dev/null
@@ -1,150 +0,0 @@
-/* Copyright 2020 monksoffunk
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- LOWER,
- RAISE,
- ADJUST,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Default Layer
- * ,-----------------------------------------------------------.
- * | Esc| Q | W | E | R | T | Y | U | I | O | P | BS |
- * |-----------------------------------------------------------|
- * | Tab | A | S | D | F | G | H | J | K | L | Ent |
- * |-----------------------------------------------------------|
- * | LSft | Z | X | C | V | B | N | M | , | . |fn(/)|
- * |-----------------------------------------------------------|
- * | Esc | LAlt| LGui| spc fn0 | spc fn1 |RGui|RAlt|RCtl|
- * `-----------------------------------------------------------'
- */
- [_QWERTY] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- MT(MOD_LCTL, KC_TAB), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, LT(_ADJUST, KC_SLSH),
- MT(MOD_LCTL, KC_ESC), KC_LALT , KC_LGUI, LT(_LOWER, KC_SPC), LT(_RAISE, KC_SPC), KC_RGUI, KC_RALT, KC_RCTL
- ),
-
- /* Lower Layer
- * ,-----------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del|
- * |-----------------------------------------------------------|
- * | | | | | | | _ | + | { | } | Pipe |
- * |-----------------------------------------------------------|
- * | | | | | | | | ; | ' | Up | |
- * |-----------------------------------------------------------|
- * | | | | | |Left|Down|Right |
- * `-----------------------------------------------------------'
- */
- [_LOWER] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- _______, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, KC_SCLN, KC_QUOT, KC_UP, _______,
- _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- /* Raise Layer
- * ,-----------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del|
- * |-----------------------------------------------------------|
- * | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | Pipe |
- * |-----------------------------------------------------------|
- * | F7 | F8 | F9 | F10| F11| F12| \ | \ | | | |
- * |-----------------------------------------------------------|
- * | | | | | | | | |
- * `-----------------------------------------------------------'
- */
- [_RAISE] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Adjust Layer
- * ,-----------------------------------------------------------.
- * |Mute| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10|F11 |
- * |-----------------------------------------------------------|
- * | |BTOG |BSTP|BINC| MAC|RGBTOG|HUI|WIN|SAI|VAI| F12 |
- * |-----------------------------------------------------------|
- * | Caps |Reset|BBRE|BDEC| |RMOD|HUD | |SAD|VAD | |
- * |-----------------------------------------------------------|
- * |SLEEP| | | | | | | |
- * `-----------------------------------------------------------'
- */
- [_ADJUST] = LAYOUT(
- KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, BL_TOGG, BL_STEP, BL_UP, AG_NORM, RGB_TOG, RGB_HUI, AG_SWAP, RGB_SAI, RGB_VAI, KC_F12,
- KC_CAPS, QK_BOOT, BL_BRTG, BL_DOWN, _______, RGB_MOD, RGB_HUD, _______, RGB_SAD, RGB_VAD, _______,
- KC_SLEP, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* Left encoder */
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- if (clockwise) {
- tap_code(KC_TAB);
- } else {
- tap_code16(S(KC_TAB));
- }
- break;
- case _RAISE:
- if (clockwise) {
- // tap_code(KC_VOLU);
- if(keymap_config.swap_lalt_lgui==false){
- tap_code(KC_LNG2);
- }else {
- tap_code16(A(KC_GRV));
- }
- } else {
- if(keymap_config.swap_lalt_lgui==false){
- tap_code(KC_LNG1);
- } else {
- tap_code16(A(KC_GRV));
- }
- }
- break;
- case _ADJUST:
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
-
- } else if (index == 1) { /* Right encoder */
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return true;
-}
diff --git a/keyboards/25keys/aleth42/keymaps/via/readme.md b/keyboards/25keys/aleth42/keymaps/via/readme.md
deleted file mode 100644
index 01f2cfee34df..000000000000
--- a/keyboards/25keys/aleth42/keymaps/via/readme.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# The VIA keymap for aleth42
-
-Default Layer
-
- ,-----------------------------------------------------------.
- | Esc| Q | W | E | R | T | Y | U | I | O | P | BS |
- |-----------------------------------------------------------|
- | Tab*| A | S | D | F | G | H | J | K | L | Ent |
- |-----------------------------------------------------------|
- | LSft | Z | X | C | V | B | N | M | , | . |fn(/)|
- |-----------------------------------------------------------|
- | Esc* | LAlt| LGui| spc fn0 | spc fn1 |RGui|RAlt|RCtl|
- `-----------------------------------------------------------'
-
-Tab* would activate Left Control when held, and send Tab when tapped.
-
-Esc* would activate Left Control when held, and send Escape when tapped.
-
-Esc* is useful with a rotary encoder @ upper-left Esc location.
-
-Lower Layer = fn0
-
- ,-----------------------------------------------------------.
- | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del|
- |-----------------------------------------------------------|
- | | | | | | | _ | + | { | } | Pipe |
- |-----------------------------------------------------------|
- | | | | | | | | ; | ' | Up | |
- |-----------------------------------------------------------|
- | | | | | |Left|Down|Right |
- `-----------------------------------------------------------'
-
-Raise Layer = fn1
-
- ,-----------------------------------------------------------.
- | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del|
- |-----------------------------------------------------------|
- | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | Pipe |
- |-----------------------------------------------------------|
- | F7 | F8 | F9 | F10| F11| F12| \ | \ | | | |
- |-----------------------------------------------------------|
- | | | | | | | | |
- `-----------------------------------------------------------'
-
-Adjust Layer = fn
-
- ,-----------------------------------------------------------.
- |Mute| F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10|F11 |
- |-----------------------------------------------------------|
- | |BTOG |BSTP|BINC| MAC|RGBTOG|HUI|WIN|SAI|VAI| F12 |
- |-----------------------------------------------------------|
- | Caps |Reset|BBRE|BDEC| |RMOD|HUD | |SAD|VAD | |
- |-----------------------------------------------------------|
- |SLEEP| | | | | | | |
- `-----------------------------------------------------------'
-
diff --git a/keyboards/25keys/aleth42/keymaps/via/rules.mk b/keyboards/25keys/aleth42/keymaps/via/rules.mk
deleted file mode 100644
index 35a31dea8edc..000000000000
--- a/keyboards/25keys/aleth42/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-CONSOLE_ENABLE = no
diff --git a/keyboards/25keys/cassette42/keymaps/default/keymap.c b/keyboards/25keys/cassette42/keymaps/default/keymap.c
index 4943be9c7b3e..92892cdc52e8 100644
--- a/keyboards/25keys/cassette42/keymaps/default/keymap.c
+++ b/keyboards/25keys/cassette42/keymaps/default/keymap.c
@@ -34,10 +34,10 @@ enum layer_number {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// LAYOUT(LeftEncoder, RightEncoder, LeftSwitch, CenterLeftSwitch, CenterRightSwitch, RightSwitch)
[_AUDIO] = LAYOUT(KC_MUTE, KC_ENT, LT(_HUE, KC_MPRV), LT(_SAT, KC_MPLY), LT(_VAL, KC_MNXT), LT(_MODE, KC_SPC)),
- [_HUE] = LAYOUT(RGB_TOG, RGBRST, _______, _______, RGB_HUD, RGB_HUI),
- [_SAT] = LAYOUT(_______, _______, _______, _______, RGB_SAD, RGB_SAI),
- [_VAL] = LAYOUT(_______, _______, RGB_VAD, RGB_VAI, _______, RGB_VAI),
- [_MODE] = LAYOUT(_______, WRTROM, RGB_RMOD, RGB_MOD, RGB_MOD, _______),
+ [_HUE] = LAYOUT(UG_TOGG, RGBRST, _______, _______, UG_HUED, UG_HUEU),
+ [_SAT] = LAYOUT(_______, _______, _______, _______, UG_SATD, UG_SATU),
+ [_VAL] = LAYOUT(_______, _______, UG_VALD, UG_VALU, _______, UG_VALU),
+ [_MODE] = LAYOUT(_______, WRTROM, UG_PREV, UG_NEXT, UG_NEXT, _______),
};
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
diff --git a/keyboards/25keys/zinc/keymaps/default/keymap.c b/keyboards/25keys/zinc/keymaps/default/keymap.c
index 2b523b4cde19..4c4a6a5f3e74 100644
--- a/keyboards/25keys/zinc/keymaps/default/keymap.c
+++ b/keyboards/25keys/zinc/keymaps/default/keymap.c
@@ -23,10 +23,7 @@ enum layer_number {
};
enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- LOWER,
+ LOWER = SAFE_RANGE,
RAISE,
ADJUST,
BACKLIT,
@@ -35,12 +32,9 @@ enum custom_keycodes {
RGBRST
};
-enum macro_keycodes {
- KC_SAMPLEMACRO,
-};
-
-//Macros
-#define M_SAMPLE M(KC_SAMPLEMACRO)
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
@@ -146,8 +140,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_ADJUST] = LAYOUT_ortho_4x12(
_______, QK_BOOT, RGBRST, _______, _______, _______, _______, QWERTY, COLEMAK, DVORAK, _______, KC_INS,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SCRL, KC_PAUS,
- RGB_RMOD,RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_PGUP, _______,
+ _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SCRL, KC_PAUS,
+ UG_PREV, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, _______, _______, _______, _______, _______, KC_PGUP, _______,
_______, _______, _______, EISU, EISU, EISU, KANA, KANA, KANA, KC_HOME, KC_PGDN, KC_END
)
};
@@ -169,25 +163,6 @@ void update_tri_layer_RGB(uint8_t layer1, uint8_t layer2, uint8_t layer3) {
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
-
case LOWER:
if (record->event.pressed) {
//not sure how to have keyboard check mode and set it to a variable, so my work around
@@ -246,7 +221,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
break;
//led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
- case RGB_RMOD:
+ case QK_UNDERGLOW_MODE_PREVIOUS:
#if defined(RGBLIGHT_ENABLE)
if (record->event.pressed) {
rgblight_mode_noeeprom(RGB_current_config.mode);
@@ -257,7 +232,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
#endif
break;
- case RGB_MOD:
+ case QK_UNDERGLOW_MODE_NEXT:
#if defined(RGBLIGHT_ENABLE)
if (record->event.pressed) {
rgblight_mode_noeeprom(RGB_current_config.mode);
diff --git a/keyboards/25keys/zinc/keymaps/via/config.h b/keyboards/25keys/zinc/keymaps/via/config.h
deleted file mode 100644
index 58c108155931..000000000000
--- a/keyboards/25keys/zinc/keymaps/via/config.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2018 monksoffunk
-Copyright 2012 Jun Wako
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-
-#define RGBLIGHT_LAYERS
-
-// place overrides here
-// Selection of RGBLIGHT MODE to use.
-#if defined(LED_ANIMATIONS)
-# define RGBLIGHT_EFFECT_BREATHING
-# define RGBLIGHT_EFFECT_RAINBOW_MOOD
-# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
-# define RGBLIGHT_EFFECT_SNAKE
-# define RGBLIGHT_EFFECT_KNIGHT
-# define RGBLIGHT_EFFECT_CHRISTMAS
-# define RGBLIGHT_EFFECT_STATIC_GRADIENT
-# define RGBLIGHT_EFFECT_RGB_TEST
-# define RGBLIGHT_EFFECT_ALTERNATING
-# define RGBLIGHT_EFFECT_TWINKLE
-#endif
diff --git a/keyboards/25keys/zinc/keymaps/via/keymap.c b/keyboards/25keys/zinc/keymaps/via/keymap.c
deleted file mode 100644
index 18de3e74fbe2..000000000000
--- a/keyboards/25keys/zinc/keymaps/via/keymap.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/* Copyright 2020 monksoffunk
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-#ifdef RGBLIGHT_ENABLE
-//Following line allows macro to read current RGB settings
-
-// Light LEDs 6 to 9 and 12 to 15 red when caps lock is active. Hard to ignore!
-const rgblight_segment_t PROGMEM capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {12, 1, HSV_RED} // Light 4 LEDs, starting with LED 6
-);
-// Light LEDs 9 & 10 in cyan when keyboard layer 1 is active
-const rgblight_segment_t PROGMEM lower_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {24, 6, HSV_GOLDENROD}
-);
-// Light LEDs 11 & 12 in purple when keyboard layer 2 is active
-const rgblight_segment_t PROGMEM raise_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {54, 6, HSV_GOLDENROD}
-);
-
-// Now define the array of layers. Later layers take precedence
-const rgblight_segment_t* const PROGMEM rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- capslock_layer,
- lower_layer,
- raise_layer
-);
-
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = rgb_layers;
-}
-#endif
-
-extern uint8_t is_master;
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
- _ADJUST2
-};
-
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- KANA,
- EISU,
- ADJUST,
- RGBRST
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Qwerty
- * ,-----------------------------------------. ,-----------------------------------------.
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Esc |ADJUST| Win | Alt |LOWER |Space | | Space| RAISE| Left | Down | Up | Right|
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_QWERTY] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_ESC, MO(_ADJUST), KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* Lower
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | - | _ | + | { | } | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | Home | End | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_LOWER] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______,
- _______, _______, _______, _______, _______, _______, KC_MINS, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- /* Raise
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | | F12 | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_RAISE] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- /* Adjust (Lower + Raise)
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | Reset|RGBRST|Aud on|Audoff| | | |Qwerty|Colemk|Dvorak| | Ins |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |MODE R| MODE | HUE- | SAT- | VAL- | | | | | | |PageUp| |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | EISU | EISU | EISU | | KANA | KANA | Home |PageDn|PageUp| End |
- * `-----------------------------------------' `-----------------------------------------'
- */
- [_ADJUST] = LAYOUT_ortho_4x12(
- _______, QK_BOOT, RGBRST, _______, _______, _______, _______, QWERTY, _______, _______, _______, KC_INS,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SCRL, KC_PAUS,
- RGB_RMOD,RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KANA, KC_HOME, KC_PGDN, KC_END
- ),
-
- [_ADJUST2] = LAYOUT_ortho_4x12(
- _______, QK_BOOT, RGBRST, _______, _______, _______, _______, QWERTY, _______, _______, _______, KC_INS,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, AG_NORM, AG_SWAP, KC_MINS, KC_EQL, KC_PSCR, KC_SCRL, KC_PAUS,
- RGB_RMOD,RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, EISU, EISU, EISU, KANA, KANA, KANA, KC_HOME, KC_PGDN, KC_END
- )
-};
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case EISU:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LNG2);
- } else {
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG2);
- }
- return false;
- case KANA:
- if (record->event.pressed) {
- if(keymap_config.swap_lalt_lgui==false){
- register_code(KC_LNG1);
- } else {
- SEND_STRING(SS_LALT("`"));
- }
- } else {
- unregister_code(KC_LNG1);
- }
- return false;
- case RGBRST:
-#ifdef RGBLIGHT_ENABLE
- if (record->event.pressed) {
- eeconfig_update_rgblight_default();
- rgblight_enable();
- }
-#endif
- break;
- }
- return true;
-}
-
-
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- state = update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST2);
-#ifdef RGBLIGHT_LAYERS
- // Both layers will light up if both kb layers are active
- rgblight_set_layer_state(1, layer_state_cmp(state, 1));
- rgblight_set_layer_state(2, layer_state_cmp(state, 2));
-#endif
- return state;
-}
-
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(0, led_state.caps_lock);
- return true;
-}
diff --git a/keyboards/25keys/zinc/keymaps/via/readme_en.md b/keyboards/25keys/zinc/keymaps/via/readme_en.md
deleted file mode 100644
index 3c73a18d88b0..000000000000
--- a/keyboards/25keys/zinc/keymaps/via/readme_en.md
+++ /dev/null
@@ -1,115 +0,0 @@
-# The VIA Zinc Layout
-## layout
-
-### Qwerty
-
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | Esc | Fn | Alt | Win |Lower |Space | | Space| Raise| Left | Down | Up | Right|
- `------------------------------------------ ------------------------------------------'
-```
-
-### Lower
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | - | _ | + | { | } | | |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | | Home | End | |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | Next | Vol- | Vol+ | Play |
- `-----------------------------------------' `-----------------------------------------'
-```
-
-### RAISE
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | F7 | F8 | F9 | F10 | F11 | | F12 | | | | |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | Next | Vol- | Vol+ | Play |
- `-----------------------------------------' `-----------------------------------------'
-```
-
-### Adjust
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | | Reset|RGBRST|Aud on|Audoff| | | |Qwerty|Colemk|Dvorak| | Ins |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- |MODE R|RGBMOD| HUE- | SAT- | VAL- | | | | | | |PageUp| |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | EISU | EISU | EISU | | KANA | KANA | KANA | Home |PageDn| End |
- `-----------------------------------------' `-----------------------------------------'
-```
-
-### Adjust2 (Lower + Raise)
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | | Reset|RGBRST|Aud on|Audoff| | | |Qwerty|Colemk|Dvorak| | Ins |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- |MODE R|RGBMOD| HUE- | SAT- | VAL- | | | | | | |PageUp| |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | EISU | EISU | EISU | | KANA | KANA | KANA | Home |PageDn| End |
- `-----------------------------------------' `-----------------------------------------'
-```
-## Compile
-
-go to qmk top directory.
-
-```
-$ cd qmk_firmware
-```
-make with `zinc:`
-
-```
-$ make zinc:default
-```
-
-To make and flash with `:flash`
-
-```
-$ make zinc:default:flash
-```
-
-
-## Customize
-
-You can customize from the command line.
-
-```
-# Zinc keyboard 'default' keymap: convenient command line option
-make ZINC= zinc:defualt
-# option= back | under | both | cont | na | ios
-# ex.
-# make ZINC=under zinc:via
-# make ZINC=under,ios zinc:via
-# make ZINC=back zinc:via
-# make ZINC=back,na zinc:via
-# make zinc:via
-```
-
-Or edit `qmk_firmware/keyboards/zinc/rev1/keymaps/~/rules.mk` directly.
-
-```
-# Zinc keyboard customize
-LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight)
-LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight)
-LED_BOTH_ENABLE = no # LED backlight and underglow
-LED_RGB_CONT = no # LED continuous backlight or/and underglow between left Zinc and right Zinc
-LED_ANIMATIONS = yes # LED animations
-IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-```
diff --git a/keyboards/25keys/zinc/keymaps/via/readme_jp.md b/keyboards/25keys/zinc/keymaps/via/readme_jp.md
deleted file mode 100644
index a929eb07dd91..000000000000
--- a/keyboards/25keys/zinc/keymaps/via/readme_jp.md
+++ /dev/null
@@ -1,149 +0,0 @@
-# The VIA Zinc Layout
-## 配列
-
-### Qwerty配列
-
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | Ctrl | A | S | D | F | G | | H | J | K | L | ; | ' |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | Shift| Z | X | C | V | B | | N | M | , | . | / |Enter |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | Esc | Fn | Alt | Win |Lower |Space | | Space| Raise| Left | Down | Up | Right|
- `------------------------------------------ ------------------------------------------'
-```
-
- ### Lower
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | - | _ | + | { | } | | |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | | Home | End | |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | Next | Vol- | Vol+ | Play |
- `-----------------------------------------' `-----------------------------------------'
-```
-
-### RAISE
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | Del |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | F1 | F2 | F3 | F4 | F5 | | F6 | - | = | [ | ] | \ |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | F7 | F8 | F9 | F10 | F11 | | F12 | | | | |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | | | | | | | Next | Vol- | Vol+ | Play |
- `-----------------------------------------' `-----------------------------------------'
-```
-
-### Adjust
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | | Reset|RGBRST|Aud on|Audoff| | | |Qwerty|Colemk|Dvorak| | Ins |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- |MODE R|RGBMOD| HUE- | SAT- | VAL- | | | | | | |PageUp| |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | EISU | EISU | EISU | | KANA | KANA | KANA | Home |PageDn| End |
- `-----------------------------------------' `-----------------------------------------'
-```
-
-### Adjust2 (Lower + Raise)
-```
- ,-----------------------------------------. ,-----------------------------------------.
- | | Reset|RGBRST|Aud on|Audoff| | | |Qwerty|Colemk|Dvorak| | Ins |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | |RGB ON| HUE+ | SAT+ | VAL+ | Mac | | Win | - | = |Print |ScLock|Pause |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- |MODE R|RGBMOD| HUE- | SAT- | VAL- | | | | | | |PageUp| |
- |------+------+------+------+------+------| |------+------+------+------+------+------|
- | | | | EISU | EISU | EISU | | KANA | KANA | KANA | Home |PageDn| End |
- `-----------------------------------------' `-----------------------------------------'
-```
-※AdjustとAdjust2は同じものが入っています。このデータの冗長化は、VIA Configuratorでの変更を容易にするために実装を単純化する必要があったためです。Adjust2はLowerとRaiseの同時押しの際に有効になるレイヤーです
-
-
-## コンパイルの仕方
-
-コンパイルは、qmk_firmware のトップディレクトリで行います。
-
-```
-$ cd qmk_firmware
-```
-qmk_firmwareでは各キーボードのコンパイルは、`<キーボード名>:<キーマップ名>`という指定で行います。
-
-```
-$ make zinc:via
-```
-
-キーボードへの書き込みまで同時に行うには下記のように`:avrdude`を付けます。
-
-```
-$ make zinc:via:avrdude
-```
-
-コンパイル結果と中間生成物を消去したい場合は以下のようにします。
-
-```
-$ make zinc:via:clean
-```
-
-## カスタマイズ
-
-コマンドラインからオプションを指定してビルドすることが出来ます。
-ただしVIAキーマップではオプションなしでbothが指定されますので、ほとんどの場合はオプション記述なしでmake zinc:viaとします。
-
-```
-# Zinc keyboard 'via' keymap: convenient command line option
-make ZINC= zinc:via
-# option= back | under | both | cont | na | ios
-# ex.
-# make ZINC=under zinc:via
-# make ZINC=under,ios zinc:via
-# make ZINC=back zinc:via
-# make ZINC=back,na zinc:via
-# make zinc:via
-```
-
-あるいは`qmk_firmware/keyboards/zinc/rev1/keymaps/~/rules.mk` の以下の部分を直接編集して機能を有効化してください。
-
-```
-# Zinc keyboard customize
-LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight)
-LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight)
-LED_BOTH_ENABLE = yes # LED backlight and underglow
-LED_RGB_CONT = yes # LED continuous backlight or/and underglow between left Zinc and right Zinc
-LED_ANIMATIONS = yes # LED animations
-IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-```
-
-## RGB backlight を有効にする
-
-rules.mk の下記の部分を編集して no を yes に変更してください。
-```
-LED_BACK_ENABLE = yes # LED backlight (Enable SK6812mini backlight)
-```
-※VIAキーマップではオプションなしでbothが指定されます
-
-## RGB Underglow を有効にする
-
-rules.mk の下記の部分を編集して no を yes に変更してください。
-```
-LED_UNDERGLOW_ENABLE = yes # LED underglow (Enable WS2812 RGB underlight.)
-```
-※VIAキーマップではオプションなしでbothが指定されます
-
-## iPad/iPhoneサポートを有効にする。
-
-rules.mk の下記の部分を編集して no を yes に変更してください。
-RBG Underglow や RGBバックライトの輝度を抑えて、iPad, iPhone にも接続できるようになります。
-
-```
-IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-```
diff --git a/keyboards/25keys/zinc/keymaps/via/rules.mk b/keyboards/25keys/zinc/keymaps/via/rules.mk
deleted file mode 100644
index dfd1d5bfeb98..000000000000
--- a/keyboards/25keys/zinc/keymaps/via/rules.mk
+++ /dev/null
@@ -1,111 +0,0 @@
-VIA_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-
-define ZINC_CUSTOMISE_MSG
- $(info Zinc customize)
- $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
- $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
- $(info - LED_BOTH_ENABLE=$(LED_BOTH_ENABLE))
- $(info - LED_RGB_CONT=$(LED_RGB_CONT))
- $(info - RGB_MATRIX=$(RGB_MATRIX))
- $(info - LED_ANIMATION=$(LED_ANIMATIONS))
- $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
-endef
-
-# Zinc keyboard customize
-LED_BACK_ENABLE = no # LED backlight (Enable SK6812mini backlight)
-LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight)
-LED_BOTH_ENABLE = yes # LED backlight and underglow
-LED_RGB_CONT = yes # LED continuous backlight or/and underglow between left Zinc and right Zinc
-RGB_MATRIX = no # RGB LED Matrix
-RGB_MATRIX_SPLIT_RIGHT = no # RGB Matrix for RIGHT Hand
-LED_ANIMATIONS = yes # LED animations
-IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
-LTO_ENABLE = no # if firmware size over limit, try this option
-
-#### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
-#### Do not enable these with audio at the same time.
-
-### Zinc keyboard 'default' keymap: convenient command line option
-## make ZINC= zinc:defualt
-## option= back | under | both | cont | matrix | na | ios
-## ex.
-## make ZINC=under zinc:defualt
-## make ZINC=under,ios zinc:defualt
-## make ZINC=back zinc:default
-## make ZINC=back,na zinc:default
-## make ZINC=back,ios zinc:default
-
-ifneq ($(strip $(ZINC)),)
- ifeq ($(findstring back,$(ZINC)), back)
- LED_BACK_ENABLE = yes
- endif
- ifeq ($(findstring under,$(ZINC)), under)
- LED_UNDERGLOW_ENABLE = yes
- endif
- ifeq ($(findstring both,$(ZINC)), both)
- LED_BOTH_ENABLE = yes
- endif
- ifeq ($(findstring cont,$(ZINC)), cont)
- LED_RGB_CONT = yes
- endif
- ifeq ($(findstring matrix,$(ZINC)), matrix)
- RGB_MATRIX = yes
- endif
- ifeq ($(findstring right,$(ZINC)), right)
- RGB_MATRIX_SPLIT_RIGHT = yes
- endif
- ifeq ($(findstring na,$(ZINC)), na)
- LED_ANIMATIONS = no
- endif
- ifeq ($(findstring ios,$(ZINC)), ios)
- IOS_DEVICE_ENABLE = yes
- endif
- $(eval $(call ZINC_CUSTOMISE_MSG))
- $(info )
-endif
-
-ifeq ($(strip $(LED_BACK_ENABLE)), yes)
- RGBLIGHT_ENABLE = yes
- ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
- OPT_DEFS += -DRGBLED_BOTH
- $(info LED_BOTH_ENABLE option is enabled instead of LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE)
- else
- OPT_DEFS += -DRGBLED_BACK
- endif
-else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
- RGBLIGHT_ENABLE = yes
-else
- RGBLIGHT_ENABLE = no
-endif
-
-ifeq ($(strip $(LED_BOTH_ENABLE)), yes)
- RGBLIGHT_ENABLE = yes
- OPT_DEFS += -DRGBLED_BOTH
-endif
-
-ifeq ($(strip $(LED_RGB_CONT)), yes)
- OPT_DEFS += -DRGBLED_CONT
-endif
-
-ifeq ($(strip $(RGB_MATRIX)), yes)
- RGBLIGHT_ENABLE = no
- RGB_MATRIX_ENABLE = WS2812
-endif
-
-ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
- OPT_DEFS += -DIOS_DEVICE_ENABLE
-endif
-
-ifeq ($(strip $(LED_ANIMATIONS)), yes)
- OPT_DEFS += -DLED_ANIMATIONS
-endif
-
-ifeq ($(strip $(RGB_MATRIX_SPLIT_RIGHT)), yes)
- OPT_DEFS += -DRGB_MATRIX_SPLIT_RIGHT
-endif
-
-# Uncomment these for debugging
-# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
-# $(info -- OPT_DEFS=$(OPT_DEFS))
-# $(info )
diff --git a/keyboards/25keys/zinc/rev1/config.h b/keyboards/25keys/zinc/rev1/config.h
index 27755e64c6a5..8d7fd3e26b36 100644
--- a/keyboards/25keys/zinc/rev1/config.h
+++ b/keyboards/25keys/zinc/rev1/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see .
#define QUICK_TAP_TERM 0
-/* Select hand configuration */
-#define MASTER_LEFT
-//#define MASTER_RIGHT
-//#define EE_HANDS
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/25keys/zinc/rev1/keyboard.json b/keyboards/25keys/zinc/rev1/keyboard.json
index c1bead2d8ab5..fd11273c181d 100644
--- a/keyboards/25keys/zinc/rev1/keyboard.json
+++ b/keyboards/25keys/zinc/rev1/keyboard.json
@@ -22,7 +22,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"tapping": {
"term": 100
diff --git a/keyboards/25keys/zinc/reva/config.h b/keyboards/25keys/zinc/reva/config.h
index 27755e64c6a5..8d7fd3e26b36 100644
--- a/keyboards/25keys/zinc/reva/config.h
+++ b/keyboards/25keys/zinc/reva/config.h
@@ -19,11 +19,6 @@ along with this program. If not, see .
#define QUICK_TAP_TERM 0
-/* Select hand configuration */
-#define MASTER_LEFT
-//#define MASTER_RIGHT
-//#define EE_HANDS
-
/*
* Feature disable options
* These options are also useful to firmware size reduction.
diff --git a/keyboards/25keys/zinc/reva/keyboard.json b/keyboards/25keys/zinc/reva/keyboard.json
index 01d2291c4915..dedc8f22f858 100644
--- a/keyboards/25keys/zinc/reva/keyboard.json
+++ b/keyboards/25keys/zinc/reva/keyboard.json
@@ -22,7 +22,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"tapping": {
"term": 100
diff --git a/keyboards/3keyecosystem/2key2/keymaps/via/keymap.c b/keyboards/3keyecosystem/2key2/keymaps/via/keymap.c
deleted file mode 100644
index 7400a9c622e3..000000000000
--- a/keyboards/3keyecosystem/2key2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2021 John Mueller
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [_BASE] = LAYOUT(
- KC_A, KC_B
- ),
-
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS
- )
- };
diff --git a/keyboards/3keyecosystem/2key2/keymaps/via/rules.mk b/keyboards/3keyecosystem/2key2/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/3keyecosystem/2key2/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/40percentclub/25/config.h b/keyboards/40percentclub/25/config.h
deleted file mode 100644
index 1710ba42ee9b..000000000000
--- a/keyboards/40percentclub/25/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2018
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Select hand configuration */
-#define MASTER_LEFT
-//#define MASTER_RIGHT
-//#define EE_HANDS
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/40percentclub/25/keyboard.json b/keyboards/40percentclub/25/keyboard.json
index aede80ef1727..e23d0578c3fc 100644
--- a/keyboards/40percentclub/25/keyboard.json
+++ b/keyboards/40percentclub/25/keyboard.json
@@ -28,7 +28,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/40percentclub/4x4/keymaps/via/keymap.c b/keyboards/40percentclub/4x4/keymaps/via/keymap.c
deleted file mode 100644
index 6c340e3eac8f..000000000000
--- a/keyboards/40percentclub/4x4/keymaps/via/keymap.c
+++ /dev/null
@@ -1,105 +0,0 @@
- /* Copyright 2021 Milan Düwel
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- PAD,
- _QW,
- NUM,
- DIR
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Single 4x4 board only
- * .-----------------------------------.
- * | 7 | 8 | 9 | / |
- * |--------+--------+--------+--------|
- * | 4 | 5 | 6 | * |
- * |--------+--------+--------+--------|
- * | 1 | 2 | 3 | - |
- * |--------+--------+--------+--------|
- * | 0 | QWERTY | . | + |
- * '-----------------------------------'
- */
-
- [PAD] = LAYOUT_ortho_4x4(
- KC_KP_7, KC_KP_8, KC_KP_9, KC_PSLS,
- KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST,
- KC_KP_1, KC_KP_2, KC_KP_3, KC_PMNS,
- KC_KP_0, DF(_QW), KC_KP_DOT, KC_PPLS
- ),
-
-/* QWERTY
- * .-----------------------------------------------------------------------------------------------------------------------------------------------.
- * | ESC | Q | W | E | R | T | Y | U | I | O | P | BACKSP | 7 | 8 | 9 | / |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | TAB | A | S | D | F | G | H | J | K | L | ; | ' | 4 | 5 | 6 | * |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | SHIFT | Z | X | C | V | B | N | M | , | . | / | ENT/SFT| 1 | 2 | 3 | - |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | LCTRL | LGUI | ALT | ALT | NUM | SHIFT | SPACE | DIR | RGUI | RALT | DEL | CTRL | 0 | 0 | . | + |
- * '-----------------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [_QW] = LAYOUT_ortho_4x16(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_KP_7, KC_KP_8, KC_KP_9, KC_PSLS,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_KP_4, KC_KP_5, KC_KP_6, KC_PAST,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT), KC_KP_1, KC_KP_2, KC_KP_3, KC_PMNS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_LALT, MO(NUM), KC_LSFT, KC_SPC, MO(DIR), KC_RGUI, KC_RALT, KC_DEL, KC_RCTL, KC_KP_0, KC_KP_0, KC_KP_DOT, KC_PPLS
- ),
-
-/* NUMBERS
- * .-----------------------------------------------------------------------------------------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | NUMLOCK| / | * | - | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | | + | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | F11 | F12 | | | | ENTER | SHIFT | RGUI | ./ALT | BKSC | | | | ENTER | |
- * | | | | | | | | | | |CTRLhold| | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | ENTER | SHIFT | | | | | | | | |
- * '-----------------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [NUM] = LAYOUT_ortho_4x16(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, _______,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, KC_PPLS, _______,
- _______, KC_F11, KC_F12, _______, _______, _______, KC_ENT, KC_RSFT, KC_RGUI, ALT_T(KC_DOT), CTL_T(KC_BSPC), _______, _______, _______, KC_PENT, _______,
- _______, _______, _______, _______, _______, _______, KC_ENT, KC_RSFT, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/* DIRECTIONS
- * .-----------------------------------------------------------------------------------------------------------------------------------------------.
- * | QK_BOOT | TAB | up | | INS | CTRL | SHIFT | PgUp | Home | - | = | DEL | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | CAPSLK | left | down | right | PrScr | SHIFT | CTRL | PgDn | End | [ | ] | \ | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | P-Brk | | | | | | | RGUI | ALT | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | KEYPAD | | | | | | | | | | | | | | | |
- * '-----------------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [DIR] = LAYOUT_ortho_4x16(
- QK_BOOT, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_LSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL, _______, _______, _______, _______,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR, KC_LSFT, KC_LCTL, KC_PGDN, KC_END, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______, _______,
- _______, KC_PAUS, _______, _______, _______, _______, _______, _______, KC_RGUI, KC_RALT, _______, _______, _______, _______, _______, _______,
- DF(PAD), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/40percentclub/4x4/keymaps/via/rules.mk b/keyboards/40percentclub/4x4/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/40percentclub/4x4/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/40percentclub/5x5/keymaps/via/keymap.c b/keyboards/40percentclub/5x5/keymaps/via/keymap.c
deleted file mode 100644
index 95f385e13587..000000000000
--- a/keyboards/40percentclub/5x5/keymaps/via/keymap.c
+++ /dev/null
@@ -1,117 +0,0 @@
- /* Copyright 2021 Milan Düwel
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- PAD,
- _QW,
- NUM,
- DIR
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Single 5x5 board only
- * .--------------------------------------------.
- * | QWERTY | / | * | - | |
- * |--------+--------+--------+--------+--------|
- * | 7 | 8 | 9 | + | |
- * |--------+--------+--------+--------+--------|
- * | 4 | 5 | 6 | + | |
- * |--------+--------+--------+--------+--------|
- * | 1 | 2 | 3 | ENTER | |
- * |--------+--------+--------+--------+--------|
- * | 0 | 0 | . | ENTER | |
- * '--------------------------------------------'
- */
-
- [PAD] = LAYOUT_ortho_5x5(
- DF(_QW), KC_PSLS, KC_PAST, KC_PMNS, _______,
- KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS, _______,
- KC_KP_4, KC_KP_5, KC_KP_6, KC_PPLS, _______,
- KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT, _______,
- KC_KP_0, KC_KP_0, KC_KP_DOT, KC_PENT, _______
- ),
-
-/* QWERTY
- * .--------------------------------------------------------------------------------------------------------------------------------------.
- * | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | ESC | Q | W | E | R | T | Y | U | I | O | P | BACKSP | 7 | 8 | 9 |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | TAB | A | S | D | F | G | H | J | K | L | ; | ' | 4 | 5 | 6 |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | SHIFT | Z | X | C | V | B | N | M | , | . | / | ENT/SFT| 1 | 2 | 3 |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | LCTRL | LGUI | ALT | ALT | NUM | SHIFT | SPACE | DIR | RGUI | RALT | DEL | CTRL | 0 | 0 | . |
- * '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [_QW] = LAYOUT_ortho_5x15(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, _______,
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_KP_7, KC_KP_8, KC_KP_9,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_KP_4, KC_KP_5, KC_KP_6,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, SFT_T(KC_ENT), KC_KP_1, KC_KP_2, KC_KP_3,
- KC_LCTL, KC_LGUI, KC_LALT, KC_LALT, MO(NUM), KC_LSFT, KC_SPC, MO(DIR), KC_RGUI, KC_RALT, KC_DEL, KC_RCTL, KC_KP_0, KC_KP_0, KC_KP_DOT
- ),
-
-/* NUMBERS
- * .--------------------------------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | NUMLOCK| / | * | - |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | | | | + |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | F11 | F12 | | | | ENTER | SHIFT | RGUI | ./ALT | BKSC | | | | ENTER |
- * | | | | | | | | | | |CTRLhold| | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | ENTER | SHIFT | | | | | | | |
- * '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [NUM] = LAYOUT_ortho_5x15(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, _______, _______, KC_PPLS,
- _______, KC_F11, KC_F12, _______, _______, _______, KC_ENT, KC_RSFT, KC_RGUI, ALT_T(KC_DOT), CTL_T(KC_BSPC), _______, _______, _______, KC_PENT,
- _______, _______, _______, _______, _______, _______, KC_ENT, KC_RSFT, _______, _______, _______, _______, _______, _______, _______
- ),
-
-/* DIRECTIONS
- * .--------------------------------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | QK_BOOT | TAB | up | | INS | CTRL | SHIFT | PgUp | Home | - | = | DEL | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | CAPSLK | left | down | right | PrScr | SHIFT | CTRL | PgDn | End | [ | ] | \ | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | | P-Brk | | | | | | | RGUI | ALT | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | KEYPAD | | | | | | | | | | | | | | |
- * '--------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [DIR] = LAYOUT_ortho_5x15(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, KC_TAB, KC_UP, _______, KC_INS, KC_LCTL, KC_LSFT, KC_PGUP, KC_HOME, KC_MINS, KC_EQL, KC_DEL, _______, _______, _______,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PSCR, KC_LSFT, KC_LCTL, KC_PGDN, KC_END, KC_LBRC, KC_RBRC, KC_BSLS, _______, _______, _______,
- _______, KC_PAUS, _______, _______, _______, _______, _______, _______, KC_RGUI, KC_RALT, _______, _______, _______, _______, _______,
- DF(PAD), _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/40percentclub/5x5/keymaps/via/rules.mk b/keyboards/40percentclub/5x5/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/40percentclub/5x5/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/40percentclub/6lit/config.h b/keyboards/40percentclub/6lit/config.h
deleted file mode 100644
index 1710ba42ee9b..000000000000
--- a/keyboards/40percentclub/6lit/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2018
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Select hand configuration */
-#define MASTER_LEFT
-//#define MASTER_RIGHT
-//#define EE_HANDS
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/40percentclub/6lit/keyboard.json b/keyboards/40percentclub/6lit/keyboard.json
index 06ffc890d2b0..52a8914d7d75 100644
--- a/keyboards/40percentclub/6lit/keyboard.json
+++ b/keyboards/40percentclub/6lit/keyboard.json
@@ -28,7 +28,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/40percentclub/foobar/config.h b/keyboards/40percentclub/foobar/config.h
deleted file mode 100644
index 1710ba42ee9b..000000000000
--- a/keyboards/40percentclub/foobar/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2018
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-/* Select hand configuration */
-#define MASTER_LEFT
-//#define MASTER_RIGHT
-//#define EE_HANDS
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/40percentclub/foobar/keyboard.json b/keyboards/40percentclub/foobar/keyboard.json
index 0a2769e04a68..ec568b238274 100644
--- a/keyboards/40percentclub/foobar/keyboard.json
+++ b/keyboards/40percentclub/foobar/keyboard.json
@@ -28,7 +28,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/40percentclub/gherkin/keymaps/via/keymap.c b/keyboards/40percentclub/gherkin/keymaps/via/keymap.c
deleted file mode 100644
index d119e6ae913d..000000000000
--- a/keyboards/40percentclub/gherkin/keymaps/via/keymap.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright 2021 keebnewb
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_ortho_3x10(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ESC,
- KC_Z, KC_X, KC_C, KC_V, KC_BSPC, KC_SPC, KC_B, KC_N, KC_M, KC_ENT
- ),
-
- [1] = LAYOUT_ortho_3x10(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_ortho_3x10(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_ortho_3x10(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/40percentclub/gherkin/keymaps/via/rules.mk b/keyboards/40percentclub/gherkin/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/40percentclub/gherkin/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/40percentclub/half_n_half/keyboard.json b/keyboards/40percentclub/half_n_half/keyboard.json
index 3e0c646a500c..4f18d235b22f 100644
--- a/keyboards/40percentclub/half_n_half/keyboard.json
+++ b/keyboards/40percentclub/half_n_half/keyboard.json
@@ -28,7 +28,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/40percentclub/luddite/keymaps/default/keymap.c b/keyboards/40percentclub/luddite/keymaps/default/keymap.c
index 71a1c3897654..7aba5fc4dbd3 100644
--- a/keyboards/40percentclub/luddite/keymaps/default/keymap.c
+++ b/keyboards/40percentclub/luddite/keymaps/default/keymap.c
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_60_ansi(
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/40percentclub/luddite/keymaps/via/keymap.c b/keyboards/40percentclub/luddite/keymaps/via/keymap.c
deleted file mode 100644
index f8e876250a6e..000000000000
--- a/keyboards/40percentclub/luddite/keymaps/via/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_60_ansi(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- LT(1,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT,KC_UP),
- KC_LCTL, KC_LGUI, KC_LALT , KC_SPC, KC_RALT, LT(1,KC_LEFT), LT(2,KC_DOWN), MT(MOD_RCTL,KC_RGHT)
- ),
-
- [1] = LAYOUT_60_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS,
- KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_INS, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MENU, KC_TRNS
- ),
-
- [2] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_UP, BL_DOWN,KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
- KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/40percentclub/luddite/keymaps/via/rules.mk b/keyboards/40percentclub/luddite/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/40percentclub/luddite/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/40percentclub/mf68/keymaps/via/keymap.c b/keyboards/40percentclub/mf68/keymaps/via/keymap.c
deleted file mode 100644
index efd595ac18be..000000000000
--- a/keyboards/40percentclub/mf68/keymaps/via/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2020 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_68_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_68_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC, KC_VOLU, KC_HOME,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, BL_STEP, _______, KC_VOLD, KC_END,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, KC_MUTE,
- _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT
- ),
- [2] = LAYOUT_68_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_68_ansi(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/40percentclub/mf68/keymaps/via/rules.mk b/keyboards/40percentclub/mf68/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/40percentclub/mf68/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/40percentclub/nano/keymaps/default/keymap.c b/keyboards/40percentclub/nano/keymaps/default/keymap.c
index 9ce282a28a1b..b5055a30b6f6 100644
--- a/keyboards/40percentclub/nano/keymaps/default/keymap.c
+++ b/keyboards/40percentclub/nano/keymaps/default/keymap.c
@@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT(
- KC_F, _______, RGB_HUI, _______,
- RGB_TOG, RGB_MOD, RGB_HUD, _______
+ KC_F, _______, UG_HUEU, _______,
+ UG_TOGG, UG_NEXT, UG_HUED, _______
)
};
diff --git a/keyboards/40percentclub/nein/keymaps/default/keymap.c b/keyboards/40percentclub/nein/keymaps/default/keymap.c
index 3275b1b746c4..0b3563ba611c 100644
--- a/keyboards/40percentclub/nein/keymaps/default/keymap.c
+++ b/keyboards/40percentclub/nein/keymaps/default/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_ortho_3x3(
QK_BOOT, _______, KC_STOP,
- _______, _______, RGB_MOD,
+ _______, _______, _______,
KC_MPRV, _______, KC_MNXT
),
};
diff --git a/keyboards/40percentclub/nein/keymaps/via/keymap.c b/keyboards/40percentclub/nein/keymaps/via/keymap.c
deleted file mode 100644
index 463788718b6c..000000000000
--- a/keyboards/40percentclub/nein/keymaps/via/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2019
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_3x3(
- KC_MUTE, KC_HOME, KC_MPLY,
- MO(1), KC_UP, KC_END,
- KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_ortho_3x3(
- QK_BOOT, _______, KC_STOP,
- _______, _______, RGB_MOD,
- KC_MPRV, _______, KC_MNXT
- ),
- [2] = LAYOUT_ortho_3x3(
- _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______
- ),
- [3] = LAYOUT_ortho_3x3(
- _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______
- ),
-};
diff --git a/keyboards/40percentclub/nein/keymaps/via/rules.mk b/keyboards/40percentclub/nein/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/40percentclub/nein/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/40percentclub/nori/keymaps/default/keymap.c b/keyboards/40percentclub/nori/keymaps/default/keymap.c
index 03f8c1578782..1c7405f2aca6 100644
--- a/keyboards/40percentclub/nori/keymaps/default/keymap.c
+++ b/keyboards/40percentclub/nori/keymaps/default/keymap.c
@@ -13,16 +13,14 @@ enum layer_names {
_ADJUST
};
-enum custom_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
-};
-
#define LOWER MO(_LOWER)
#define RAISE MO(_RAISE)
#define ADJUST MO(_ADJUST)
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
* ,-----------------------------------------------------------------------------------.
@@ -138,24 +136,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
layer_state_t layer_state_set_user(layer_state_t state) {
return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST);
}
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- }
- return true;
-}
diff --git a/keyboards/40percentclub/sixpack/keymaps/via/keymap.c b/keyboards/40percentclub/sixpack/keymaps/via/keymap.c
deleted file mode 100644
index e2eaaa1d0a45..000000000000
--- a/keyboards/40percentclub/sixpack/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2020
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Default 2x3 layout with 6 Layers
- * .--------------------------.
- * | MUTE | UP | PLAY |
- * |--------+--------+--------+
- * | LEFT | DOWN | RIGHT |
- * '--------------------------'
- */
-
- [0] = LAYOUT_ortho_2x3(KC_MUTE, KC_UP , KC_MPLY,
- KC_LEFT, KC_DOWN, KC_RGHT),
- [1] = LAYOUT_ortho_2x3(KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
- [2] = LAYOUT_ortho_2x3(KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
- [3] = LAYOUT_ortho_2x3(KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS),
-
-};
diff --git a/keyboards/40percentclub/sixpack/keymaps/via/rules.mk b/keyboards/40percentclub/sixpack/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/40percentclub/sixpack/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/40percentclub/tomato/keymaps/default/keymap.c b/keyboards/40percentclub/tomato/keymaps/default/keymap.c
index 728dc25a9a5c..528f995a7eef 100644
--- a/keyboards/40percentclub/tomato/keymaps/default/keymap.c
+++ b/keyboards/40percentclub/tomato/keymaps/default/keymap.c
@@ -86,14 +86,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* ,-------------------------------------------------------------------------------.
* | Calc | Web | Mail |Explore| | | | | | |
* |-------------------------------------------------------------------------------|
- * |RGB_TOG|RGB_MOD|RGB_HUI|RGB_HUD|xxxxxxx|xxxxxxx|RGB_SAI|RGB_SAD|RGB_VAI|RGB_VAD|
+ * |UG_TOGG|UG_NEXT|UG_HUEU|UG_HUED|xxxxxxx|xxxxxxx|UG_SATU|UG_SATD|UG_VALU|UG_VALD|
* |-------------------------------------------------------------------------------|
* | | | | | Flash | | | | | |
* '-------------------------------------------------------------------------------'
*/
LAYOUT_ortho_3x10
( KC_CALC,KC_WSCH,KC_MAIL,KC_MYCM,_______,_______,_______,_______,_______,_______
- , RGB_TOG,RGB_MOD,RGB_HUI,RGB_HUD,XXXXXXX,XXXXXXX,RGB_SAI,RGB_SAD,RGB_VAI,RGB_VAD
+ , UG_TOGG,UG_NEXT,UG_HUEU,UG_HUED,XXXXXXX,XXXXXXX,UG_SATU,UG_SATD,UG_VALU,UG_VALD
, _______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______
),
};
diff --git a/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c b/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c
index 75dba3a2d42e..86ceefaafbe9 100644
--- a/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c
+++ b/keyboards/40percentclub/ut47/keymaps/rgb/keymap.c
@@ -52,7 +52,7 @@ LAYOUT(
LAYOUT( /* Tab */
KC_ESC, KC_CALC, KC_WHOM, KC_MAIL, KC_MYCM, _______, _______, _______, _______, _______, KC_PSCR, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______,
+ _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R
),
};
diff --git a/keyboards/40percentclub/ut47/ut47.c b/keyboards/40percentclub/ut47/ut47.c
index d5675e1047cd..867d8c020241 100644
--- a/keyboards/40percentclub/ut47/ut47.c
+++ b/keyboards/40percentclub/ut47/ut47.c
@@ -19,6 +19,8 @@
void matrix_init_kb(void) {
uart_init(9600);
+
+ matrix_init_user();
}
#endif
diff --git a/keyboards/45_ats/keymaps/via/keymap.c b/keyboards/45_ats/keymaps/via/keymap.c
deleted file mode 100644
index 3d4b74ab40d4..000000000000
--- a/keyboards/45_ats/keymaps/via/keymap.c
+++ /dev/null
@@ -1,108 +0,0 @@
- /*
- Copyright 2020 Alec Penland
- Copyright 2020 Garret Gartner
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Layer names
-enum ats_layers{
- // - Base layer:
- _BASE,
- // - Symbols, numbers, and functions:
- _FN,
- // - Alternate Function layer:
- _LN
-};
-
-#define RS_SLS RSFT_T(KC_SLSH)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Default QWERTY layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
- * │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │Del│BkS│ │PgU│
- * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
- * │Tab │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ' │Enter │ │PgD│
- * ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
- * │LShift│ Z │ X │ C │ V │ B │ N │ M │ , │ . │Sft/│ ┌───┐ │CAP│
- * ├────┬─┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ ↑ │ └───┘
- * │LCtl│OS │LAlt│ Fn │ Space │RAlt│ Ln │ ┌───┼───┼───┐
- * └────┴───┴────┴──────────┴────────┴────┴────┘ │ ← │ ↓ │ → │
- * └───┴───┴───┘
- */
- [_BASE] = LAYOUT_split_space(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_BSPC, KC_PGUP,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOTE, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RS_SLS, KC_UP, KC_CAPS,
- KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), KC_SPACE, KC_RALT, MO(_LN), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- /* Main Numbers, Symbols & Function Layer (MOMENTARY)
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
- * │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ [ │ ] │ \ │ │ │Hme│
- * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
- * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │ │End│
- * ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
- * │ │ ( │ ) │ ; │ . │ │ - │ + │ * │ / │ = │ ┌───┐ │ │
- * ├────┬─┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ │ └───┘
- * │ │ │ │ │ │ │ │ ┌───┼───┼───┐
- * └────┴───┴────┴──────────┴────────┴────┴────┘ │ │ │ │
- * └───┴───┴───┘
- */
- [_FN] = LAYOUT_split_space(
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LBRC, KC_RBRC, KC_BSLS, _______, KC_HOME,
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_ENTER, KC_END,
- _______, KC_LPRN, KC_RPRN, KC_SCLN, KC_DOT, _______, KC_MINS, KC_PLUS, KC_ASTR, KC_SLSH, KC_EQL, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* ALTERNATE Function layer (MOMENTARY)
- * ┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
- * │ PWR│F1 │F2 │F3 │F4 │F5 │F6 │ │ │ │ │PRV│NXT│ │VL+│
- * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
- * │ SLP │F7 │F8 │F9 │F10│F11│F12│ │ │ │ │ PLAY │ │VL-│
- * ├─────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
- * │ WAKE │ │ │ │ │ │ │ │ │ │ │ ┌───┐ │ │
- * ├────┬──┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ │ └───┘
- * │RSET│ │ │ │ │ │ │ ┌───┼───┼───┐
- * └────┴────┴────┴──────────┴────────┴────┴────┘ │ │ │ │
- * └───┴───┴───┘
- */
- [_LN] = LAYOUT_split_space(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, _______, KC_MPRV, KC_MNXT, KC_VOLU,
- KC_SLEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, KC_MPLY, KC_VOLD,
- KC_WAKE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-//function for layer indicator LED
-layer_state_t layer_state_set_user(layer_state_t state) {
- gpio_write_pin(D0, layer_state_cmp(state, 0));
- gpio_write_pin(D1, layer_state_cmp(state, 1));
- gpio_write_pin(D2, layer_state_cmp(state, 2));
- return state;
-}
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return true;
-}
diff --git a/keyboards/45_ats/keymaps/via/rules.mk b/keyboards/45_ats/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/45_ats/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/aekiso60/keymaps/via/keymap.c b/keyboards/4pplet/aekiso60/keymaps/via/keymap.c
deleted file mode 100644
index 7fda2345c350..000000000000
--- a/keyboards/4pplet/aekiso60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,34 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, _______, KC_SPC, _______, KC_RALT, KC_RGUI, KC_RCTL
- ),
- [1] = LAYOUT_all(
- KC_EXEC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, KC_BSPC, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_MUTE, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_INS, KC_PENT,
- _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_PPLS, KC_PMNS, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, KC_BRID, KC_BRIU, _______
- ),
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/4pplet/aekiso60/keymaps/via/rules.mk b/keyboards/4pplet/aekiso60/keymaps/via/rules.mk
deleted file mode 100644
index c4b503281b31..000000000000
--- a/keyboards/4pplet/aekiso60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-RGBLIGHT_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/4pplet/bootleg/keymaps/via/keymap.c b/keyboards/4pplet/bootleg/keymaps/via/keymap.c
deleted file mode 100644
index 3a817590e97b..000000000000
--- a/keyboards/4pplet/bootleg/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, MO(1)),
-// basic function layer
-[1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/bootleg/keymaps/via/rules.mk b/keyboards/4pplet/bootleg/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/bootleg/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/keyboard.json b/keyboards/4pplet/eagle_viper_rep/rev_a/keyboard.json
index 18d8ba5d8aad..59a518b9713d 100644
--- a/keyboards/4pplet/eagle_viper_rep/rev_a/keyboard.json
+++ b/keyboards/4pplet/eagle_viper_rep/rev_a/keyboard.json
@@ -64,12 +64,16 @@
"60_ansi",
"60_ansi_split_bs_rshift",
"60_ansi_tsangan",
- "60_tsangan_hhkb",
+ "60_ansi_tsangan_split_bs_rshift",
"60_hhkb",
"60_iso",
"60_iso_split_bs_rshift",
- "60_iso_tsangan"
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift"
],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -352,7 +356,7 @@
{"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "!", "matrix": [1, 0], "x": 1, "y": 0},
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/via/keymap.c b/keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/via/keymap.c
deleted file mode 100644
index d8aa29c890bd..000000000000
--- a/keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/via/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-Copyright 2021 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_NO, KC_RALT, KC_RGUI, MO(1)),
-// basic function layer
-[1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[4] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/via/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/eagle_viper_rep/rev_a/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/keyboard.json b/keyboards/4pplet/eagle_viper_rep/rev_b/keyboard.json
index e0356d5dad58..bf7d11f74ba9 100644
--- a/keyboards/4pplet/eagle_viper_rep/rev_b/keyboard.json
+++ b/keyboards/4pplet/eagle_viper_rep/rev_b/keyboard.json
@@ -64,17 +64,19 @@
"processor": "STM32F072",
"bootloader": "stm32-dfu",
"layout_aliases": {
- "LAYOUT": "LAYOUT_all"
+ "LAYOUT": "LAYOUT_all",
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
},
"community_layouts": [
"60_ansi",
"60_ansi_split_bs_rshift",
"60_ansi_tsangan",
- "60_tsangan_hhkb",
+ "60_ansi_tsangan_split_bs_rshift",
"60_hhkb",
"60_iso",
"60_iso_split_bs_rshift",
- "60_iso_tsangan"
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift"
],
"layouts": {
"LAYOUT_all": {
@@ -360,7 +362,7 @@
{"label": "Ctrl", "matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "1", "matrix": [1, 0], "x": 1, "y": 0},
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/keymap.c b/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/keymap.c
deleted file mode 100644
index a53bbe734568..000000000000
--- a/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, MO(1)),
-// basic function layer
-[1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[4] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/rules.mk b/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/eagle_viper_rep/rev_b/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/ibe60/keymaps/via/keymap.c b/keyboards/4pplet/ibe60/keymaps/via/keymap.c
deleted file mode 100644
index 710b5ce84978..000000000000
--- a/keyboards/4pplet/ibe60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT_60_hhkb(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI),
-// basic function layer
-[1] = LAYOUT_60_hhkb(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
-
diff --git a/keyboards/4pplet/ibe60/keymaps/via/rules.mk b/keyboards/4pplet/ibe60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/ibe60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/perk60_iso/keymaps/default/keymap.c b/keyboards/4pplet/perk60_iso/keymaps/default/keymap.c
index d720096ad317..6c2698b4f89b 100644
--- a/keyboards/4pplet/perk60_iso/keymaps/default/keymap.c
+++ b/keyboards/4pplet/perk60_iso/keymaps/default/keymap.c
@@ -29,6 +29,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RM_TOGG, RM_NEXT, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, RGB_M_P, RGB_M_B, RGB_M_R, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/4pplet/perk60_iso/keymaps/via/keymap.c b/keyboards/4pplet/perk60_iso/keymaps/via/keymap.c
deleted file mode 100644
index cda76050562e..000000000000
--- a/keyboards/4pplet/perk60_iso/keymaps/via/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer// main layer
-[0] = LAYOUT_60_iso(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
- // basic function layer
-[1] = LAYOUT_60_iso(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_M_P, RGB_M_B, RGB_M_R, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_60_iso(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_60_iso(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/perk60_iso/keymaps/via/rules.mk b/keyboards/4pplet/perk60_iso/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/perk60_iso/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/steezy60/keymaps/via/keymap.c b/keyboards/4pplet/steezy60/keymaps/via/keymap.c
deleted file mode 100644
index d6a1151fcfda..000000000000
--- a/keyboards/4pplet/steezy60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2023 Stefan Sundin "4pplet"
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT,
- KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, KC_RSFT, KC_NO,
- KC_LCTL, KC_LGUI, KC_NO, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_NO, KC_APP, MO(1)),
-
-[1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
-
-[2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
-
-[3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ )
-};
diff --git a/keyboards/4pplet/steezy60/keymaps/via/rules.mk b/keyboards/4pplet/steezy60/keymaps/via/rules.mk
deleted file mode 100644
index c4b503281b31..000000000000
--- a/keyboards/4pplet/steezy60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-RGBLIGHT_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/4pplet/steezy60/rev_a/keyboard.json b/keyboards/4pplet/steezy60/rev_a/keyboard.json
index ffd44642230c..bbc3d1601b8f 100644
--- a/keyboards/4pplet/steezy60/rev_a/keyboard.json
+++ b/keyboards/4pplet/steezy60/rev_a/keyboard.json
@@ -18,11 +18,11 @@
"60_ansi",
"60_ansi_split_bs_rshift",
"60_ansi_tsangan",
+ "60_ansi_tsangan_split_bs_rshift",
"60_hhkb",
"60_iso",
"60_iso_split_bs_rshift",
- "60_iso_tsangan",
- "60_tsangan_hhkb"
+ "60_iso_tsangan"
],
"diode_direction": "COL2ROW",
"matrix_pins": {
@@ -57,6 +57,9 @@
"ws2812": {
"pin": "D3"
},
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -591,7 +594,7 @@
{"label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/4pplet/steezy60/rev_b/keyboard.json b/keyboards/4pplet/steezy60/rev_b/keyboard.json
index 8ff41bd1561c..810f7f8cb95b 100644
--- a/keyboards/4pplet/steezy60/rev_b/keyboard.json
+++ b/keyboards/4pplet/steezy60/rev_b/keyboard.json
@@ -14,11 +14,11 @@
"60_ansi",
"60_ansi_split_bs_rshift",
"60_ansi_tsangan",
+ "60_ansi_tsangan_split_bs_rshift",
"60_hhkb",
"60_iso",
"60_iso_split_bs_rshift",
- "60_iso_tsangan",
- "60_tsangan_hhkb"
+ "60_iso_tsangan"
],
"diode_direction": "COL2ROW",
"matrix_pins": {
@@ -53,6 +53,9 @@
"ws2812": {
"pin": "A8"
},
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -587,7 +590,7 @@
{"label": "Ctrl", "matrix": [4, 11], "w": 1.5, "x": 13.5, "y": 4}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/4pplet/unextended_std/keymaps/via/keymap.c b/keyboards/4pplet/unextended_std/keymaps/via/keymap.c
deleted file mode 100644
index a99489b426e1..000000000000
--- a/keyboards/4pplet/unextended_std/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- MO(1), KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_BSLS, KC_LEFT, KC_RIGHT,KC_DOWN, KC_UP),
-// basic function layer
-[1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_CAPS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/unextended_std/keymaps/via/rules.mk b/keyboards/4pplet/unextended_std/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/unextended_std/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/waffling60/rev_a/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_a/keymaps/via/keymap.c
deleted file mode 100644
index ce9a461e77ad..000000000000
--- a/keyboards/4pplet/waffling60/rev_a/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, MO(1)),
-// basic function layer
-[1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/waffling60/rev_a/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_a/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/waffling60/rev_a/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/waffling60/rev_b/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_b/keymaps/via/keymap.c
deleted file mode 100644
index ce9a461e77ad..000000000000
--- a/keyboards/4pplet/waffling60/rev_b/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, MO(1)),
-// basic function layer
-[1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/waffling60/rev_b/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_b/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/waffling60/rev_b/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/waffling60/rev_c/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_c/keymaps/via/keymap.c
deleted file mode 100644
index ce9a461e77ad..000000000000
--- a/keyboards/4pplet/waffling60/rev_c/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, MO(1)),
-// basic function layer
-[1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/waffling60/rev_c/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_c/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/waffling60/rev_c/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/waffling60/rev_d/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_d/keymaps/via/keymap.c
deleted file mode 100644
index 8035665ce451..000000000000
--- a/keyboards/4pplet/waffling60/rev_d/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, MO(1)),
-// basic function layer
-[1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/waffling60/rev_d/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_d/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/waffling60/rev_d/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/waffling60/rev_d_ansi/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_d_ansi/keymaps/via/keymap.c
deleted file mode 100644
index 29299cac6a30..000000000000
--- a/keyboards/4pplet/waffling60/rev_d_ansi/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
-// basic function layer
-[1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/waffling60/rev_d_ansi/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_d_ansi/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/waffling60/rev_d_ansi/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/waffling60/rev_d_iso/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_d_iso/keymaps/via/keymap.c
deleted file mode 100644
index b6945a706d81..000000000000
--- a/keyboards/4pplet/waffling60/rev_d_iso/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
-// basic function layer
-[1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/waffling60/rev_d_iso/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_d_iso/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/waffling60/rev_d_iso/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/waffling60/rev_e/keyboard.json b/keyboards/4pplet/waffling60/rev_e/keyboard.json
index 4cd2501bbd47..9adf6dada3a8 100644
--- a/keyboards/4pplet/waffling60/rev_e/keyboard.json
+++ b/keyboards/4pplet/waffling60/rev_e/keyboard.json
@@ -49,7 +49,19 @@
"ws2812": {
"pin": "A8"
},
- "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_hhkb",
+ "60_iso",
+ "60_iso_split_bs_rshift",
+ "60_iso_tsangan"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -510,7 +522,7 @@
{"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_e/keymaps/via/keymap.c
deleted file mode 100644
index 8b1bb6a2c4b1..000000000000
--- a/keyboards/4pplet/waffling60/rev_e/keymaps/via/keymap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2020 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL),
-// basic function layer
-[1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }
-};
-#endif
diff --git a/keyboards/4pplet/waffling60/rev_e/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_e/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/4pplet/waffling60/rev_e/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json b/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json
index a1b5d0e11eb4..15d3c7cfe9ec 100644
--- a/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json
+++ b/keyboards/4pplet/waffling60/rev_e_ansi/keyboard.json
@@ -50,9 +50,12 @@
"pin": "A8"
},
"community_layouts": [
- "60_tsangan_hhkb",
+ "60_ansi_tsangan_split_bs_rshift",
"60_hhkb"
],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -122,7 +125,7 @@
{"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/via/keymap.c
deleted file mode 100644
index 706428c00e72..000000000000
--- a/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/via/keymap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
-Copyright 2023 Stefan Sundin "4pplet"
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
-// basic function layer
-[1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }
-};
-#endif
diff --git a/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/4pplet/waffling60/rev_e_ansi/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/keymap.c b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/keymap.c
deleted file mode 100644
index 3254764a0c51..000000000000
--- a/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
-Copyright 2023 Stefan Sundin "4pplet" <4pplet@protonmail.com>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
-// basic function layer
-[1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) }
-};
-#endif
diff --git a/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/rules.mk b/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/4pplet/waffling60/rev_e_iso/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/4pplet/waffling80/keymaps/via/keymap.c b/keyboards/4pplet/waffling80/keymaps/via/keymap.c
deleted file mode 100644
index 843c93d70d0a..000000000000
--- a/keyboards/4pplet/waffling80/keymaps/via/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet"
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // main layer
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT,
- MO(1), MO(1)), // extra keys for alps dual action switches
- // basic function layer
- [1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS), // extra keys for alps dual action switches
-
- [2] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS), // extra keys for alps dual action switches
-
- [3] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS) // extra keys for alps dual action switches
-};
diff --git a/keyboards/4pplet/waffling80/keymaps/via/rules.mk b/keyboards/4pplet/waffling80/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/waffling80/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/4pplet/waffling80/readme.md b/keyboards/4pplet/waffling80/readme.md
index 3eb0745b3f37..356990dd28c1 100644
--- a/keyboards/4pplet/waffling80/readme.md
+++ b/keyboards/4pplet/waffling80/readme.md
@@ -8,6 +8,8 @@ A TKL PCB attempting a87 compatibility with different switch and layout-options.
Make example for this keyboard (after setting up your build environment):
make 4pplet/waffling80/rev_a:default
+ make 4pplet/waffling80/rev_b:default
+ make 4pplet/waffling80/rev_b_ansi:default
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/config.h b/keyboards/4pplet/waffling80/rev_b_ansi/config.h
new file mode 100644
index 000000000000..036d08cc73c4
--- /dev/null
+++ b/keyboards/4pplet/waffling80/rev_b_ansi/config.h
@@ -0,0 +1,19 @@
+/*
+Copyright 2022 Stefan Sundin "4pplet"
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+#pragma once
+
+#define WS2812_EXTERNAL_PULLUP
diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/keyboard.json b/keyboards/4pplet/waffling80/rev_b_ansi/keyboard.json
new file mode 100644
index 000000000000..5a449e5e7cba
--- /dev/null
+++ b/keyboards/4pplet/waffling80/rev_b_ansi/keyboard.json
@@ -0,0 +1,29 @@
+{
+ "keyboard_name": "waffling80 Rev B ANSI HS",
+ "usb": {
+ "pid": "0x0017",
+ "device_version": "0.0.1"
+ },
+ "rgblight": {
+ "saturation_steps": 8,
+ "brightness_steps": 8,
+ "led_count": 2
+ },
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "ws2812": {
+ "pin": "A8"
+ },
+ "matrix_pins": {
+ "cols": ["B2", "B1", "B0", "A7", "A6", "A3", "B9", "B8"],
+ "rows": ["B13", "B12", "A5", "A4", "A2", "A1", "F0", "C15", "C13", "C14", "F1", "A0"]
+ },
+ "diode_direction": "COL2ROW",
+ "processor": "STM32F072",
+ "bootloader": "stm32-dfu"
+}
diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/readme.md b/keyboards/4pplet/waffling80/rev_b_ansi/readme.md
new file mode 100644
index 000000000000..f374f8c89b5f
--- /dev/null
+++ b/keyboards/4pplet/waffling80/rev_b_ansi/readme.md
@@ -0,0 +1,18 @@
+# waffling80
+
+A TKL PCB attempting a87 and a88 compatibility with different switch and layout-options.
+
+* Keyboard Maintainer: [4pplet](https://github.com/4pplet)
+* Hardware Supported: [waffling80](https://github.com/4pplet/waffling80)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make 4pplet/waffling80/rev_b_ansi:default
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+How to enter bootloader (DFU):
+* Hold the reset-header for a few seconds on the back of the PCB for keyboard to enter DFU. When in DFU, it's ready to flash the firmware.
+
+Alternative option if the firmware is already pre-flashed:
+* Unplug your keyboard, hold down the Esc key, plug in your keyboard and wait a second before releasing the keys. The keyboard will enter DFU and is ready to flash the firmware.
diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.c b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.c
new file mode 100644
index 000000000000..9e617eaa7aa0
--- /dev/null
+++ b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.c
@@ -0,0 +1,47 @@
+/*
+Copyright 2024 Stefan Sundin "4pplet"
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+#include "rev_b_ansi.h"
+
+bool led_update_kb(led_t led_state) {
+ bool res = led_update_user(led_state);
+ if (SCROLL_LOCK_ENABLE && res) {
+ if(led_state.scroll_lock) {
+ #ifdef SCROLL_LOCK_COLOR
+ rgblight_sethsv_at(SCROLL_LOCK_COLOR, 0);
+ #else
+ rgblight_sethsv_at(rgblight_get_hue(),rgblight_get_sat(),rgblight_get_val(), 0);
+ #endif
+ }
+ else {
+ rgblight_sethsv_at(HSV_OFF, 0);
+ }
+ }
+ if (CAPS_LOCK_ENABLE && res) {
+ if(led_state.caps_lock) {
+ #ifdef CAPS_LOCK_COLOR
+ rgblight_sethsv_at(CAPS_LOCK_COLOR, 1);
+ #else
+ rgblight_sethsv_at(rgblight_get_hue(),rgblight_get_sat(),rgblight_get_val(), 1);
+ #endif
+ }
+ else{
+ rgblight_sethsv_at(HSV_OFF, 1);
+ }
+ }
+ return res;
+}
+
diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.h b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.h
new file mode 100644
index 000000000000..c8d4c8b97142
--- /dev/null
+++ b/keyboards/4pplet/waffling80/rev_b_ansi/rev_b_ansi.h
@@ -0,0 +1,26 @@
+/*
+Copyright 2022 Stefan Sundin "4pplet"
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+#pragma once
+
+#define CAPS_LOCK_ENABLE 1
+#define SCROLL_LOCK_ENABLE 1
+
+// If colors are defined, they will be static. If not defined, color for incicators can be set in VIA.
+//#define CAPS_LOCK_COLOR HSV_GREEN
+//#define SCROLL_LOCK_COLOR HSV_GREEN
+
+#include "quantum.h"
diff --git a/keyboards/4pplet/waffling80/rev_b_ansi/rules.mk b/keyboards/4pplet/waffling80/rev_b_ansi/rules.mk
new file mode 100644
index 000000000000..04fe1eba2acd
--- /dev/null
+++ b/keyboards/4pplet/waffling80/rev_b_ansi/rules.mk
@@ -0,0 +1,2 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -p FFFF -v FFFF
diff --git a/keyboards/4pplet/yakiimo/keymaps/via/keymap.c b/keyboards/4pplet/yakiimo/keymaps/via/keymap.c
deleted file mode 100644
index 6255c4bcf9d2..000000000000
--- a/keyboards/4pplet/yakiimo/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2022 Stefan Sundin "4pplet"
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-// main layer
-[0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-// basic function layer
-[1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-// extra layer for VIA
-[2] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-// extra layer for VIA
-[3] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/4pplet/yakiimo/keymaps/via/rules.mk b/keyboards/4pplet/yakiimo/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/4pplet/yakiimo/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/7c8/framework/keymaps/via/config.h b/keyboards/7c8/framework/keymaps/via/config.h
deleted file mode 100644
index 2dfd41f7cf86..000000000000
--- a/keyboards/7c8/framework/keymaps/via/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright 2020 Steven Nguyen
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-/* VIA specific defines to increase dynamic layer count */
-#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 3
-#define DYNAMIC_KEYMAP_LAYER_COUNT 5
-
-/* defining an extra row for encoder assignment in VIA */
-#undef MATRIX_ROWS
-#define MATRIX_ROWS 11
\ No newline at end of file
diff --git a/keyboards/7c8/framework/keymaps/via/keymap.c b/keyboards/7c8/framework/keymaps/via/keymap.c
deleted file mode 100644
index ccc8955d269b..000000000000
--- a/keyboards/7c8/framework/keymaps/via/keymap.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* Copyright 2020 Steven Nguyen
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum framework_layers {
- _BASE,
- _LOWER,
- _RAISE,
- _BOTH,
- _FN
-};
-
-enum framework_keycodes {
- LOWER = SAFE_RANGE,
- RAISE,
- BOTH,
- FN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[_BASE] = framework_via(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MEDIA_PLAY_PAUSE,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_LCTL, KC_LGUI, KC_LALT, MO(_FN), MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- KC_AUDIO_VOL_DOWN, KC_AUDIO_VOL_UP
-),
-
-[_LOWER] = framework_via(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MINS, KC_EQL, _______,
- _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_DEL, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, MO(_BOTH), KC_HOME, KC_PGDN, KC_PGUP, KC_END,
- C(S(KC_TAB)), C(KC_TAB)
-),
-
-[_RAISE] = framework_via(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, MO(_BOTH), _______, _______, _______, _______, _______, _______, _______,
- C(KC_LEFT), C(KC_RIGHT)
-),
-
-[_BOTH] = framework_via(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, DB_TOGG,
- C(KC_Z), C(KC_Y)
-),
-
-[_FN] = framework_via(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_MS_WH_LEFT, KC_MS_WH_RIGHT
-)
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- uint8_t layer = get_highest_layer(layer_state);
- if (index == 0) {
- if (clockwise) {
- tap_code16(dynamic_keymap_get_keycode(layer, 10, 1));
- } else {
- tap_code16(dynamic_keymap_get_keycode(layer, 10, 0));
- }
- }
- return true;
-}
diff --git a/keyboards/7c8/framework/keymaps/via/rules.mk b/keyboards/7c8/framework/keymaps/via/rules.mk
deleted file mode 100644
index 9905283151c4..000000000000
--- a/keyboards/7c8/framework/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LEADER_ENABLE = no
diff --git a/keyboards/8pack/keymaps/default/keymap.c b/keyboards/8pack/keymaps/default/keymap.c
index a50ad14a0a17..4d6adfb583fa 100644
--- a/keyboards/8pack/keymaps/default/keymap.c
+++ b/keyboards/8pack/keymaps/default/keymap.c
@@ -6,7 +6,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_A, KC_S, KC_D, KC_F
),
[1] = LAYOUT(
- RGB_TOG, RGB_RMOD, RGB_MOD, KC_NO,
+ UG_TOGG, UG_PREV, UG_NEXT, KC_NO,
QK_BOOT, BL_DOWN, BL_UP, BL_TOGG
)
};
diff --git a/keyboards/a_dux/keyboard.json b/keyboards/a_dux/keyboard.json
index c4089fb035c8..97c8610155d4 100644
--- a/keyboards/a_dux/keyboard.json
+++ b/keyboards/a_dux/keyboard.json
@@ -25,7 +25,6 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D1",
"bootmagic": {
"matrix": [4, 4]
},
@@ -38,6 +37,9 @@
["B5", "B4", null, null, null]
]
}
+ },
+ "serial": {
+ "pin": "D1"
}
},
"community_layouts": ["split_3x5_2"],
diff --git a/keyboards/a_jazz/akc084/keyboard.json b/keyboards/a_jazz/akc084/keyboard.json
new file mode 100644
index 000000000000..a489a5ade501
--- /dev/null
+++ b/keyboards/a_jazz/akc084/keyboard.json
@@ -0,0 +1,128 @@
+{
+ "manufacturer": "a-jazz",
+ "keyboard_name": "akc084",
+ "maintainer": "Feng",
+ "bootloader": "stm32duino",
+ "diode_direction": "ROW2COL",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "A6", "pin_b": "A7"}
+ ]
+ },
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "indicators": {
+ "caps_lock": "A9",
+ "num_lock": "A10"
+ },
+ "matrix_pins": {
+ "cols": ["B0", "B1", "B2", "B3", "B4", "B5", "B6", "B7", "B8", "B9", "B10", "B11", "B12", "B13"],
+ "rows": ["A0", "A1", "A2", "A3", "A4", "A5", "A8"]
+ },
+ "processor": "STM32F103",
+ "usb": {
+ "device_version": "1.0.1",
+ "no_startup_check": true,
+ "pid": "0x0084",
+ "vid": "0x414A",
+ "wait_for_enumeration": false
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [3, 13], "x": 14, "y": 0},
+ {"matrix": [4, 12], "x": 15, "y": 0},
+ {"matrix": [6, 12], "x": 16, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [4, 13], "x": 15, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
+ {"matrix": [5, 11], "x": 15, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 12], "x": 12.75, "y": 3, "w": 2.25},
+ {"matrix": [5, 12], "x": 15, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
+ {"matrix": [4, 1], "x": 2.25, "y": 4},
+ {"matrix": [4, 2], "x": 3.25, "y": 4},
+ {"matrix": [4, 3], "x": 4.25, "y": 4},
+ {"matrix": [4, 4], "x": 5.25, "y": 4},
+ {"matrix": [4, 5], "x": 6.25, "y": 4},
+ {"matrix": [4, 6], "x": 7.25, "y": 4},
+ {"matrix": [4, 7], "x": 8.25, "y": 4},
+ {"matrix": [4, 8], "x": 9.25, "y": 4},
+ {"matrix": [4, 9], "x": 10.25, "y": 4},
+ {"matrix": [4, 10], "x": 11.25, "y": 4},
+ {"matrix": [4, 11], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [5, 7], "x": 14, "y": 4},
+ {"matrix": [5, 13], "x": 15, "y": 4},
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 3], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 4], "x": 10, "y": 5},
+ {"matrix": [5, 5], "x": 11, "y": 5},
+ {"matrix": [5, 6], "x": 12, "y": 5},
+ {"matrix": [5, 8], "x": 13, "y": 5},
+ {"matrix": [5, 9], "x": 14, "y": 5},
+ {"matrix": [5, 10], "x": 15, "y": 5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/a_jazz/akc084/keymaps/default/keymap.c b/keyboards/a_jazz/akc084/keymaps/default/keymap.c
new file mode 100644
index 000000000000..0ea7355fecbb
--- /dev/null
+++ b/keyboards/a_jazz/akc084/keymaps/default/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright 2024 Feng
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+#include QMK_KEYBOARD_H
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
+ [1] = { ENCODER_CCW_CW(_______, _______) }
+};
+#endif
+
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, KC_MUTE,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
+ ),
+ [1] = LAYOUT(
+ _______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_MYCM, KC_CALC, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SCRL,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+};
\ No newline at end of file
diff --git a/keyboards/a_jazz/akc084/readme.md b/keyboards/a_jazz/akc084/readme.md
new file mode 100644
index 000000000000..d93c8a687d4b
--- /dev/null
+++ b/keyboards/a_jazz/akc084/readme.md
@@ -0,0 +1,23 @@
+# A-JAZZ AKC084
+
+A customizable 84keys keyboard
+
+![akc084](https://i.imgur.com/381vaD7.png)
+* Keyboard Maintainer: [Feng](https://github.com/fenggx-a-jazz)
+* Hardware Supported: [a-jazz](https://www.a-jazz.com)
+* Hardware Availability: [a-jazz](https://ajazzstore.com/collections/all/products/ajazz-akp846)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make a_jazz/akc084:default
+
+Flashing example for this keyboard:
+
+ make a_jazz/akc084:default:flash
+
+See the build environment setup and the make instructions for more information. Brand new to QMK? Start with our Complete Newbs Guide.
+
+## Bootloader ESC the bootloader in 3 ways:
+* **Bootmagic reset: Hold down Enter in the keyboard then replug
+* **Physical reset button: Briefly press the button on the back of the PCB
+* **Keycode in layout: Press the key mapped to QK_BOOT
diff --git a/keyboards/a_jazz/akc084/rules.mk b/keyboards/a_jazz/akc084/rules.mk
new file mode 100644
index 000000000000..5fae5866fd50
--- /dev/null
+++ b/keyboards/a_jazz/akc084/rules.mk
@@ -0,0 +1 @@
+MCU_LDSCRIPT = STM32F103xB
diff --git a/keyboards/abacus/keymaps/default/keymap.json b/keyboards/abacus/keymaps/default/keymap.json
index e4fcc9a6a02b..4c997658bf75 100644
--- a/keyboards/abacus/keymaps/default/keymap.json
+++ b/keyboards/abacus/keymaps/default/keymap.json
@@ -5,6 +5,6 @@
"layers": [
["KC_ESCAPE", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC", "KC_TAB", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_BSLS", "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMMA", "KC_DOT", "KC_UP", "KC_DELETE", "KC_LCTL", "KC_LGUI", "MO(1)", "KC_SPACE", "KC_ENTER", "MO(2)", "KC_LEFT", "KC_DOWN", "KC_RIGHT"],
["KC_GRAVE", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_LBRC", "KC_RBRC", "KC_QUOTE", "KC_SLASH", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_MINUS", "KC_EQUAL", "KC_TRNS", "KC_TRNS", "KC_LALT", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_HOME", "KC_TRNS", "KC_END"],
- ["KC_GRV", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_TRNS", "KC_TRNS", "KC_F11", "KC_F12", "RGB_M_P", "RGB_M_B", "RGB_M_R", "RGB_M_SW", "RGB_M_SN", "RGB_M_K", "RGB_M_G", "KC_NO", "RGB_TOG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "RGB_HUI", "KC_CAPS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"]
+ ["KC_GRV", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_TRNS", "KC_TRNS", "KC_F11", "KC_F12", "RGB_M_P", "RGB_M_B", "RGB_M_R", "RGB_M_SW", "RGB_M_SN", "RGB_M_K", "RGB_M_K", "KC_NO", "UG_TOGG", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "UG_HUEU", "KC_CAPS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS", "KC_TRNS"]
]
}
diff --git a/keyboards/abatskeyboardclub/nayeon/keymaps/via/config.h b/keyboards/abatskeyboardclub/nayeon/keymaps/via/config.h
deleted file mode 100644
index 52983591bf04..000000000000
--- a/keyboards/abatskeyboardclub/nayeon/keymaps/via/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2022 Ramon Imbao
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
diff --git a/keyboards/abatskeyboardclub/nayeon/keymaps/via/keymap.c b/keyboards/abatskeyboardclub/nayeon/keymaps/via/keymap.c
deleted file mode 100644
index 069bc6d14c01..000000000000
--- a/keyboards/abatskeyboardclub/nayeon/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2022 Ramon Imbao
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_NO, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/abatskeyboardclub/nayeon/keymaps/via/rules.mk b/keyboards/abatskeyboardclub/nayeon/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/abatskeyboardclub/nayeon/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/abko/ak84bt/keymaps/default/keymap.c b/keyboards/abko/ak84bt/keymaps/default/keymap.c
index 48fab8614b09..6e4c85ac142c 100644
--- a/keyboards/abko/ak84bt/keymaps/default/keymap.c
+++ b/keyboards/abko/ak84bt/keymaps/default/keymap.c
@@ -33,10 +33,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FnLay] = LAYOUT(
QK_BOOT, KC_MY_COMPUTER, KC_WWW_HOME, KC_CALCULATOR, KC_MSEL, KC_MPRV, KC_MNXT, KC_MPLY, KC_MSTP, KC_MUTE, KC_VOLD, KC_VOLU, KC_MAIL, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RM_NEXT,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAI, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, XXXXXXX, _______, XXXXXXX, RGB_SPD, RGB_VAD, RGB_SPI
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RM_VALU, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, RM_TOGG, XXXXXXX, _______, XXXXXXX, RM_SPDD, RM_VALD, RM_SPDU
)
};
diff --git a/keyboards/abstract/ellipse/keymaps/default/keymap.c b/keyboards/abstract/ellipse/keymaps/default/keymap.c
index dbcba36f5cf1..27b3e1e70a03 100644
--- a/keyboards/abstract/ellipse/keymaps/default/keymap.c
+++ b/keyboards/abstract/ellipse/keymaps/default/keymap.c
@@ -22,7 +22,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
- KC_A, RGB_TOG, KC_C,
+ KC_A, UG_TOGG, KC_C,
KC_X, KC_Y, KC_Z
)
};
diff --git a/keyboards/acekeyboard/titan60/keymaps/default/keymap.c b/keyboards/acekeyboard/titan60/keymaps/default/keymap.c
index bd3bc0d6ed13..8b662e1a9dea 100644
--- a/keyboards/acekeyboard/titan60/keymaps/default/keymap.c
+++ b/keyboards/acekeyboard/titan60/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_ansi(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- RGB_TOG, RGB_RMOD,KC_UP, RGB_MOD, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, BS_SWAP,
+ UG_TOGG, UG_PREV, KC_UP, UG_NEXT, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, BS_SWAP,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
BL_TOGG, BL_DOWN, BL_UP, KC_CALC, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_END, KC_PGDN, KC_TRNS,
KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/acekeyboard/titan60/keymaps/iso/keymap.c b/keyboards/acekeyboard/titan60/keymaps/iso/keymap.c
index fce3fb3feb61..af6252e6e26f 100644
--- a/keyboards/acekeyboard/titan60/keymaps/iso/keymap.c
+++ b/keyboards/acekeyboard/titan60/keymaps/iso/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_iso(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- RGB_TOG, RGB_RMOD,KC_UP, RGB_MOD, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, BS_SWAP,
+ UG_TOGG, UG_PREV, KC_UP, UG_NEXT, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, BS_SWAP,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
BL_TOGG, BL_DOWN, BL_UP, KC_CALC, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
diff --git a/keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c b/keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c
index f73b2db5fb95..86232743c5f7 100644
--- a/keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c
+++ b/keyboards/acekeyboard/titan60/keymaps/tsangan/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_60_tsangan(
KC_SLEP, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- RGB_TOG, RGB_RMOD, RGB_MOD, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_CLR,
+ UG_TOGG, UG_PREV, UG_NEXT, RGB_M_R, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_CLR,
KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, KC_TRNS,
BL_TOGG, BL_DOWN, BL_UP, KC_CALC, KC_MPLY, KC_MNXT, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_STOP, KC_TRNS, KC_TRNS
diff --git a/keyboards/acekeyboard/titan60/keymaps/via/keymap.c b/keyboards/acekeyboard/titan60/keymaps/via/keymap.c
deleted file mode 100644
index 687e5f4ea8c5..000000000000
--- a/keyboards/acekeyboard/titan60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-Copyright 2020 MechMerlin
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
- * │ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
- * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
- * │Ctrl│GUI │Alt │ │ Alt│ GUI│Fn │Ctrl│
- * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
- */
- [0] = LAYOUT_60_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
- ),
-
- [1] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/acekeyboard/titan60/keymaps/via/rules.mk b/keyboards/acekeyboard/titan60/keymaps/via/rules.mk
deleted file mode 100644
index 5f615ff62b74..000000000000
--- a/keyboards/acekeyboard/titan60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
diff --git a/keyboards/acheron/apollo/87h/delta/keymaps/default/keymap.c b/keyboards/acheron/apollo/87h/delta/keymaps/default/keymap.c
index 3ad45e367940..94f049f55c4b 100755
--- a/keyboards/acheron/apollo/87h/delta/keymaps/default/keymap.c
+++ b/keyboards/acheron/apollo/87h/delta/keymaps/default/keymap.c
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RM_TOGG, RM_NEXT, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT_tkl_ansi(
diff --git a/keyboards/acheron/apollo/87h/delta/keymaps/via/keymap.c b/keyboards/acheron/apollo/87h/delta/keymaps/via/keymap.c
deleted file mode 100755
index 3ad45e367940..000000000000
--- a/keyboards/acheron/apollo/87h/delta/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2020 Álvaro "Gondolindrim" Volpato
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_ansi(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_ansi(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_tkl_ansi(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_tkl_ansi(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/acheron/apollo/87h/delta/keymaps/via/rules.mk b/keyboards/acheron/apollo/87h/delta/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/apollo/87h/delta/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/apollo/87h/delta/mcuconf.h b/keyboards/acheron/apollo/87h/delta/mcuconf.h
index 652fecfc8aa1..0000e33889a7 100644
--- a/keyboards/acheron/apollo/87h/delta/mcuconf.h
+++ b/keyboards/acheron/apollo/87h/delta/mcuconf.h
@@ -18,8 +18,5 @@
#include_next
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/acheron/apollo/87h/gamma/keymaps/default/keymap.c b/keyboards/acheron/apollo/87h/gamma/keymaps/default/keymap.c
index 3ad45e367940..94f049f55c4b 100755
--- a/keyboards/acheron/apollo/87h/gamma/keymaps/default/keymap.c
+++ b/keyboards/acheron/apollo/87h/gamma/keymaps/default/keymap.c
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RM_TOGG, RM_NEXT, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT_tkl_ansi(
diff --git a/keyboards/acheron/apollo/87h/gamma/keymaps/via/keymap.c b/keyboards/acheron/apollo/87h/gamma/keymaps/via/keymap.c
deleted file mode 100755
index 8b6e77a5b5a8..000000000000
--- a/keyboards/acheron/apollo/87h/gamma/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2020 Álvaro "Gondolindrim" Volpato
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_ansi(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_ansi(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_tkl_ansi(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_tkl_ansi(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/acheron/apollo/87h/gamma/keymaps/via/rules.mk b/keyboards/acheron/apollo/87h/gamma/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/apollo/87h/gamma/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/apollo/87htsc/keymaps/default/keymap.c b/keyboards/acheron/apollo/87htsc/keymaps/default/keymap.c
index f814960810b3..44404bbc4c2e 100755
--- a/keyboards/acheron/apollo/87htsc/keymaps/default/keymap.c
+++ b/keyboards/acheron/apollo/87htsc/keymaps/default/keymap.c
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RM_TOGG, RM_NEXT, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT_tkl_ansi_tsangan(
diff --git a/keyboards/acheron/apollo/87htsc/keymaps/via/keymap.c b/keyboards/acheron/apollo/87htsc/keymaps/via/keymap.c
deleted file mode 100755
index f814960810b3..000000000000
--- a/keyboards/acheron/apollo/87htsc/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2020 Álvaro "Gondolindrim" Volpato
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_ansi_tsangan(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_ansi_tsangan(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_tkl_ansi_tsangan(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_tkl_ansi_tsangan(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/acheron/apollo/87htsc/keymaps/via/rules.mk b/keyboards/acheron/apollo/87htsc/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/apollo/87htsc/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/apollo/87htsc/mcuconf.h b/keyboards/acheron/apollo/87htsc/mcuconf.h
index 652fecfc8aa1..0000e33889a7 100644
--- a/keyboards/acheron/apollo/87htsc/mcuconf.h
+++ b/keyboards/acheron/apollo/87htsc/mcuconf.h
@@ -18,8 +18,5 @@
#include_next
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/acheron/apollo/88htsc/keymaps/default/keymap.c b/keyboards/acheron/apollo/88htsc/keymaps/default/keymap.c
index abed7e6fbe68..023ddef74c56 100755
--- a/keyboards/acheron/apollo/88htsc/keymaps/default/keymap.c
+++ b/keyboards/acheron/apollo/88htsc/keymaps/default/keymap.c
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, RM_TOGG, RM_NEXT, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[2] = LAYOUT_tkl_f13_ansi_tsangan(
diff --git a/keyboards/acheron/apollo/88htsc/keymaps/via/keymap.c b/keyboards/acheron/apollo/88htsc/keymaps/via/keymap.c
deleted file mode 100755
index abed7e6fbe68..000000000000
--- a/keyboards/acheron/apollo/88htsc/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2020 Álvaro "Gondolindrim" Volpato
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_f13_ansi_tsangan(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_f13_ansi_tsangan(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_tkl_f13_ansi_tsangan(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_tkl_f13_ansi_tsangan(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/acheron/apollo/88htsc/keymaps/via/rules.mk b/keyboards/acheron/apollo/88htsc/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/apollo/88htsc/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/apollo/88htsc/mcuconf.h b/keyboards/acheron/apollo/88htsc/mcuconf.h
index 652fecfc8aa1..0000e33889a7 100644
--- a/keyboards/acheron/apollo/88htsc/mcuconf.h
+++ b/keyboards/acheron/apollo/88htsc/mcuconf.h
@@ -18,8 +18,5 @@
#include_next
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/acheron/arctic/keyboard.json b/keyboards/acheron/arctic/keyboard.json
index cc686be5fa22..5b5768a490cc 100644
--- a/keyboards/acheron/arctic/keyboard.json
+++ b/keyboards/acheron/arctic/keyboard.json
@@ -29,6 +29,9 @@
"diode_direction": "COL2ROW",
"processor": "STM32F072",
"bootloader": "stm32-dfu",
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi_tsangan": {
"layout": [
@@ -98,7 +101,7 @@
{"matrix": [4, 11], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/acheron/arctic/keymaps/default/keymap.c b/keyboards/acheron/arctic/keymaps/default/keymap.c
index 041b814bb99a..dc5b32a5f1fe 100755
--- a/keyboards/acheron/arctic/keymaps/default/keymap.c
+++ b/keyboards/acheron/arctic/keymaps/default/keymap.c
@@ -17,13 +17,13 @@ along with this program. If not, see .
#include QMK_KEYBOARD_H
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_60_tsangan_hhkb(
+ [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC,
KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_RSFT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RCTL ),
- [1] = LAYOUT_60_tsangan_hhkb(
+ [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_TRNS, KC_TRNS, KC_DEL, KC_DEL,
KC_TRNS, KC_TRNS, KC_UP , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_END, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_PGUP, KC_TRNS,
diff --git a/keyboards/acheron/athena/alpha/alpha.c b/keyboards/acheron/athena/alpha/alpha.c
index 8fe47eff8219..4dea24b93d68 100644
--- a/keyboards/acheron/athena/alpha/alpha.c
+++ b/keyboards/acheron/athena/alpha/alpha.c
@@ -24,6 +24,8 @@ void board_init(void) {
void keyboard_post_init_kb(void){
// Defining the backlight pin (A6) as an floating (no pullup or pulldown resistor) opendrain output pin
palSetLineMode(BACKLIGHT_PIN, PAL_MODE_ALTERNATE(2) | PAL_STM32_OTYPE_OPENDRAIN | PAL_STM32_OSPEED_HIGHEST | PAL_STM32_PUPDR_FLOATING);
+
+ keyboard_post_init_user();
}
void led_init_ports(void) {
diff --git a/keyboards/acheron/athena/alpha/keymaps/via/keymap.c b/keyboards/acheron/athena/alpha/keymaps/via/keymap.c
deleted file mode 100644
index f17c1234b7d5..000000000000
--- a/keyboards/acheron/athena/alpha/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2020 Gondolindrim
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all( /* Base */
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS,
- KC_TILD, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_COLN, KC_QUOT, KC_NUHS, KC_ENT ,
- KC_LSFT, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
-),
-[1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-),
-[2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-),
-[3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-)
-};
diff --git a/keyboards/acheron/athena/alpha/keymaps/via/rules.mk b/keyboards/acheron/athena/alpha/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/athena/alpha/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/athena/alpha/mcuconf.h b/keyboards/acheron/athena/alpha/mcuconf.h
index 63f1e30e6410..c35579fe1c7b 100644
--- a/keyboards/acheron/athena/alpha/mcuconf.h
+++ b/keyboards/acheron/athena/alpha/mcuconf.h
@@ -21,9 +21,6 @@
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM3
#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/acheron/athena/beta/keymaps/via/keymap.c b/keyboards/acheron/athena/beta/keymaps/via/keymap.c
deleted file mode 100644
index f17c1234b7d5..000000000000
--- a/keyboards/acheron/athena/beta/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2020 Gondolindrim
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all( /* Base */
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13 , KC_PSCR, KC_SCRL, KC_PAUS,
- KC_TILD, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS , KC_HOME, KC_PGUP,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_COLN, KC_QUOT, KC_NUHS, KC_ENT ,
- KC_LSFT, KC_NUBS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1) , KC_UP ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
-),
-[1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-),
-[2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-),
-[3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-)
-};
diff --git a/keyboards/acheron/athena/beta/keymaps/via/rules.mk b/keyboards/acheron/athena/beta/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/athena/beta/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/athena/beta/mcuconf.h b/keyboards/acheron/athena/beta/mcuconf.h
index 63f1e30e6410..c35579fe1c7b 100644
--- a/keyboards/acheron/athena/beta/mcuconf.h
+++ b/keyboards/acheron/athena/beta/mcuconf.h
@@ -21,9 +21,6 @@
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM3
#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/acheron/austin/austin.c b/keyboards/acheron/austin/austin.c
deleted file mode 100644
index 9a69d1c08657..000000000000
--- a/keyboards/acheron/austin/austin.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include "quantum.h"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(A0);
- gpio_set_pin_output(A1);
- gpio_set_pin_output(A2);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(A2, led_state.num_lock);
- gpio_write_pin(A0, led_state.caps_lock);
- gpio_write_pin(A1, led_state.scroll_lock);
- }
- return true;
-}
diff --git a/keyboards/acheron/austin/keyboard.json b/keyboards/acheron/austin/keyboard.json
index bee675472c96..a3df5dd75d3e 100755
--- a/keyboards/acheron/austin/keyboard.json
+++ b/keyboards/acheron/austin/keyboard.json
@@ -33,6 +33,11 @@
"levels": 6,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "A0",
+ "num_lock": "A2",
+ "scroll_lock": "A1"
+ },
"processor": "STM32F072",
"bootloader": "stm32-dfu",
"layouts": {
diff --git a/keyboards/acheron/austin/keymaps/via/config.h b/keyboards/acheron/austin/keymaps/via/config.h
deleted file mode 100644
index a3b77a5b4d0b..000000000000
--- a/keyboards/acheron/austin/keymaps/via/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/acheron/austin/keymaps/via/keymap.c b/keyboards/acheron/austin/keymaps/via/keymap.c
deleted file mode 100644
index fd47f936e84b..000000000000
--- a/keyboards/acheron/austin/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS, KC_HOME, KC_END , KC_DEL ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_INS , KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, KC_P7 , KC_P8 , KC_P9 , KC_PPLS,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGDN, KC_P4 , KC_P5 , KC_P6 ,
- KC_LSFT, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1 , KC_P2 , KC_P3 , KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_P0 , KC_PDOT
- ),
-
- [1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/acheron/austin/keymaps/via/rules.mk b/keyboards/acheron/austin/keymaps/via/rules.mk
deleted file mode 100644
index 666e72557b07..000000000000
--- a/keyboards/acheron/austin/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
diff --git a/keyboards/acheron/elongate/beta/keymaps/default/keymap.c b/keyboards/acheron/elongate/beta/keymaps/default/keymap.c
index c1c6dad6b6c0..dd77ecf5eca7 100644
--- a/keyboards/acheron/elongate/beta/keymaps/default/keymap.c
+++ b/keyboards/acheron/elongate/beta/keymaps/default/keymap.c
@@ -29,6 +29,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[2] = LAYOUT( /* Base */
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_TOGG, UG_NEXT, UG_PREV, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
};
diff --git a/keyboards/acheron/elongate/beta/keymaps/via/config.h b/keyboards/acheron/elongate/beta/keymaps/via/config.h
deleted file mode 100644
index a3b77a5b4d0b..000000000000
--- a/keyboards/acheron/elongate/beta/keymaps/via/config.h
+++ /dev/null
@@ -1,3 +0,0 @@
-#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
diff --git a/keyboards/acheron/elongate/beta/keymaps/via/keymap.c b/keyboards/acheron/elongate/beta/keymaps/via/keymap.c
deleted file mode 100644
index c1c6dad6b6c0..000000000000
--- a/keyboards/acheron/elongate/beta/keymaps/via/keymap.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2020 Gondolindrim
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT( /* Base */
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_P7, KC_P8, KC_P9,
- KC_SCRL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENTER, KC_P4, KC_P5, KC_P6,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, MO(1) , KC_UP, KC_P1, KC_P2, KC_P3,
- KC_LCTL, KC_LWIN, KC_LALT, LT(2, KC_SPACE), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_DOT),
-[1] = LAYOUT( /* Base */
- KC_F1, KC_F2, KC_F2, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_NUM, KC_SCRL, KC_CAPS,
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_RSFT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_QUOT, KC_SLSH, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_HOME, KC_PGDN, KC_END , KC_TRNS, KC_TRNS),
-[2] = LAYOUT( /* Base */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/acheron/elongate/beta/keymaps/via/rules.mk b/keyboards/acheron/elongate/beta/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/elongate/beta/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/elongate/delta/delta.c b/keyboards/acheron/elongate/delta/delta.c
index 98b60bae6147..839151521a21 100755
--- a/keyboards/acheron/elongate/delta/delta.c
+++ b/keyboards/acheron/elongate/delta/delta.c
@@ -74,4 +74,6 @@ layer_state_t layer_state_set_kb(layer_state_t state) {
// Since the keyboard starts at layer 0, the init function starts LED4 as lit up.
void keyboard_post_init_kb(void){
gpio_write_pin(LED4_PIN, 0);
+
+ keyboard_post_init_user();
}
diff --git a/keyboards/acheron/elongate/delta/keymaps/default/keymap.c b/keyboards/acheron/elongate/delta/keymaps/default/keymap.c
index c182e653b7d0..f909c66a41ea 100755
--- a/keyboards/acheron/elongate/delta/keymaps/default/keymap.c
+++ b/keyboards/acheron/elongate/delta/keymaps/default/keymap.c
@@ -30,9 +30,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_HOME, KC_PGDN, KC_END , KC_TRNS, KC_TRNS
),
[2] = LAYOUT( /* Base */
- QK_BOOT , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_TOGG, UG_NEXT, UG_PREV, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
[3] = LAYOUT( /* Base */
diff --git a/keyboards/acheron/elongate/delta/keymaps/via/keymap.c b/keyboards/acheron/elongate/delta/keymaps/via/keymap.c
deleted file mode 100755
index c182e653b7d0..000000000000
--- a/keyboards/acheron/elongate/delta/keymaps/via/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2020 Gondolindrim
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-#define SPC_L2 LT(2, KC_SPACE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT( /* Base */
- KC_ESC , KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, KC_KP_7, KC_KP_8, KC_KP_9,
- KC_TAB , KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_ENTER, KC_KP_4, KC_KP_5, KC_KP_6,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, MO(1) , KC_UP, KC_KP_1, KC_KP_2, KC_KP_3,
- KC_LCTL, KC_LWIN, KC_LALT, SPC_L2, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT, KC_KP_0, KC_DOT
-),
-[1] = LAYOUT( /* Base */
- KC_F1, KC_F2, KC_F2, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_LBRC, KC_RBRC, KC_MINS, KC_EQL, KC_NUM, KC_SCRL, KC_CAPS,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SCLN, KC_QUOT, KC_SLSH, KC_TRNS, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_HOME, KC_PGDN, KC_END , KC_TRNS, KC_TRNS
-),
-[2] = LAYOUT( /* Base */
- QK_BOOT , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_M_T, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS , KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-),
-[3] = LAYOUT( /* Base */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-)
-};
diff --git a/keyboards/acheron/elongate/delta/keymaps/via/rules.mk b/keyboards/acheron/elongate/delta/keymaps/via/rules.mk
deleted file mode 100755
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/elongate/delta/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/shark/alpha/keymaps/via/keymap.c b/keyboards/acheron/shark/alpha/keymaps/via/keymap.c
deleted file mode 100644
index 77343b2e6da0..000000000000
--- a/keyboards/acheron/shark/alpha/keymaps/via/keymap.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright 2019
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QWERTY = 0,
- _LOWER,
- _RAISE,
- _ADJUST,
-};
-
-#define LOWER TL_LOWR
-#define RAISE TL_UPPR
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Ctrl | Alt | GUI | |Lower | Space| Space|Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_QWERTY] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_LCTL, KC_LALT, KC_LGUI, _______, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | | \ | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, BL_TOGG, BL_UP , BL_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Adjust (Lower + Raise)
- * ,-----------------------------------------------------------------------------------.
- * | | Reset| | | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
-[_ADJUST] = LAYOUT_ortho_4x12(
- _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, BL_TOGG, BL_UP, BL_DOWN, _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
diff --git a/keyboards/acheron/shark/alpha/keymaps/via/rules.mk b/keyboards/acheron/shark/alpha/keymaps/via/rules.mk
deleted file mode 100644
index 666e72557b07..000000000000
--- a/keyboards/acheron/shark/alpha/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite
diff --git a/keyboards/acheron/shark/beta/keymaps/via/keymap.c b/keyboards/acheron/shark/beta/keymaps/via/keymap.c
deleted file mode 100644
index 5cf5ac40da96..000000000000
--- a/keyboards/acheron/shark/beta/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2019
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_4x12(
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC,
- KC_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT,
- KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_ENT ,
- KC_LCTL , KC_LALT , KC_LGUI , KC_NO , MO(1) , KC_SPC , KC_SPC , MO(2) , KC_LEFT , KC_DOWN , KC_UP , KC_RGHT
- ),
- [1] = LAYOUT_ortho_4x12(
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
- ),
- [2] = LAYOUT_ortho_4x12(
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
- ),
- [3] = LAYOUT_ortho_4x12(
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS ,
- KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS , KC_TRNS
- )
-};
diff --git a/keyboards/acheron/shark/beta/keymaps/via/rules.mk b/keyboards/acheron/shark/beta/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/shark/beta/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/shark/beta/mcuconf.h b/keyboards/acheron/shark/beta/mcuconf.h
index 63f1e30e6410..c35579fe1c7b 100644
--- a/keyboards/acheron/shark/beta/mcuconf.h
+++ b/keyboards/acheron/shark/beta/mcuconf.h
@@ -21,9 +21,6 @@
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 TRUE
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM3
#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/acheron/themis/87h/keymaps/default/keymap.c b/keyboards/acheron/themis/87h/keymaps/default/keymap.c
index 4728331f05ff..c05261580965 100755
--- a/keyboards/acheron/themis/87h/keymaps/default/keymap.c
+++ b/keyboards/acheron/themis/87h/keymaps/default/keymap.c
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_HUEU, UG_SATU, UG_VALU, UG_SPDU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_TOGG, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, UG_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/acheron/themis/87h/keymaps/via/keymap.c b/keyboards/acheron/themis/87h/keymaps/via/keymap.c
deleted file mode 100755
index 4728331f05ff..000000000000
--- a/keyboards/acheron/themis/87h/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright 2020 Álvaro "Gondolindrim" Volpato
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_ansi(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_ansi(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/acheron/themis/87h/keymaps/via/rules.mk b/keyboards/acheron/themis/87h/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/themis/87h/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/themis/87h/mcuconf.h b/keyboards/acheron/themis/87h/mcuconf.h
index 3d1d05c307c4..ff2280716d64 100644
--- a/keyboards/acheron/themis/87h/mcuconf.h
+++ b/keyboards/acheron/themis/87h/mcuconf.h
@@ -18,8 +18,5 @@
#include_next
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/acheron/themis/87htsc/keymaps/default/keymap.c b/keyboards/acheron/themis/87htsc/keymaps/default/keymap.c
index 7b29220ec8d4..03d812c2d0da 100755
--- a/keyboards/acheron/themis/87htsc/keymaps/default/keymap.c
+++ b/keyboards/acheron/themis/87htsc/keymaps/default/keymap.c
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_HUEU, UG_SATU, UG_VALU, UG_SPDU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_TOGG, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, UG_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/acheron/themis/87htsc/keymaps/via/keymap.c b/keyboards/acheron/themis/87htsc/keymaps/via/keymap.c
deleted file mode 100755
index 7b29220ec8d4..000000000000
--- a/keyboards/acheron/themis/87htsc/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright 2023 Gondolindrim
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_ansi_tsangan(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUS ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_ansi_tsangan(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/acheron/themis/87htsc/keymaps/via/rules.mk b/keyboards/acheron/themis/87htsc/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/themis/87htsc/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/themis/87htsc/mcuconf.h b/keyboards/acheron/themis/87htsc/mcuconf.h
index 3d1d05c307c4..ff2280716d64 100644
--- a/keyboards/acheron/themis/87htsc/mcuconf.h
+++ b/keyboards/acheron/themis/87htsc/mcuconf.h
@@ -18,8 +18,5 @@
#include_next
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/acheron/themis/88htsc/keymaps/default/keymap.c b/keyboards/acheron/themis/88htsc/keymaps/default/keymap.c
index 725b294b0d65..7c47546ba709 100755
--- a/keyboards/acheron/themis/88htsc/keymaps/default/keymap.c
+++ b/keyboards/acheron/themis/88htsc/keymaps/default/keymap.c
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_HUEU, UG_SATU, UG_VALU, UG_SPDU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_TOGG, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, UG_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/acheron/themis/88htsc/keymaps/via/keymap.c b/keyboards/acheron/themis/88htsc/keymaps/via/keymap.c
deleted file mode 100755
index 725b294b0d65..000000000000
--- a/keyboards/acheron/themis/88htsc/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright 2023 Gondolindrim
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_f13_ansi_tsangan(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_F13, KC_PSCR, KC_SCRL, KC_PAUS ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_INS , KC_HOME, KC_PGUP ,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL , KC_END , KC_PGDN ,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_f13_ansi_tsangan(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/acheron/themis/88htsc/keymaps/via/rules.mk b/keyboards/acheron/themis/88htsc/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/acheron/themis/88htsc/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/acheron/themis/88htsc/mcuconf.h b/keyboards/acheron/themis/88htsc/mcuconf.h
index 3d1d05c307c4..ff2280716d64 100644
--- a/keyboards/acheron/themis/88htsc/mcuconf.h
+++ b/keyboards/acheron/themis/88htsc/mcuconf.h
@@ -18,8 +18,5 @@
#include_next
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/ada/ada1800mini/keymaps/default/keymap.c b/keyboards/ada/ada1800mini/keymaps/default/keymap.c
index ae77741f68e7..6ec737309c61 100644
--- a/keyboards/ada/ada1800mini/keymaps/default/keymap.c
+++ b/keyboards/ada/ada1800mini/keymaps/default/keymap.c
@@ -29,8 +29,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_DEL, _______, _______, _______,
- _______, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, KC_SCLN, KC_QUOT, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, KC_VOLU,
+ _______, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, KC_SCLN, KC_QUOT, _______, _______, _______, _______,
+ _______, UG_TOGG, UG_NEXT, _______, _______, _______, KC_COMM, KC_DOT, KC_SLSH, _______, _______, _______, _______, KC_VOLU,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______
),
diff --git a/keyboards/ada/infinity81/keymaps/default/keymap.c b/keyboards/ada/infinity81/keymaps/default/keymap.c
index 69bb3ce722f6..2f7a9e65c23d 100644
--- a/keyboards/ada/infinity81/keymaps/default/keymap.c
+++ b/keyboards/ada/infinity81/keymaps/default/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_SATU, UG_SATD, UG_VALU, UG_VALD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/adafruit/macropad/keymaps/via/keymap.c b/keyboards/adafruit/macropad/keymaps/via/keymap.c
deleted file mode 100644
index cb2e480025a7..000000000000
--- a/keyboards/adafruit/macropad/keymaps/via/keymap.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/* Copyright 2022 Jose Pablo Ramirez
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- LT(1,KC_MUTE),
- KC_ENT, KC_0, KC_BSPC,
- KC_7, KC_8, KC_9,
- KC_4, KC_5, KC_6,
- KC_1, KC_2, KC_3
- ),
- [1] = LAYOUT(
- _______,
- CK_TOGG, AU_TOGG, _______,
- _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______
- ),
- [2] = LAYOUT(
- _______,
- _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______
- ),
- [3] = LAYOUT(
- _______,
- _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______
- ),
-};
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(_______, _______) },
- [2] = { ENCODER_CCW_CW(_______, _______) },
- [3] = { ENCODER_CCW_CW(_______, _______) }
-};
-#endif
-
-
-#ifdef OLED_ENABLE
-static void render_qmk_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x3f, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x3f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f,
- 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x3f,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x03, 0x83, 0x83, 0x83, 0x83, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xfe,
- 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0xfe, 0xfe, 0xfe, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0x83, 0x83, 0x83, 0x03,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x81, 0x83, 0x83, 0x83, 0x83, 0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff,
- 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x83, 0x83, 0x83, 0x83, 0x83, 0x81,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x07, 0x1f, 0x3f, 0x7f, 0x7e, 0xf8, 0xf0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xff, 0xff,
- 0xff, 0xff, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xf0, 0xf8, 0x7e, 0x7f, 0x3f, 0x1f, 0x07, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xc0, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0xff, 0xff,
- 0xff, 0xff, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7c, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc,
- 0xfc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
-
- oled_write_raw_P(qmk_logo, sizeof(qmk_logo));
-}
-
-bool oled_task_user(void) {
- render_qmk_logo();
- return true;
-}
-
-#endif
diff --git a/keyboards/adafruit/macropad/keymaps/via/rules.mk b/keyboards/adafruit/macropad/keymaps/via/rules.mk
deleted file mode 100644
index 715838ecc5d9..000000000000
--- a/keyboards/adafruit/macropad/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-ENCODER_MAP_ENABLE = yes
-VIA_ENABLE = yes
diff --git a/keyboards/adelheid/keymaps/via/keymap.c b/keyboards/adelheid/keymaps/via/keymap.c
deleted file mode 100644
index 4341dc543000..000000000000
--- a/keyboards/adelheid/keymaps/via/keymap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2020 floookay
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PGUP,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_END,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- KC_SLEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_PSCR, KC_VOLU,
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, BL_STEP,
- _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END, _______, _______, _______, KC_DEL, KC_MUTE,
- KC_LGUI, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, KC_MPLY, KC_VOLD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
- _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MSTP, KC_MNXT
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/adelheid/keymaps/via/rules.mk b/keyboards/adelheid/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/adelheid/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/adkb96/keymaps/default/config.h b/keyboards/adkb96/keymaps/default/config.h
index 3f8d841423ad..a1c18568beda 100644
--- a/keyboards/adkb96/keymaps/default/config.h
+++ b/keyboards/adkb96/keymaps/default/config.h
@@ -20,13 +20,6 @@ along with this program. If not, see .
#pragma once
-
//#define USE_I2C
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
#define FORCE_NKRO
diff --git a/keyboards/adkb96/rev1/keyboard.json b/keyboards/adkb96/rev1/keyboard.json
index 77f9177555a3..7cf92f151631 100644
--- a/keyboards/adkb96/rev1/keyboard.json
+++ b/keyboards/adkb96/rev1/keyboard.json
@@ -28,7 +28,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"tapping": {
"term": 100
diff --git a/keyboards/adm42/rev4/keymaps/default/keymap.json b/keyboards/adm42/rev4/keymaps/default/keymap.json
index 72eb7d50de47..dce2405bc066 100644
--- a/keyboards/adm42/rev4/keymaps/default/keymap.json
+++ b/keyboards/adm42/rev4/keymaps/default/keymap.json
@@ -29,9 +29,9 @@
"KC_CAPS", "_______", "_______", "_______", "_______", "KC_CAPS"
],
[
- "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RGB_M_B", "RGB_VAD", "RGB_VAI", "RGB_SAD", "RGB_SAI", "XXXXXXX",
- "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RGB_TOG", "RGB_MOD", "RGB_RMOD", "RGB_HUD", "RGB_HUI", "XXXXXXX",
- "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RGB_M_P", "RGB_SPD", "RGB_SPI", "XXXXXXX", "XXXXXXX", "XXXXXXX",
+ "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RGB_M_B", "RM_VALD", "RM_VALU", "RM_SATD", "RM_SATU", "XXXXXXX",
+ "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RM_TOGG", "RM_NEXT", "RM_PREV", "RM_HUED", "RM_HUEU", "XXXXXXX",
+ "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "XXXXXXX", "RGB_M_P", "RM_SPDD", "RM_SPDU", "XXXXXXX", "XXXXXXX", "XXXXXXX",
"XXXXXXX", "XXXXXXX", "XXXXXXX", "MO(5)", "XXXXXXX", "XXXXXXX"
],
[
diff --git a/keyboards/adpenrose/akemipad/keymaps/default/keymap.c b/keyboards/adpenrose/akemipad/keymaps/default/keymap.c
index 7226b85f2c9a..ad71e0281f6c 100644
--- a/keyboards/adpenrose/akemipad/keymaps/default/keymap.c
+++ b/keyboards/adpenrose/akemipad/keymaps/default/keymap.c
@@ -42,8 +42,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
- [2] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
- [3] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
+ [1] = { ENCODER_CCW_CW(RM_HUED, RM_HUEU) },
+ [2] = { ENCODER_CCW_CW(RM_SATD, RM_SATU) },
+ [3] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }
};
#endif
diff --git a/keyboards/adpenrose/akemipad/keymaps/default_numpad/keymap.c b/keyboards/adpenrose/akemipad/keymaps/default_numpad/keymap.c
index 080df8d18243..3f76587dde6e 100644
--- a/keyboards/adpenrose/akemipad/keymaps/default_numpad/keymap.c
+++ b/keyboards/adpenrose/akemipad/keymaps/default_numpad/keymap.c
@@ -42,8 +42,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
- [2] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
- [3] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
+ [1] = { ENCODER_CCW_CW(RM_HUED, RM_HUEU) },
+ [2] = { ENCODER_CCW_CW(RM_SATD, RM_SATU) },
+ [3] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }
};
#endif
diff --git a/keyboards/adpenrose/akemipad/keymaps/via/keymap.c b/keyboards/adpenrose/akemipad/keymaps/via/keymap.c
deleted file mode 100644
index e20ed0c9c7b3..000000000000
--- a/keyboards/adpenrose/akemipad/keymaps/via/keymap.c
+++ /dev/null
@@ -1,135 +0,0 @@
-// Copyright 2022 Arturo Avila (@ADPenrose), Christopher Courtney/Drashna Jael're (@drashna)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-/* Structure that helps store settings in memory and write to the EEPROM: */
-typedef union {
- uint32_t raw;
- struct {
- bool split_zero :1;
- bool split_enter :1;
- bool split_plus :1;
- };
-} via_layout_t;
-
-via_layout_t via_layouts;
-
-/* Keymap */
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- MO(1), MO(2), MO(3), KC_DEL,
- KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_MUTE, KC_P0, KC_P0, KC_PDOT, KC_PENT
- ),
- [1] = LAYOUT_all(
- KC_TRNS, CK_DOWN, CK_UP, CK_RST,
- MU_TOGG, MU_NEXT, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- CK_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
- [2] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI) },
- [3] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
-};
-#endif
-
-/* Setting layout options and debugging text indicators */
-void via_set_layout_options_kb(uint32_t value) {
- via_layouts.raw = value;
- #ifdef CONSOLE_ENABLE
- if (via_layouts.split_zero && via_layouts.split_enter && via_layouts.split_plus){
- xprintf("All three layouts are active with a value of: %d\n", value);
- } else if (!(via_layouts.split_zero) && via_layouts.split_enter && via_layouts.split_plus){
- xprintf("SE and SP layouts are active with a value of: %d\n", value);
- } else if (via_layouts.split_zero && !(via_layouts.split_enter) && via_layouts.split_plus){
- xprintf("SZ and SP layouts are active with a value of: %d\n", value);
- } else if (!(via_layouts.split_zero) && !(via_layouts.split_enter) && via_layouts.split_plus){
- xprintf("SP is the only layout active with a value of: %d\n", value);
- } else if (via_layouts.split_zero && via_layouts.split_enter && !(via_layouts.split_plus)){
- xprintf("SE and SZ layouts are active with a value of: %d\n", value);
- } else if (!(via_layouts.split_zero) && via_layouts.split_enter && !(via_layouts.split_plus)) {
- xprintf("SE is the only layout active with a value of: %d\n", value);
- } else if (via_layouts.split_zero && !(via_layouts.split_enter) && !(via_layouts.split_plus)){
- xprintf("SZ is the only layout active with a value of: %d\n", value);
- } else {
- xprintf("The base layout is active with a value of: %d\n", value);
- }
- #endif
-}
-
-/* Turing LEDs on/off depending on the layout selected on VIA */
-bool rgb_matrix_indicators_user(void){
- if (via_layouts.split_zero && via_layouts.split_enter && via_layouts.split_plus){
- rgb_matrix_set_color(12, 0, 0, 0);
- rgb_matrix_set_color(21, 0, 0, 0);
- rgb_matrix_set_color(23, 0, 0, 0);
- } else if (!(via_layouts.split_zero) && via_layouts.split_enter && via_layouts.split_plus){
- rgb_matrix_set_color(12, 0, 0, 0);
- rgb_matrix_set_color(21, 0, 0, 0);
- rgb_matrix_set_color(22, 0, 0, 0);
- rgb_matrix_set_color(24, 0, 0, 0);
- } else if (via_layouts.split_zero && !(via_layouts.split_enter) && via_layouts.split_plus){
- rgb_matrix_set_color(12, 0, 0, 0);
- rgb_matrix_set_color(20, 0, 0, 0);
- rgb_matrix_set_color(23, 0, 0, 0);
- rgb_matrix_set_color(26, 0, 0, 0);
- } else if (!(via_layouts.split_zero) && !(via_layouts.split_enter) && via_layouts.split_plus){
- rgb_matrix_set_color(12, 0, 0, 0);
- rgb_matrix_set_color(20, 0, 0, 0);
- rgb_matrix_set_color(22, 0, 0, 0);
- rgb_matrix_set_color(24, 0, 0, 0);
- rgb_matrix_set_color(26, 0, 0, 0);
- } else if (via_layouts.split_zero && via_layouts.split_enter && !(via_layouts.split_plus)){
- rgb_matrix_set_color(11, 0, 0, 0);
- rgb_matrix_set_color(16, 0, 0, 0);
- rgb_matrix_set_color(21, 0, 0, 0);
- rgb_matrix_set_color(23, 0, 0, 0);
- } else if (!(via_layouts.split_zero) && via_layouts.split_enter && !(via_layouts.split_plus)) {
- rgb_matrix_set_color(11, 0, 0, 0);
- rgb_matrix_set_color(16, 0, 0, 0);
- rgb_matrix_set_color(21, 0, 0, 0);
- rgb_matrix_set_color(22, 0, 0, 0);
- rgb_matrix_set_color(24, 0, 0, 0);
- } else if (via_layouts.split_zero && !(via_layouts.split_enter) && !(via_layouts.split_plus)){
- rgb_matrix_set_color(11, 0, 0, 0);
- rgb_matrix_set_color(16, 0, 0, 0);
- rgb_matrix_set_color(20, 0, 0, 0);
- rgb_matrix_set_color(23, 0, 0, 0);
- rgb_matrix_set_color(26, 0, 0, 0);
- } else {
- rgb_matrix_set_color(11, 0, 0, 0);
- rgb_matrix_set_color(16, 0, 0, 0);
- rgb_matrix_set_color(20, 0, 0, 0);
- rgb_matrix_set_color(22, 0, 0, 0);
- rgb_matrix_set_color(24, 0, 0, 0);
- rgb_matrix_set_color(26, 0, 0, 0);
- }
- return false;
-}
diff --git a/keyboards/adpenrose/akemipad/keymaps/via/readme.md b/keyboards/adpenrose/akemipad/keymaps/via/readme.md
deleted file mode 100644
index 9032c1d2181f..000000000000
--- a/keyboards/adpenrose/akemipad/keymaps/via/readme.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# The VIA-compatible keymap for the AkemiPad
-
-# Features
-- Audio Click and Music Mode capabilities.
-- RGB Matrix Lighting (cycles left-right and up-down).
-- LEDs turn on and off depending on the layout selected on the VIA UI.
-- Encoder Map feature.
-
-## The star of the show: the "RGB matrix layout-dependant" capability
-Inside of this keymap resides the first implementation (AFAIK) of a LED matrix that turns
-LEDs on and off, depending on the layout/layouts activated through VIA. The available
-layouts are as follows:
-
-[![KLE layout](https://i.imgur.com/C1qVDfL.png)](https://tinyurl.com/KLE-AkemiPad)
-
diff --git a/keyboards/adpenrose/akemipad/keymaps/via/rules.mk b/keyboards/adpenrose/akemipad/keymaps/via/rules.mk
deleted file mode 100644
index 1189f4ad1927..000000000000
--- a/keyboards/adpenrose/akemipad/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/adpenrose/kintsugi/keymaps/via/keymap.c b/keyboards/adpenrose/kintsugi/keymaps/via/keymap.c
deleted file mode 100644
index 3631b485cc7e..000000000000
--- a/keyboards/adpenrose/kintsugi/keymaps/via/keymap.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright 2022 adpenrose
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-/* Base layout:
- * ,---------------------------------------------------------------------|
- * |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |Backspace| OLED|
- * |--------------------------------------------------------------- |
- * |Tab |Q |W |E |R |T |Y |U |I |O |P |[ | ] | \ OLED|
- * |---------------------------------------------------------------------|
- * |Caps |A |S |D |F |G |H |J |K |L |; |' | Enter | ENC |
- * |---------------------------------------------------------------------|
- * |Shft |Z |X |C |V |B |N |M |, |. |/ |Shift |Up| M0(3) |
- * |---------------------------------------------------------------------|
- * |Ctrl|GUI |Alt | Space |MO(1) |MO(2)| |Lt |Dn |Rt |
- * `---------------------------------------------------------------------|'
- */
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MUTE,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(3),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), MO(2), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- [1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
-};
-#endif
diff --git a/keyboards/adpenrose/kintsugi/keymaps/via/rules.mk b/keyboards/adpenrose/kintsugi/keymaps/via/rules.mk
deleted file mode 100644
index 1189f4ad1927..000000000000
--- a/keyboards/adpenrose/kintsugi/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/adpenrose/mine/keymaps/via/keymap.c b/keyboards/adpenrose/mine/keymaps/via/keymap.c
deleted file mode 100644
index 776ed893d54c..000000000000
--- a/keyboards/adpenrose/mine/keymaps/via/keymap.c
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2022 Arturo Avila (@Arturo Avila)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_MUTE,
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_HOME, KC_END, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P4, KC_P5, KC_P6,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P0, KC_PDOT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- [1] = LAYOUT_all(
- KC_TRNS,
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
-};
-#endif
diff --git a/keyboards/adpenrose/mine/keymaps/via/rules.mk b/keyboards/adpenrose/mine/keymaps/via/rules.mk
deleted file mode 100644
index 4253f570f0bb..000000000000
--- a/keyboards/adpenrose/mine/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/adpenrose/obi/keymaps/via/keymap.c b/keyboards/adpenrose/obi/keymaps/via/keymap.c
deleted file mode 100644
index 74302927312e..000000000000
--- a/keyboards/adpenrose/obi/keymaps/via/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2022 Arturo Avila (@ADPenrose)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [0] = LAYOUT_all(
- KC_ESC, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_BSPC,
- KC_MUTE, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_VOLU, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_RSFT, KC_UP, KC_SLSH,
- KC_VOLD, KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- [1] = LAYOUT_all(
- KC_DEL, KC_TRNS, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL,
- KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_BSLS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_RBRC,
- KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) }
-};
-#endif
diff --git a/keyboards/adpenrose/obi/keymaps/via/rules.mk b/keyboards/adpenrose/obi/keymaps/via/rules.mk
deleted file mode 100644
index 1189f4ad1927..000000000000
--- a/keyboards/adpenrose/obi/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/adpenrose/shisaku/keymaps/via/keymap.c b/keyboards/adpenrose/shisaku/keymaps/via/keymap.c
deleted file mode 100644
index 5b55e18e0dd4..000000000000
--- a/keyboards/adpenrose/shisaku/keymaps/via/keymap.c
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2022 Arturo Avila (@ADPenrose)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, MO(2), KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- [1] = LAYOUT(
- KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_TRNS,
- KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_BSLS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_SLSH,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT(
- KC_TAB, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
diff --git a/keyboards/adpenrose/shisaku/keymaps/via/rules.mk b/keyboards/adpenrose/shisaku/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/adpenrose/shisaku/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/aeboards/aegis/keymaps/via/keymap.c b/keyboards/aeboards/aegis/keymaps/via/keymap.c
deleted file mode 100644
index 0aa14fdea8ef..000000000000
--- a/keyboards/aeboards/aegis/keymaps/via/keymap.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2018 Jason Williams (Wilba)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap BASE: (Base Layer) Default Layer
- * ,-------------------. ,-------------------------------------------------------------.
- * |End |Home|PgDn|PgUp| |Esc| F1| F2| F3| F4| | F5| F6| F7| F8| | F9|F10|F11|F12|
- * `-------------------' `-------------------------------------------------------------'
- *
- * |-------------------| ,-------------------------------------------------------------.
- * |- | * | / |BSPC| | ~ | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|pipe| del|
- * |-------------------| |-------------------------------------------------------------|
- * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| BSPC |
- * | + |--------------| |-------------------------------------------------------------|
- * | | 6 | 5 | 4 | |Ctrl | A| S| D| F| G| H| J| K| L| ;| '|Return |
- * |-------------------| |-------------------------------------------------------------|
- * | | 3 | 2 | 1 | |Up| |Shift| Z| X| C| V| B| N| M| ,| .| /|Shift | FN |
- * | ENT|-------------------------------------------------------------------------------|
- * | | 0 | left |Dn| rhgt | FN | Alt | Space |Alt |Gui| ctrl| |
- * `------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT_all(
- KC_END , KC_HOME, KC_PGDN, KC_PGUP, KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 ,
- KC_PMNS, KC_PAST, KC_PSLS, KC_BSPC, KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_DEL,
- KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC,
- KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_LCTL, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT ,
- KC_PENT, KC_P3 , KC_P2 , KC_P1 , KC_UP , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, MO(1),
- KC_PENT, KC_PDOT, KC_P0 , KC_LEFT, KC_DOWN, KC_RGHT, MO(1), KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
-
- [1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGDN, KC_UP , KC_PGDN, KC_BSPC, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_ENT , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
diff --git a/keyboards/aeboards/aegis/keymaps/via/rules.mk b/keyboards/aeboards/aegis/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/aeboards/aegis/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/aeboards/constellation/keymaps/via/keymap.c b/keyboards/aeboards/constellation/keymaps/via/keymap.c
deleted file mode 100755
index 82c1dfecea96..000000000000
--- a/keyboards/aeboards/constellation/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2018 Jason Williams (Wilba)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // Default layer
- [0] = LAYOUT_65_ansi_rwkl_split_bs(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- // Fn1 Layer
- [1] = LAYOUT_65_ansi_rwkl_split_bs(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL, KC_TRNS,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- // Fn2 Layer
- [2] = LAYOUT_65_ansi_rwkl_split_bs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- // Fn3 Layer
- [3] = LAYOUT_65_ansi_rwkl_split_bs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
-
diff --git a/keyboards/aeboards/constellation/keymaps/via/rules.mk b/keyboards/aeboards/constellation/keymaps/via/rules.mk
deleted file mode 100755
index 1e5b99807cb7..000000000000
--- a/keyboards/aeboards/constellation/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/aeboards/ext65/rev1/keyboard.json b/keyboards/aeboards/ext65/rev1/keyboard.json
index c254a6714214..1d105505e538 100644
--- a/keyboards/aeboards/ext65/rev1/keyboard.json
+++ b/keyboards/aeboards/ext65/rev1/keyboard.json
@@ -13,6 +13,11 @@
"extrakey": true,
"nkro": true
},
+ "indicators": {
+ "caps_lock": "D3",
+ "num_lock": "D5",
+ "scroll_lock": "D2"
+ },
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"diode_direction": "COL2ROW",
diff --git a/keyboards/aeboards/ext65/rev1/keymaps/via/keymap.c b/keyboards/aeboards/ext65/rev1/keymaps/via/keymap.c
deleted file mode 100644
index 1cbbbddce894..000000000000
--- a/keyboards/aeboards/ext65/rev1/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2020 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap BASE: (Base Layer) Default Layer
- * ,-------------------. ,-------------------------------------------------------------------.
- * |- | * | / |NmLK| |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|pipe| ~ | Pscr|
- * |-------------------| |-------------------------------------------------------------------|
- * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| BSPC | Del |
- * | + |--------------| |-------------------------------------------------------------------|
- * | | 6 | 5 | 4 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | Pgup|
- * |-------------------| |-------------------------------------------------------------------|
- * | | 3 | 2 | 1 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | Pgdn|
- * | ENT|-------------------------------------------------------------------------------------|
- * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght|
- * `------------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT(
- KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV , KC_PSCR,
- KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL ,
- KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP,
- KC_PENT, KC_P3 , KC_P2 , KC_P1 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_PGDN,
- KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk b/keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk
deleted file mode 100644
index ab9d5c6ac2f8..000000000000
--- a/keyboards/aeboards/ext65/rev1/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-OLED_ENABLE = yes
diff --git a/keyboards/aeboards/ext65/rev1/rev1.c b/keyboards/aeboards/ext65/rev1/rev1.c
index 344a2bcb3221..fc8280a5e4e3 100644
--- a/keyboards/aeboards/ext65/rev1/rev1.c
+++ b/keyboards/aeboards/ext65/rev1/rev1.c
@@ -16,23 +16,10 @@
#include "quantum.h"
-void keyboard_pre_init_user(void) {
- // Call the keyboard pre init code.
- // Set our LED pins as output
- gpio_set_pin_output(D5);
- gpio_set_pin_output(D3);
- gpio_set_pin_output(D2);
- gpio_set_pin_output(D1);
-}
+void keyboard_pre_init_kb(void) {
+ gpio_set_pin_output(D1);
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(D5, led_state.num_lock);
- gpio_write_pin(D3, led_state.caps_lock);
- gpio_write_pin(D2, led_state.scroll_lock);
- }
- return res;
+ keyboard_pre_init_user();
}
layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/aeboards/ext65/rev2/keyboard.json b/keyboards/aeboards/ext65/rev2/keyboard.json
index 0ab50f925827..ab7cceeefb39 100644
--- a/keyboards/aeboards/ext65/rev2/keyboard.json
+++ b/keyboards/aeboards/ext65/rev2/keyboard.json
@@ -22,6 +22,11 @@
"levels": 6,
"breathing": true
},
+ "indicators": {
+ "caps_lock": "B3",
+ "num_lock": "B4",
+ "scroll_lock": "A15"
+ },
"rgblight": {
"led_count": 24,
"animations": {
diff --git a/keyboards/aeboards/ext65/rev2/keymaps/default/keymap.c b/keyboards/aeboards/ext65/rev2/keymaps/default/keymap.c
index e246b5c471d9..661a9bf66f75 100644
--- a/keyboards/aeboards/ext65/rev2/keymaps/default/keymap.c
+++ b/keyboards/aeboards/ext65/rev2/keymaps/default/keymap.c
@@ -39,9 +39,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
- KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR,
- KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG,
- KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_TOGG, UG_NEXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR,
+ KC_TRNS, UG_HUEU, UG_SATU, UG_VALU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG,
+ KC_TRNS, UG_HUED, UG_SATD, UG_VALD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/aeboards/ext65/rev2/keymaps/via/keymap.c b/keyboards/aeboards/ext65/rev2/keymaps/via/keymap.c
deleted file mode 100644
index e246b5c471d9..000000000000
--- a/keyboards/aeboards/ext65/rev2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2020 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap BASE: (Base Layer) Default Layer
- * ,-------------------. ,-------------------------------------------------------------------.
- * |- | * | / |NmLK| |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|pipe| ~ | Pscr|
- * |-------------------| |-------------------------------------------------------------------|
- * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| BSPC | Del |
- * | + |--------------| |-------------------------------------------------------------------|
- * | | 6 | 5 | 4 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | Pgup|
- * |-------------------| |-------------------------------------------------------------------|
- * | | 3 | 2 | 1 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | Pgdn|
- * | ENT|-------------------------------------------------------------------------------------|
- * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght|
- * `------------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT(
- KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSLS, KC_GRV , KC_PSCR,
- KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL ,
- KC_PPLS, KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP,
- KC_PENT, KC_P3 , KC_P2 , KC_P1 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_PGDN,
- KC_PENT, KC_PDOT, KC_P0 , KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
- KC_TRNS, RGB_TOG, RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR,
- KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG,
- KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk b/keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk
deleted file mode 100644
index ab9d5c6ac2f8..000000000000
--- a/keyboards/aeboards/ext65/rev2/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-OLED_ENABLE = yes
diff --git a/keyboards/aeboards/ext65/rev2/rev2.c b/keyboards/aeboards/ext65/rev2/rev2.c
index 5922b601cd19..7b8ebb008754 100644
--- a/keyboards/aeboards/ext65/rev2/rev2.c
+++ b/keyboards/aeboards/ext65/rev2/rev2.c
@@ -69,26 +69,11 @@ bool oled_task_kb(void) {
#else
void keyboard_pre_init_kb(void) {
- // Call the keyboard pre init code.
- // Set our LED pins as output
- gpio_set_pin_output(B4);
- gpio_set_pin_output(B3);
- gpio_set_pin_output(A15);
gpio_set_pin_output(A14);
keyboard_pre_init_user();
}
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- gpio_write_pin(B4, led_state.num_lock);
- gpio_write_pin(B3, led_state.caps_lock);
- gpio_write_pin(A15, led_state.scroll_lock);
- }
- return res;
-}
-
layer_state_t layer_state_set_kb(layer_state_t state) {
switch (get_highest_layer(state)) {
case 1:
diff --git a/keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c b/keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c
deleted file mode 100644
index 56930cacc669..000000000000
--- a/keyboards/aeboards/ext65/rev3/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2022 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap BASE: (Base Layer) Default Layer
- * ,-------------------. ,-------------------------------------------------------------------.
- * |- | * | / |NmLK| |Esc| 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| BSPC | Pscr|
- * |-------------------| |-------------------------------------------------------------------|
- * | | 9 | 8 | 7 | |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| | Del |
- * | + |--------------| |-------------------------------------------------------------------|
- * | | 6 | 5 | 4 | |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return | Pgup|
- * |-------------------| |-------------------------------------------------------------------|
- * | | 3 | 2 | 1 | |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up | Pgdn|
- * | ENT|-------------------------------------------------------------------------------------|
- * | | . | 0 | | Ctrl | Win | Alt | Space | FN | Ctrl | |Left| Dn | Rght|
- * `------------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT(
- KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_PSCR,
- KC_PPLS, KC_P9 , KC_P8 , KC_P7 , KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL ,
- KC_P6 , KC_P5 , KC_P4 , KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGUP,
- KC_PENT, KC_P3 , KC_P2 , KC_P1 , KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_PGDN,
- KC_PDOT, KC_P0 , KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EE_CLR,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, DB_TOGG,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/aeboards/ext65/rev3/keymaps/via/rules.mk b/keyboards/aeboards/ext65/rev3/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/aeboards/ext65/rev3/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/aeboards/ext65/rev3/rev3.c b/keyboards/aeboards/ext65/rev3/rev3.c
index f8fc2ef50231..7b0f2018c2ca 100644
--- a/keyboards/aeboards/ext65/rev3/rev3.c
+++ b/keyboards/aeboards/ext65/rev3/rev3.c
@@ -19,10 +19,12 @@
// Tested and verified working on EXT65 Rev3
void matrix_io_delay(void) { __asm__ volatile("nop\nnop\nnop\n"); }
-void keyboard_pre_init_user(void) {
+void keyboard_pre_init_kb(void) {
// Call the keyboard pre init code.
// Set our LED pins as output
gpio_set_pin_output(LED_LAYERS_PIN);
+
+ keyboard_pre_init_user();
}
layer_state_t layer_state_set_kb(layer_state_t state) {
diff --git a/keyboards/aeboards/satellite/keymaps/via/keymap.c b/keyboards/aeboards/satellite/keymaps/via/keymap.c
deleted file mode 100644
index 722761ad5908..000000000000
--- a/keyboards/aeboards/satellite/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2022 Harrison Chan (Xelus)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // Default layer
- [0] = LAYOUT_65_ansi_rwkl(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- // Fn1 Layer
- [1] = LAYOUT_65_ansi_rwkl(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_TRNS,
- KC_CAPS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- // Fn2 Layer
- [2] = LAYOUT_65_ansi_rwkl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- // Fn3 Layer
- [3] = LAYOUT_65_ansi_rwkl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
-
diff --git a/keyboards/aeboards/satellite/keymaps/via/rules.mk b/keyboards/aeboards/satellite/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/aeboards/satellite/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/afternoonlabs/breeze/keymaps/via/keymap.c b/keyboards/afternoonlabs/breeze/keymaps/via/keymap.c
deleted file mode 100644
index be295ac502ee..000000000000
--- a/keyboards/afternoonlabs/breeze/keymaps/via/keymap.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Copyright 2021 eithanshavit
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _MAIN,
- _LOWER,
- _RAISE,
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_MAIN] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_GRV,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_LBRC, KC_RBRC, KC_BSLS,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_DOWN, KC_RIGHT,
- //└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_LOWER] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
- _______, _______, _______, _______, _______, _______, _______, _______
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_RAISE] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
- _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______,
- //└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
- _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [3] = LAYOUT(
- //┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
- _______, _______, _______, _______, _______, _______, _______, _______
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- )
-
-
-};
diff --git a/keyboards/afternoonlabs/breeze/keymaps/via/readme.md b/keyboards/afternoonlabs/breeze/keymaps/via/readme.md
deleted file mode 100644
index d8eb3bb5112f..000000000000
--- a/keyboards/afternoonlabs/breeze/keymaps/via/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# Default Breeze Layout + VIA support
-
-![Breeze Layout Image](https://i.imgur.com/O8FJWD6.jpeg)
-
-This is the default suggested layout for Breeze Split Keyboard, with VIA support.
diff --git a/keyboards/afternoonlabs/breeze/keymaps/via/rules.mk b/keyboards/afternoonlabs/breeze/keymaps/via/rules.mk
deleted file mode 100644
index 85ec1feb6629..000000000000
--- a/keyboards/afternoonlabs/breeze/keymaps/via/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-VIA_ENABLE = yes
-# LTO: link time optimization makes the build take slightly longer
-# but makes the resulting .hex file smaller, which allows you to
-# fit more features into smaller MCUs:
-LTO_ENABLE = yes
-# Support for these features make the hex file larger, but we want 'em:
-MOUSEKEY_ENABLE = yes # Allow mapping of mouse control keys
-EXTRAKEY_ENABLE = yes # Allow audio & system control keys
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes
diff --git a/keyboards/afternoonlabs/breeze/rev0/config.h b/keyboards/afternoonlabs/breeze/rev0/config.h
deleted file mode 100644
index 3500564544bd..000000000000
--- a/keyboards/afternoonlabs/breeze/rev0/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 eithanshavit
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define SPLIT_HAND_PIN B3
diff --git a/keyboards/afternoonlabs/breeze/rev0/keyboard.json b/keyboards/afternoonlabs/breeze/rev0/keyboard.json
index f20f082ec967..6ff73b1c1582 100644
--- a/keyboards/afternoonlabs/breeze/rev0/keyboard.json
+++ b/keyboards/afternoonlabs/breeze/rev0/keyboard.json
@@ -21,7 +21,12 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "handedness": {
+ "pin": "B3"
+ },
+ "serial": {
+ "pin": "D2"
+ }
},
"bootmagic": {
"matrix": [0, 5]
diff --git a/keyboards/afternoonlabs/breeze/rev1/config.h b/keyboards/afternoonlabs/breeze/rev1/config.h
deleted file mode 100644
index d6bb6df14ce9..000000000000
--- a/keyboards/afternoonlabs/breeze/rev1/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Afternoon Labs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define SPLIT_HAND_PIN B3
diff --git a/keyboards/afternoonlabs/breeze/rev1/keyboard.json b/keyboards/afternoonlabs/breeze/rev1/keyboard.json
index ccb13551c105..a0a0395add0f 100644
--- a/keyboards/afternoonlabs/breeze/rev1/keyboard.json
+++ b/keyboards/afternoonlabs/breeze/rev1/keyboard.json
@@ -21,7 +21,12 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "handedness": {
+ "pin": "B3"
+ },
+ "serial": {
+ "pin": "D2"
+ }
},
"bootmagic": {
"matrix": [0, 5]
diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/config.h b/keyboards/afternoonlabs/oceanbreeze/rev1/config.h
deleted file mode 100644
index d6bb6df14ce9..000000000000
--- a/keyboards/afternoonlabs/oceanbreeze/rev1/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Afternoon Labs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define SPLIT_HAND_PIN B3
diff --git a/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json b/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json
index 2a80a0bc2bd5..e70eb1169ed2 100644
--- a/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json
+++ b/keyboards/afternoonlabs/oceanbreeze/rev1/keyboard.json
@@ -21,7 +21,12 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "handedness": {
+ "pin": "B3"
+ },
+ "serial": {
+ "pin": "D2"
+ }
},
"bootmagic": {
"matrix": [0, 5]
diff --git a/keyboards/afternoonlabs/southern_breeze/keymaps/via/keymap.c b/keyboards/afternoonlabs/southern_breeze/keymaps/via/keymap.c
deleted file mode 100644
index 6c079861ad8f..000000000000
--- a/keyboards/afternoonlabs/southern_breeze/keymaps/via/keymap.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Copyright 2021 Afternoon Labs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _MAIN,
- _LOWER,
- _RAISE,
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_MAIN] = LAYOUT(
- //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- KC_MINS, KC_EQL, KC_GRV, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LBRC, KC_RBRC, KC_BSLS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_UP, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LEFT, KC_DOWN, KC_RIGHT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_LOWER] = LAYOUT(
- //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- KC_MUTE, KC_VOLD, KC_VOLU, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘
- _______, _______, _______, _______, _______, _______, _______, _______
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_RAISE] = LAYOUT(
- //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______,
- //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘
- _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [3] = LAYOUT(
- //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘
- _______, _______, _______, _______, _______, _______, _______, _______
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/afternoonlabs/southern_breeze/keymaps/via/readme.md b/keyboards/afternoonlabs/southern_breeze/keymaps/via/readme.md
deleted file mode 100644
index 1a9ec11fdcaa..000000000000
--- a/keyboards/afternoonlabs/southern_breeze/keymaps/via/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Default Southern Breeze Layout
-
-This is the default suggested layout for the Southern Breeze Split Keyboard (with the arrow cluster on the left half).
diff --git a/keyboards/afternoonlabs/southern_breeze/keymaps/via/rules.mk b/keyboards/afternoonlabs/southern_breeze/keymaps/via/rules.mk
deleted file mode 100644
index 85ec1feb6629..000000000000
--- a/keyboards/afternoonlabs/southern_breeze/keymaps/via/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-VIA_ENABLE = yes
-# LTO: link time optimization makes the build take slightly longer
-# but makes the resulting .hex file smaller, which allows you to
-# fit more features into smaller MCUs:
-LTO_ENABLE = yes
-# Support for these features make the hex file larger, but we want 'em:
-MOUSEKEY_ENABLE = yes # Allow mapping of mouse control keys
-EXTRAKEY_ENABLE = yes # Allow audio & system control keys
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes
diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/config.h b/keyboards/afternoonlabs/southern_breeze/rev1/config.h
deleted file mode 100644
index d6bb6df14ce9..000000000000
--- a/keyboards/afternoonlabs/southern_breeze/rev1/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Afternoon Labs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define SPLIT_HAND_PIN B3
diff --git a/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json b/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json
index c4d38a7a69e9..8de6b42470c5 100644
--- a/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json
+++ b/keyboards/afternoonlabs/southern_breeze/rev1/keyboard.json
@@ -21,7 +21,12 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "handedness": {
+ "pin": "B3"
+ },
+ "serial": {
+ "pin": "D2"
+ }
},
"bootmagic": {
"matrix": [0, 5]
diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/via/keymap.c b/keyboards/afternoonlabs/summer_breeze/keymaps/via/keymap.c
deleted file mode 100644
index 2f725b5eeac0..000000000000
--- a/keyboards/afternoonlabs/summer_breeze/keymaps/via/keymap.c
+++ /dev/null
@@ -1,86 +0,0 @@
-/* Copyright 2021 Afternoon Labs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _MAIN,
- _LOWER,
- _RAISE,
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_MAIN] = LAYOUT(
- //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
- _______, KC_WH_U, _______, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_MINS, KC_EQL, KC_GRV,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- KC_BTN1, KC_WH_D, KC_BTN2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_LBRC, KC_RBRC, KC_BSLS,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- KC_MS_U, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- KC_MS_L, KC_MS_D, KC_MS_R, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LEFT, KC_DOWN, KC_RIGHT,
- //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_ENT, RAISE, LOWER, XXXXXXX
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_LOWER] = LAYOUT(
- //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
- _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, KC_BTN3, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
- _______, _______, _______, _______, _______, _______, _______, _______
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [_RAISE] = LAYOUT(
- //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PEQL, KC_PSLS, KC_PAST, KC_PMNS, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, KC_PPLS, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______,
- //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
- _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- ),
-
- [3] = LAYOUT(
- //┌────────┬────────┬────────┐┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐┌────────┬────────┬────────┐
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //├────────┼────────┼────────┤├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤├────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- //└────────┴────────┴────────┘└────────┴────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┴────────┴────────┴────────┘└────────┴────────┴────────┘
- _______, _______, _______, _______, _______, _______, _______, _______
- // └────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┘
- )
-
-};
diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/via/readme.md b/keyboards/afternoonlabs/summer_breeze/keymaps/via/readme.md
deleted file mode 100644
index 88c49403de98..000000000000
--- a/keyboards/afternoonlabs/summer_breeze/keymaps/via/readme.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Default Summer Breeze Layout
-
-This is the default suggested layout for the Summer Breeze Split Keyboard (with both arrow clusters).
diff --git a/keyboards/afternoonlabs/summer_breeze/keymaps/via/rules.mk b/keyboards/afternoonlabs/summer_breeze/keymaps/via/rules.mk
deleted file mode 100644
index 85ec1feb6629..000000000000
--- a/keyboards/afternoonlabs/summer_breeze/keymaps/via/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-VIA_ENABLE = yes
-# LTO: link time optimization makes the build take slightly longer
-# but makes the resulting .hex file smaller, which allows you to
-# fit more features into smaller MCUs:
-LTO_ENABLE = yes
-# Support for these features make the hex file larger, but we want 'em:
-MOUSEKEY_ENABLE = yes # Allow mapping of mouse control keys
-EXTRAKEY_ENABLE = yes # Allow audio & system control keys
-COMMAND_ENABLE = yes # Commands for debug and configuration
-NKRO_ENABLE = yes
diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/config.h b/keyboards/afternoonlabs/summer_breeze/rev1/config.h
deleted file mode 100644
index d6bb6df14ce9..000000000000
--- a/keyboards/afternoonlabs/summer_breeze/rev1/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Afternoon Labs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define SPLIT_HAND_PIN B3
diff --git a/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json b/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json
index 702a942a3cfb..f2285fb17b46 100644
--- a/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json
+++ b/keyboards/afternoonlabs/summer_breeze/rev1/keyboard.json
@@ -21,7 +21,12 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "handedness": {
+ "pin": "B3"
+ },
+ "serial": {
+ "pin": "D2"
+ }
},
"bootmagic": {
"matrix": [0, 5]
diff --git a/keyboards/ah/haven60/keyboard.json b/keyboards/ah/haven60/keyboard.json
index a9c2afb0b379..0eb5d8aa20e9 100644
--- a/keyboards/ah/haven60/keyboard.json
+++ b/keyboards/ah/haven60/keyboard.json
@@ -46,7 +46,20 @@
"twinkle": true
}
},
- "community_layouts": ["60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"],
+ "community_layouts": [
+ "60_ansi_tsangan",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_ansi_wkl",
+ "60_ansi_wkl_split_bs_rshift",
+ "60_hhkb",
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift",
+ "60_iso_wkl",
+ "60_iso_wkl_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -179,7 +192,7 @@
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/ah/haven60/keymaps/via/keymap.c b/keyboards/ah/haven60/keymaps/via/keymap.c
deleted file mode 100644
index 8909239a2c88..000000000000
--- a/keyboards/ah/haven60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,21 +0,0 @@
-// Copyright 2023 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL
- ),
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RGHT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/ah/haven60/keymaps/via/rules.mk b/keyboards/ah/haven60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/ah/haven60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/ah/haven65/keymaps/via/keymap.c b/keyboards/ah/haven65/keymaps/via/keymap.c
deleted file mode 100644
index e4de01e0e8bd..000000000000
--- a/keyboards/ah/haven65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Freather
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_65_ansi_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BACKSPACE, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_INS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_65_ansi_blocker(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS , KC_TRNS , KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-
- )
-};
diff --git a/keyboards/ah/haven65/keymaps/via/rules.mk b/keyboards/ah/haven65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/ah/haven65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/ah/haven80/keymaps/via/keymap.c b/keyboards/ah/haven80/keymaps/via/keymap.c
deleted file mode 100644
index f4d1b6fe92d4..000000000000
--- a/keyboards/ah/haven80/keymaps/via/keymap.c
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2023 Freather
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_f13_ansi_tsangan(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
-};
diff --git a/keyboards/ah/haven80/keymaps/via/rules.mk b/keyboards/ah/haven80/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/ah/haven80/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/ai03/altair/keyboard.json b/keyboards/ai03/altair/keyboard.json
index 9626716cde37..a8cd8b02a765 100644
--- a/keyboards/ai03/altair/keyboard.json
+++ b/keyboards/ai03/altair/keyboard.json
@@ -37,7 +37,10 @@
"rows": ["GP5", "GP16", "GP20", "GP28", "GP14"]
}
},
- "soft_serial_pin": "GP29"
+ "serial": {
+ "driver": "vendor",
+ "pin": "GP29"
+ }
},
"url": "https://ai03.com/",
"usb": {
diff --git a/keyboards/ai03/altair/keymaps/via/keymap.c b/keyboards/ai03/altair/keymaps/via/keymap.c
deleted file mode 100644
index 038b2b823dd6..000000000000
--- a/keyboards/ai03/altair/keymaps/via/keymap.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2024 ai03 Design Studio */
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_CAPS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_PSCR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(1), KC_TAB, KC_DEL
- ),
-
- [1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
- _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/ai03/altair/keymaps/via/rules.mk b/keyboards/ai03/altair/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/ai03/altair/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/ai03/altair/rules.mk b/keyboards/ai03/altair/rules.mk
deleted file mode 100644
index 161ec22b16e2..000000000000
--- a/keyboards/ai03/altair/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/ai03/altair_x/keyboard.json b/keyboards/ai03/altair_x/keyboard.json
index d1448ab8c2f0..27f36af97bbc 100644
--- a/keyboards/ai03/altair_x/keyboard.json
+++ b/keyboards/ai03/altair_x/keyboard.json
@@ -37,7 +37,10 @@
"rows": ["GP16", "GP20", "GP28", "GP14"]
}
},
- "soft_serial_pin": "GP29"
+ "serial": {
+ "driver": "vendor",
+ "pin": "GP29"
+ }
},
"url": "https://ai03.com/",
"usb": {
diff --git a/keyboards/ai03/altair_x/keymaps/via/keymap.c b/keyboards/ai03/altair_x/keymaps/via/keymap.c
deleted file mode 100644
index 8eb350993da3..000000000000
--- a/keyboards/ai03/altair_x/keymaps/via/keymap.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright 2024 ai03 Design Studio */
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, XXXXXXX, XXXXXXX, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, XXXXXXX, XXXXXXX, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, XXXXXXX, XXXXXXX, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPC, MO(2), KC_TAB, KC_DEL
- ),
-
- [1] = LAYOUT(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, KC_GRV, KC_LBRC, KC_LCBR, KC_LPRN, KC_MINS, _______, _______, KC_EQL, KC_RPRN, KC_RCBR, KC_RBRC, KC_BSLS, _______,
- _______, KC_TILD, _______, _______, _______, KC_UNDS, _______, _______, KC_PLUS, _______, _______, _______, KC_PIPE, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
- _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/ai03/altair_x/keymaps/via/rules.mk b/keyboards/ai03/altair_x/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/ai03/altair_x/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/ai03/altair_x/rules.mk b/keyboards/ai03/altair_x/rules.mk
deleted file mode 100644
index 161ec22b16e2..000000000000
--- a/keyboards/ai03/altair_x/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/ai03/andromeda/keymaps/via/keymap.c b/keyboards/ai03/andromeda/keymaps/via/keymap.c
deleted file mode 100644
index 49b47920be0d..000000000000
--- a/keyboards/ai03/andromeda/keymaps/via/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_tkl_ansi_wkl(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_tkl_ansi_wkl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-
- [_FN2] = LAYOUT_tkl_ansi_wkl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-
- [_FN3] = LAYOUT_tkl_ansi_wkl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/ai03/andromeda/keymaps/via/rules.mk b/keyboards/ai03/andromeda/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/ai03/andromeda/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/ai03/equinox/keymaps/via/keymap.c b/keyboards/ai03/equinox/keymaps/via/keymap.c
deleted file mode 100644
index e0da041f79f8..000000000000
--- a/keyboards/ai03/equinox/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2019 Ryota Goto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all( /* Base */
- MO(2), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_GRV, KC_RGUI, KC_DEL
- ),
- [1] = LAYOUT_all( /* Extra Keys */
- _______, _______, KC_PGUP, _______, _______, KC_LBRC, KC_RBRC, _______, KC_UP, _______, _______, _______,
- _______, KC_HOME, KC_PGDN, KC_END, _______, KC_BSLS, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- _______, _______, _______, _______, _______, KC_PSCR, KC_ESC, KC_QUOT, _______, KC_DOT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT_all( /* Num and FN */
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, _______, _______, _______, _______,
- _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_all( /* Other */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/ai03/equinox/keymaps/via/rules.mk b/keyboards/ai03/equinox/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/ai03/equinox/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/ai03/equinox_xl/keymaps/via/keymap.c b/keyboards/ai03/equinox_xl/keymaps/via/keymap.c
deleted file mode 100644
index be2f1cb7e0bf..000000000000
--- a/keyboards/ai03/equinox_xl/keymaps/via/keymap.c
+++ /dev/null
@@ -1,15 +0,0 @@
-// Copyright 2024 ai03
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_GRV,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
-
-};
diff --git a/keyboards/ai03/equinox_xl/keymaps/via/rules.mk b/keyboards/ai03/equinox_xl/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/ai03/equinox_xl/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/ai03/jp60/keymaps/via/keymap.c b/keyboards/ai03/jp60/keymaps/via/keymap.c
deleted file mode 100644
index 9b88fd5b7636..000000000000
--- a/keyboards/ai03/jp60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/* Copyright 2021 ai03
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT( /* Base */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, JP_YEN, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_BSLS, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_HENK, JP_KANA, KC_GRV, KC_CAPS
- ),
- [_FN1] = LAYOUT( /* FN1 */
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______,
- _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_FN2] = LAYOUT( /* FN2 */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_FN3] = LAYOUT( /* FN3 */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/ai03/jp60/keymaps/via/rules.mk b/keyboards/ai03/jp60/keymaps/via/rules.mk
deleted file mode 100644
index 4956961bef7a..000000000000
--- a/keyboards/ai03/jp60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes # Enable compatibility with VIA-protocol configurators
-DEBOUNCE_TYPE = asym_eager_defer_pk # Specify per-key debounce for improved responsiveness
\ No newline at end of file
diff --git a/keyboards/ai03/lunar/keymaps/via/keymap.c b/keyboards/ai03/lunar/keymaps/via/keymap.c
deleted file mode 100644
index 919e2902d823..000000000000
--- a/keyboards/ai03/lunar/keymaps/via/keymap.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright 2019 Ryota Goto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /*
-
- Layout
-
- K000 K001 K002 K003 K004 K005 K006 K007 K008 K009 K010 K011 K012 K013 K212 K014
- K100 K101 K102 K103 K104 K105 K106 K107 K108 K109 K110 K111 K112 K113 K114
- K200 K201 K202 K203 K204 K205 K206 K207 K208 K209 K210 K211 K213 K214
- K300 K301 K302 K303 K304 K305 K306 K307 K308 K309 K310 K311 K313 K314
- K400 K401 K402 K403 K405 K407 K409 K410 K411 K413 K414
-
- K212 = Split backspace (bound to Del by default)
- K403, K407 = Split space (bound to space by default)
- K405 = Main space
-
- */
-
- [0] = LAYOUT( /* Base */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, MO(1), KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT( /* FN */
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL, _______,
- KC_CAPS, _______, KC_UP, _______, _______, _______, KC_NUM, KC_P7, KC_P8, KC_P9, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, KC_VOLD, KC_VOLU, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______,
- _______, KC_RCTL, KC_RGUI, KC_RALT, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- [2] = LAYOUT( /* Blank. For VIA compatibility */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT( /* Blank. For VIA compatibility */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/ai03/lunar/keymaps/via/rules.mk b/keyboards/ai03/lunar/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/ai03/lunar/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/ai03/lunar_ii/keymaps/via/keymap.c b/keyboards/ai03/lunar_ii/keymaps/via/keymap.c
deleted file mode 100644
index 644a6375845c..000000000000
--- a/keyboards/ai03/lunar_ii/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2022 ai03 Design Studio
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
- [1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- KC_CAPS, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______,
- _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
- _______, HF_TOGG, HF_FDBK, HF_DWLU, HF_DWLD, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
-};
-
diff --git a/keyboards/ai03/lunar_ii/keymaps/via/rules.mk b/keyboards/ai03/lunar_ii/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/ai03/lunar_ii/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/ai03/orbit/config.h b/keyboards/ai03/orbit/config.h
deleted file mode 100644
index f3a4ae2db34f..000000000000
--- a/keyboards/ai03/orbit/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-Copyright 2018 Ryota Goto
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#define SELECT_SOFT_SERIAL_SPEED 1
-
-#define SPLIT_HAND_PIN D5
-
-/*
- * Feature disable options
- * These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
diff --git a/keyboards/ai03/orbit/keyboard.json b/keyboards/ai03/orbit/keyboard.json
index ec3080281201..f13c95291d3a 100644
--- a/keyboards/ai03/orbit/keyboard.json
+++ b/keyboards/ai03/orbit/keyboard.json
@@ -31,13 +31,18 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D0",
+ "handedness": {
+ "pin": "D5"
+ },
"matrix_pins": {
"right": {
"cols": ["D4", "D6", "F1", "F0", "F4", "F5", "C6"],
"rows": ["B6", "B5", "B4", "D7", "E6"]
}
},
+ "serial" :{
+ "pin": "D0"
+ },
"transport":{
"sync" :{
"indicators": true,
diff --git a/keyboards/ai03/orbit_x/config.h b/keyboards/ai03/orbit_x/config.h
index 2c63852cbebe..8de048231240 100644
--- a/keyboards/ai03/orbit_x/config.h
+++ b/keyboards/ai03/orbit_x/config.h
@@ -17,7 +17,6 @@ along with this program. If not, see .
#pragma once
-#define SPLIT_HAND_PIN D5
#define SPLIT_USB_DETECT
#define SPLIT_USB_TIMEOUT 2500
diff --git a/keyboards/ai03/orbit_x/keyboard.json b/keyboards/ai03/orbit_x/keyboard.json
index edfbbb27969e..d039969b37c4 100644
--- a/keyboards/ai03/orbit_x/keyboard.json
+++ b/keyboards/ai03/orbit_x/keyboard.json
@@ -28,12 +28,17 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0",
+ "handedness": {
+ "pin": "D5"
+ },
"matrix_pins": {
"right": {
"cols": ["D6", "B6", "B1", "B0", "B3", "B2"],
"rows": ["B5", "D7", "B4", "D4"]
}
+ },
+ "serial": {
+ "pin": "D0"
}
},
"processor": "atmega32u4",
diff --git a/keyboards/ai03/orbit_x/keymaps/via/keymap.c b/keyboards/ai03/orbit_x/keymaps/via/keymap.c
deleted file mode 100644
index 4a49280c0cef..000000000000
--- a/keyboards/ai03/orbit_x/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2020 Ryota Goto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _NUM,
- _NAV,
- _FN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [_BASE] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- MO(3), KC_TAB, KC_LGUI, KC_LALT, MO(2), KC_SPC, KC_SPC, MO(1), KC_TAB, KC_DEL, KC_PSCR, MO(3)
- ),
- [_NUM] = LAYOUT(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- _______, KC_GRV, KC_SLSH, KC_LBRC, KC_LPRN, KC_MINS, KC_EQL, KC_RPRN, KC_RBRC, KC_BSLS, XXXXXXX, _______,
- _______, KC_TILD, KC_QUES, KC_LCBR, XXXXXXX, KC_UNDS, KC_PLUS, XXXXXXX, KC_RCBR, KC_PIPE, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_NAV] = LAYOUT(
- _______, XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, _______,
- _______, XXXXXXX, KC_HOME, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, KC_LEFT, KC_DOWN, KC_RGHT, XXXXXXX, _______,
- _______, XXXXXXX, C(G(KC_LEFT)), XXXXXXX, C(G(KC_RGHT)), XXXXXXX, XXXXXXX, C(S(KC_TAB)), XXXXXXX, C(KC_TAB), XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_FN] = LAYOUT(
- QK_BOOT, XXXXXXX, KC_F1, KC_F2, KC_F3, XXXXXXX, XXXXXXX, KC_F7, KC_F8, KC_F9, XXXXXXX, QK_BOOT,
- _______, XXXXXXX, KC_F4, KC_F5, KC_F6, XXXXXXX, XXXXXXX, KC_F10, KC_F11, KC_F12, XXXXXXX, _______,
- _______, XXXXXXX, KC_VOLD, XXXXXXX, KC_VOLU, XXXXXXX, XXXXXXX, KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/ai03/orbit_x/keymaps/via/rules.mk b/keyboards/ai03/orbit_x/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/ai03/orbit_x/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/ai03/polaris/keyboard.json b/keyboards/ai03/polaris/keyboard.json
index decedbab3df0..7e6ab9aec722 100644
--- a/keyboards/ai03/polaris/keyboard.json
+++ b/keyboards/ai03/polaris/keyboard.json
@@ -58,7 +58,14 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
- "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -274,7 +281,7 @@
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/ai03/polaris/keymaps/default/keymap.c b/keyboards/ai03/polaris/keymaps/default/keymap.c
index 5c137002efd4..be1c05e7eb10 100644
--- a/keyboards/ai03/polaris/keymaps/default/keymap.c
+++ b/keyboards/ai03/polaris/keymaps/default/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
_______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP,
_______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
- _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______,
+ _______, _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, KC_PSCR, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c b/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c
index 510c4aed7f7d..ff4a61e4e4b8 100644
--- a/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c
+++ b/keyboards/ai03/polaris/keymaps/default_ansi_tsangan/keymap.c
@@ -21,18 +21,18 @@ enum layer_names {
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60_tsangan_hhkb( /* Base */
+ [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* Base */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
- [_FN] = LAYOUT_60_tsangan_hhkb( /* FN */
+ [_FN] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* FN */
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
_______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP,
_______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______,
+ _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, KC_PSCR, _______,
_______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/ai03/polaris/keymaps/testing/keymap.c b/keyboards/ai03/polaris/keymaps/testing/keymap.c
index 9a8efc5d09d1..5842991989b0 100644
--- a/keyboards/ai03/polaris/keymaps/testing/keymap.c
+++ b/keyboards/ai03/polaris/keymaps/testing/keymap.c
@@ -22,7 +22,7 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_all( /* Base */
- BL_TOGG, BL_STEP, KC_NO, KC_NO, KC_NO, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_BSPC, KC_DEL,
+ BL_TOGG, BL_STEP, KC_NO, KC_NO, KC_NO, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL,
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
_______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP,
_______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
- _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______,
+ _______, _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, KC_PSCR, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/ai03/polaris/keymaps/via/keymap.c b/keyboards/ai03/polaris/keymaps/via/keymap.c
deleted file mode 100644
index 67c5cd37eabc..000000000000
--- a/keyboards/ai03/polaris/keymaps/via/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2019 Ryota Goto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN,
- _EXTRA_ONE,
- _EXTRA_TWO
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all( /* Base */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, KC_RCTL
- ),
- [_FN] = LAYOUT_all( /* FN */
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
- _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, BL_STEP,
- _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
- _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_EXTRA_ONE] = LAYOUT_all( /* Layer 3 */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_EXTRA_TWO] = LAYOUT_all( /* Layer 3 */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
diff --git a/keyboards/ai03/polaris/keymaps/via/rules.mk b/keyboards/ai03/polaris/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/ai03/polaris/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/ai03/soyuz/keymaps/via/keymap.c b/keyboards/ai03/soyuz/keymaps/via/keymap.c
deleted file mode 100644
index 04f31d764a67..000000000000
--- a/keyboards/ai03/soyuz/keymaps/via/keymap.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * ai03 Soyuz VIA Keymap
- *
- * Copyright (C) 2020 Sendy YK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE, // Default Layer
- _FN, // Fn Layer 1
- _FN2, // Fn Layer 2
- _FN3 // Fn Layer 3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // Default Layer
- [_BASE] = LAYOUT_ortho_5x4(
- KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_P0, KC_P0, KC_PDOT, KC_PENT
- ),
- // Fn Layer 1
- [_FN] = LAYOUT_ortho_5x4(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
- // Fn Layer 2
- [_FN2] = LAYOUT_ortho_5x4(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
- // Fn Layer 3
- [_FN3] = LAYOUT_ortho_5x4(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- )
-};
diff --git a/keyboards/ai03/soyuz/keymaps/via/rules.mk b/keyboards/ai03/soyuz/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/ai03/soyuz/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/ai03/vega/keyboard.json b/keyboards/ai03/vega/keyboard.json
index a58fa4fcaefb..bc220cc7a125 100644
--- a/keyboards/ai03/vega/keyboard.json
+++ b/keyboards/ai03/vega/keyboard.json
@@ -22,6 +22,11 @@
"resync": true
}
},
+ "indicators": {
+ "caps_lock": "B7",
+ "scroll_lock": "A5",
+ "on_state": 0
+ },
"matrix_pins": {
"cols": ["B5", "A3", "A9", "A8", "B15", "B14", "B13", "B12", "B11", "B10", "B2", "B1", "B0", "A7", "A6"],
"rows": ["A1", "A2", "B3", "A15", "A10"]
diff --git a/keyboards/ai03/vega/keymaps/via/keymap.c b/keyboards/ai03/vega/keymaps/via/keymap.c
deleted file mode 100644
index de97d9891f56..000000000000
--- a/keyboards/ai03/vega/keymaps/via/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- [_FN2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/ai03/vega/keymaps/via/rules.mk b/keyboards/ai03/vega/keymaps/via/rules.mk
deleted file mode 100644
index 16d33cd89fe4..000000000000
--- a/keyboards/ai03/vega/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-
diff --git a/keyboards/ai03/vega/vega.c b/keyboards/ai03/vega/vega.c
deleted file mode 100644
index 44ded2c85c45..000000000000
--- a/keyboards/ai03/vega/vega.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2020 ai03
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include "quantum.h"
-
-void matrix_init_kb(void) {
- // Initialize indicator LEDs to output
-
- gpio_set_pin_output(B7); // Caps
- gpio_set_pin_output(A5); // Slck
-
- matrix_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
-
- bool res = led_update_user(led_state);
-
- if(res) {
- gpio_write_pin(B7, !led_state.caps_lock);
- gpio_write_pin(A5, !led_state.scroll_lock);
- }
- return res;
-}
\ No newline at end of file
diff --git a/keyboards/ai03/voyager60_alps/keymaps/via/keymap.c b/keyboards/ai03/voyager60_alps/keymaps/via/keymap.c
deleted file mode 100644
index 166b19a04bfa..000000000000
--- a/keyboards/ai03/voyager60_alps/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright 2020
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT( /* Base */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, _______, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_SPC, _______, KC_RGUI, KC_RALT, KC_RCTL
- ),
- [1] = LAYOUT( /* FN */
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT( /* Blank. For VIA compatibility */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT( /* Blank. For VIA compatibility */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/ai03/voyager60_alps/keymaps/via/rules.mk b/keyboards/ai03/voyager60_alps/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/ai03/voyager60_alps/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/aidansmithdotdev/fine40/keymaps/via/keymap.c b/keyboards/aidansmithdotdev/fine40/keymaps/via/keymap.c
deleted file mode 100644
index 0010c9f97bca..000000000000
--- a/keyboards/aidansmithdotdev/fine40/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2022 Aidan Smith (@Aidan-OS)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-enum keyboard_layers {
- _MAIN,
- _RIGHT,
- _LEFT,
- _TAB,
-};
-
-#define LT3_TAB LT(_TAB, KC_TAB)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_MAIN] = LAYOUT_2u_single_space(
- KC_ESC , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC ,
- LT3_TAB , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN , KC_QUOT ,
- KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM , KC_DOT , KC_SLSH , KC_ENT ,
- KC_LCTL , KC_RALT , KC_LGUI , KC_BSLS , MO(_LEFT) , KC_SPC , MO(_RIGHT) , KC_LEFT , KC_DOWN , KC_UP , KC_RIGHT , KC_MPLY
-),
-
-[_LEFT] = LAYOUT_2u_single_space( /* LEFT */
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_DELETE ,
- _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_UNDERSCORE , KC_PLUS , KC_LEFT_CURLY_BRACE , KC_RIGHT_CURLY_BRACE , _______ ,
- _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
- _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_HOME , KC_PGDN , KC_PGUP , KC_END , _______
-),
-
-[_RIGHT] = LAYOUT_2u_single_space( /* RIGHT */
- KC_TILDE , KC_EXCLAIM , KC_AT , KC_HASH , KC_DOLLAR , KC_PERCENT , KC_CIRCUMFLEX , KC_AMPERSAND , KC_ASTERISK , KC_LEFT_PAREN , KC_RIGHT_PAREN , KC_DELETE ,
- _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MINS , KC_EQL , KC_LBRC , KC_RBRC , _______ ,
- _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_LT , KC_GT , _______ , _______ ,
- _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MUTE , KC_VOLD , KC_VOLU , KC_MPLY , _______
-),
-
-[_TAB] = LAYOUT_2u_single_space( /* Tab */
- KC_ESC , QK_BOOT, _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ ,
- _______ , KC_F11 , KC_F12 , KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , _______ ,
- _______ , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , _______ ,
- _______ , _______ , _______ , _______ , _______ , _______ , _______ , KC_MS_L , KC_MS_D , KC_MS_U , KC_MS_R , _______
-),
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_MAIN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_LEFT] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_RIGHT] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_TAB] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
-};
-#endif
\ No newline at end of file
diff --git a/keyboards/aidansmithdotdev/fine40/keymaps/via/rules.mk b/keyboards/aidansmithdotdev/fine40/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/aidansmithdotdev/fine40/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/aidansmithdotdev/sango/keyboard.json b/keyboards/aidansmithdotdev/sango/keyboard.json
index deb26f86b62d..f51eed7fd9b8 100644
--- a/keyboards/aidansmithdotdev/sango/keyboard.json
+++ b/keyboards/aidansmithdotdev/sango/keyboard.json
@@ -126,7 +126,10 @@
"rows": ["GP2", "GP3", "GP4", "GP5", "GP6"]
}
},
- "soft_serial_pin": "GP1"
+ "serial": {
+ "driver": "vendor",
+ "pin": "GP1"
+ }
},
"url": "https://aidansmith.dev",
"usb": {
diff --git a/keyboards/aidansmithdotdev/sango/rules.mk b/keyboards/aidansmithdotdev/sango/rules.mk
deleted file mode 100644
index 743228e94b64..000000000000
--- a/keyboards/aidansmithdotdev/sango/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
\ No newline at end of file
diff --git a/keyboards/akb/ogr/keymaps/via/keymap.c b/keyboards/akb/ogr/keymaps/via/keymap.c
deleted file mode 100644
index da631b8312d6..000000000000
--- a/keyboards/akb/ogr/keymaps/via/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2018-2022 QMK (@qmk)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /*
- * ┌───┬───┐ ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┬───┐
- * │ F1│ F2│ │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│Hom│
- * ├───┼───┤ ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┼───┤
- * | F3| F4| │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │PgU│
- * ├───┼───┤ ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┼───┤
- * | F5| F6| │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │PgD│
- * ├───┼───┤ ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┼───┤
- * | F7| F8| │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│ ↑ │End│
- * ├───┼───┤ ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┼───┼───┤
- * | F9|F10| │Ctrl│GUI │Alt │ │Alt│Ctl│ │ ← │ ↓ │ → │
- * └───┴───┘ └────┴────┴────┴────────────────────────┴───┴───┴───┴───┴───┴───┘
- */
- [0] = LAYOUT_all(
-
- KC_F1, KC_F2, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
- KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_F7, KC_F8, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
-
- [1] = LAYOUT_all(
- _______, _______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/akb/ogr/keymaps/via/rules.mk b/keyboards/akb/ogr/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/akb/ogr/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/akb/ogrn/keymaps/via/keymap.c b/keyboards/akb/ogrn/keymaps/via/keymap.c
deleted file mode 100644
index f3901ec7fb3b..000000000000
--- a/keyboards/akb/ogrn/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2021 Martin Arnstad (@arnstadm)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌───┬───┬───┬───┐
- * │NUM│ / │ * │ - │
- * ├───┼───┼───┼───┤
- * │ 7 │ 8 │ 9 │ │
- * ├───┼───┼───┤ + │
- * │ 4 │ 5 │ 6 │ │
- * ├───┼───┼───┼───┤
- * │ 1 │ 2 │ 3 │ │
- * ├───┴───┼───┤Ent│
- * │ 0 │ . │ │
- * └───────┴───┴───┘
- */
- [0] = LAYOUT_numpad_5x4(
- KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_P7, KC_P8, KC_P9,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3,
- KC_P0, KC_PDOT, KC_PENT
- ),
-
- /*
- * ┌───┬───┬───┬───┐
- * │NUM│ / │ * │ - │
- * ├───┼───┼───┼───┤
- * │Hom│ ↑ │PgU│ │
- * ├───┼───┼───┤ + │
- * │ ← │ │ → │ │
- * ├───┼───┼───┼───┤
- * │End│ ↓ │PgD│ │
- * ├───┴───┼───┤Ent│
- * │Insert │Del│ │
- * └───────┴───┴───┘
- */
- [1] = LAYOUT_numpad_5x4(
- _______, _______, _______, _______,
- KC_HOME, KC_UP, KC_PGUP,
- KC_LEFT, XXXXXXX, KC_RGHT, _______,
- KC_END, KC_DOWN, KC_PGDN,
- KC_INS, KC_DEL, _______
- )
-};
diff --git a/keyboards/akb/ogrn/keymaps/via/rules.mk b/keyboards/akb/ogrn/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/akb/ogrn/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/akb/vero/keymaps/via/keymap.c b/keyboards/akb/vero/keymaps/via/keymap.c
deleted file mode 100644
index d5ae16ef9ce6..000000000000
--- a/keyboards/akb/vero/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2022 Martin Arnstad (@arnstadm)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ Bspc│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
- * │ Ctrl │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ # │Ent │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
- * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ Shift│MO1│
- * └─────┬──┴┬──┴──┬┴───┴───┴──┬┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘
- * │Alt│ GUI │Space │Space │ GUI │Alt│
- * └───┴─────┴───────────┴───────────┴─────┴───┘
- */
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT
- ),
-
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- * │Pwr│F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Ins│Del│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
- * │Caps │ Q │ W │ E │ R │ T │ Y │ U │PSc│Scr│Pse│ ↑ │ ] │ Bspc│
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬────┤
- * │ Ctrl │Vl-│Vl+│Mut│ F │ G │ * │ / │Hom│PgU│ ← │ → │ # │Ent │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴┬───┤
- * │ Shift │ Z │ X │ C │ V │ B │ + │ - │End│PgD│ ↓ │ Shift│MO1│
- * └─────┬──┴┬──┴──┬┴───┴───┴──┬┴───┴───┴──┬┴───┴┬──┴┬─────┴───┘
- * │Alt│ GUI │Space │Space │ GUI │Alt│
- * └───┴─────┴───────────┴───────────┴─────┴───┘
- */
- [1] = LAYOUT_all(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, KC_PENT,
- _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/akb/vero/keymaps/via/rules.mk b/keyboards/akb/vero/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/akb/vero/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/akko/5087/5087.c b/keyboards/akko/5087/5087.c
index 746a9a781612..996f8c258501 100644
--- a/keyboards/akko/5087/5087.c
+++ b/keyboards/akko/5087/5087.c
@@ -167,7 +167,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record) {
eeconfig_update_keymap(keymap_config.raw);
}
return false;
- case RGB_TOG:
+ case QK_RGB_MATRIX_TOGGLE:
if (record->event.pressed) {
switch (rgb_matrix_get_flags()) {
case LED_FLAG_ALL: {
diff --git a/keyboards/akko/5087/keymaps/default/keymap.c b/keyboards/akko/5087/keymaps/default/keymap.c
index 07763ccc8916..039823465cdd 100644
--- a/keyboards/akko/5087/keymaps/default/keymap.c
+++ b/keyboards/akko/5087/keymaps/default/keymap.c
@@ -47,11 +47,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[WIN_FN] = LAYOUT_tkl_ansi( /* FN */
_______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______,
- _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI,
- _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI,
- _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI),
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______,
+ _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RM_NEXT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU,
+ _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU,
+ _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU),
[MAC_B] = LAYOUT_tkl_ansi( /* Base */
KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS,
@@ -70,10 +70,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D),
[MAC_FN] = LAYOUT_tkl_ansi( /* FN */
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______,
- _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI,
- _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI)
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______,
+ _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RM_NEXT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU,
+ _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU,
+ _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU)
};
// clang-format on
diff --git a/keyboards/akko/5087/keymaps/via/keymap.c b/keyboards/akko/5087/keymaps/via/keymap.c
deleted file mode 100644
index dd59925fa908..000000000000
--- a/keyboards/akko/5087/keymaps/via/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright (C) 2023 jonylee@hfd
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum __layers {
- WIN_B,
- WIN_W,
- WIN_FN,
- MAC_B,
- MAC_W,
- MAC_FN,
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [WIN_B] = LAYOUT_tkl_ansi( /* Base */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [WIN_W] = LAYOUT_tkl_ansi( /* Base */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W,
- _______, _______, _______, _______, _______, _______, MO(WIN_FN), _______, KC_A, KC_S, KC_D),
-
-
- [WIN_FN] = LAYOUT_tkl_ansi( /* FN */
- _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______,
- _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI,
- _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI,
- _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI),
-
- [MAC_B] = LAYOUT_tkl_ansi( /* Base */
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [MAC_W] = LAYOUT_tkl_ansi( /* Base */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W,
- _______, _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D),
- [MAC_FN] = LAYOUT_tkl_ansi( /* FN */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______,
- _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI,
- _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI)
-};
-// clang-format on
diff --git a/keyboards/akko/5087/keymaps/via/rules.mk b/keyboards/akko/5087/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/akko/5087/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/akko/5108/5108.c b/keyboards/akko/5108/5108.c
index 7330707f453d..61cb60713fe0 100644
--- a/keyboards/akko/5108/5108.c
+++ b/keyboards/akko/5108/5108.c
@@ -150,13 +150,10 @@ const snled27351_led_t PROGMEM g_snled27351_leds[SNLED27351_LED_COUNT] = {
void keyboard_pre_init_kb(void) {
gpio_set_pin_output(LED_WIN_LOCK_PIN); // LED3 Win Lock
gpio_write_pin_low(LED_WIN_LOCK_PIN);
+
keyboard_pre_init_user();
}
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if (res) {
- gpio_write_pin(LED_WIN_LOCK_PIN, keymap_config.no_gui);
- }
- return res;
+void housekeeping_task_kb(void){
+ gpio_write_pin(LED_WIN_LOCK_PIN, keymap_config.no_gui);
}
diff --git a/keyboards/akko/5108/keymaps/default/keymap.c b/keyboards/akko/5108/keymaps/default/keymap.c
index ef92432ff57f..588d895cd3ce 100644
--- a/keyboards/akko/5108/keymaps/default/keymap.c
+++ b/keyboards/akko/5108/keymaps/default/keymap.c
@@ -46,11 +46,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[WIN_FN] = LAYOUT( /* FN */
_______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______,TG(WIN_W),_______,_______,_______,_______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
- _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______),
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______,TG(WIN_W),_______,_______,_______,_______, _______, _______, DF(MAC_B),_______,_______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, _______, _______, _______, _______,
+ _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU, _______, _______),
[MAC_B] = LAYOUT( /* Base */
KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU,
@@ -70,10 +70,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_FN] = LAYOUT( /* FN */
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______,TG(MAC_W),_______,_______,_______,_______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______)
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______,TG(MAC_W),_______,_______,_______,_______, _______, _______, DF(WIN_B),_______,_______, _______, RM_NEXT, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU, _______, _______)
};
// clang-format on
diff --git a/keyboards/akko/5108/keymaps/via/keymap.c b/keyboards/akko/5108/keymaps/via/keymap.c
deleted file mode 100644
index ef92432ff57f..000000000000
--- a/keyboards/akko/5108/keymaps/via/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright (C) 2023 jonylee@hfd
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum __layers {
- WIN_B,
- WIN_W,
- WIN_FN,
- MAC_B,
- MAC_W,
- MAC_FN
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [WIN_B] = LAYOUT( /* Base */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
-
- [WIN_W] = LAYOUT( /* Base */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, MO(WIN_FN), _______, KC_A, KC_S, KC_D, _______, _______),
-
- [WIN_FN] = LAYOUT( /* FN */
- _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______,TG(WIN_W),_______,_______,_______,_______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
- _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______),
-
- [MAC_B] = LAYOUT( /* Base */
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS, KC_CALC, KC_MUTE, KC_VOLD, KC_VOLU,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT),
-
- [MAC_W] = LAYOUT( /* Base */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D, _______, _______),
-
- [MAC_FN] = LAYOUT( /* FN */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______,TG(MAC_W),_______,_______,_______,_______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI, _______, _______)
-};
-// clang-format on
diff --git a/keyboards/akko/5108/keymaps/via/rules.mk b/keyboards/akko/5108/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/akko/5108/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/akko/acr87/keymaps/default/keymap.c b/keyboards/akko/acr87/keymaps/default/keymap.c
index 88bfbc8e1fdc..51f21a009777 100644
--- a/keyboards/akko/acr87/keymaps/default/keymap.c
+++ b/keyboards/akko/acr87/keymaps/default/keymap.c
@@ -47,11 +47,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[WIN_FN] = LAYOUT( /* FN */
_______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______,
- _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI,
- _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI,
- _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI),
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______,
+ _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RM_NEXT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU,
+ _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU,
+ _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU),
[MAC_B] = LAYOUT( /* Base */
KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS,
@@ -70,10 +70,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D),
[MAC_FN] = LAYOUT( /* FN */
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______,
- _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI,
- _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI)
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, _______, _______, _______, _______,
+ _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RM_NEXT, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_TOGG, _______, _______, RM_HUEU,
+ _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RM_VALU,
+ _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_VALD, RM_SATU)
};
// clang-format on
diff --git a/keyboards/akko/acr87/keymaps/via/keymap.c b/keyboards/akko/acr87/keymaps/via/keymap.c
deleted file mode 100644
index 88bfbc8e1fdc..000000000000
--- a/keyboards/akko/acr87/keymaps/via/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright (C) 2023 jonylee@hfd
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum __layers {
- WIN_B,
- WIN_W,
- WIN_FN,
- MAC_B,
- MAC_W,
- MAC_FN
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [WIN_B] = LAYOUT( /* Base */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(WIN_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [WIN_W] = LAYOUT( /* Base */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W,
- _______, _______, _______, _______, _______, _______, MO(WIN_FN), _______, KC_A, KC_S, KC_D),
-
-
- [WIN_FN] = LAYOUT( /* FN */
- _______, KC_MYCM, KC_MAIL, KC_WSCH, KC_WHOM, KC_MSEL, KC_MPLY, KC_MPRV, KC_MNXT, _______,_______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______,
- _______, _______,TG(WIN_W),_______, _______, _______, _______, _______, _______, DF(MAC_B),_______,_______, _______, RGB_MOD, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI,
- _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI,
- _______, GU_TOGG, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI),
-
- [MAC_B] = LAYOUT( /* Base */
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, MO(MAC_FN), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [MAC_W] = LAYOUT( /* Base */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_W,
- _______, _______, _______, _______, _______, _______, MO(MAC_FN), _______, KC_A, KC_S, KC_D),
- [MAC_FN] = LAYOUT( /* FN */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, _______, _______, _______, _______,
- _______, _______,TG(MAC_W),_______, _______, _______, _______, _______, _______, DF(WIN_B),_______,_______, _______, RGB_MOD, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, RGB_HUI,
- _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_VAD, RGB_SAI)
-};
-// clang-format on
diff --git a/keyboards/akko/acr87/keymaps/via/rules.mk b/keyboards/akko/acr87/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/akko/acr87/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/akko/top40/keymaps/default/keymap.c b/keyboards/akko/top40/keymaps/default/keymap.c
index fb9df1623552..8f06ab969e44 100644
--- a/keyboards/akko/top40/keymaps/default/keymap.c
+++ b/keyboards/akko/top40/keymaps/default/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT( /* Fn */
_______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, KC_HOME, KC_END, RGB_TOG, RGB_MOD,
- _______, _______, _______, KC_CALC, _______, AG_TOGG, _______, KC_MUTE, KC_VOLD, KC_VOLU, RGB_VAI, _______,
- _______, GU_TOGG, _______, _______, _______, _______, RGB_SPI, RGB_VAD, RGB_SAI)
+ _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, KC_HOME, KC_END, RM_TOGG, RM_NEXT,
+ _______, _______, _______, KC_CALC, _______, AG_TOGG, _______, KC_MUTE, KC_VOLD, KC_VOLU, RM_VALU, _______,
+ _______, GU_TOGG, _______, _______, _______, _______, RM_SPDU, RM_VALD, RM_SATU)
};
diff --git a/keyboards/akko/top40/keymaps/via/keymap.c b/keyboards/akko/top40/keymaps/via/keymap.c
deleted file mode 100644
index fb9df1623552..000000000000
--- a/keyboards/akko/top40/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright (C) 2023 jonylee@hfd
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-// clang-format off
-enum __layers {
- _Base,
- _FN
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_Base] = LAYOUT( /* Base */
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, MO(_FN),KC_LEFT, KC_DOWN, KC_RGHT),
-
- [_FN] = LAYOUT( /* Fn */
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, _______, _______, _______, _______, _______, KC_PGUP, KC_PGDN, KC_HOME, KC_END, RGB_TOG, RGB_MOD,
- _______, _______, _______, KC_CALC, _______, AG_TOGG, _______, KC_MUTE, KC_VOLD, KC_VOLU, RGB_VAI, _______,
- _______, GU_TOGG, _______, _______, _______, _______, RGB_SPI, RGB_VAD, RGB_SAI)
-};
diff --git a/keyboards/akko/top40/keymaps/via/rules.mk b/keyboards/akko/top40/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/akko/top40/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/al1/keymaps/via/keymap.c b/keyboards/al1/keymaps/via/keymap.c
deleted file mode 100644
index 865f407cb8cf..000000000000
--- a/keyboards/al1/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright 2018 MechMerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT ),
-
- [1] = LAYOUT(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
-
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
-
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ),
-};
diff --git a/keyboards/al1/keymaps/via/rules.mk b/keyboards/al1/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/al1/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/alas/keyboard.json b/keyboards/alas/keyboard.json
index b5617189dec0..41fa879a69aa 100755
--- a/keyboards/alas/keyboard.json
+++ b/keyboards/alas/keyboard.json
@@ -25,7 +25,18 @@
"diode_direction": "COL2ROW",
"processor": "STM32F072",
"bootloader": "stm32-dfu",
- "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_iso",
+ "60_iso_split_bs_rshift",
+ "60_iso_tsangan"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -518,7 +529,7 @@
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/alas/keymaps/via/keymap.c b/keyboards/alas/keymaps/via/keymap.c
deleted file mode 100644
index 3f84154ca400..000000000000
--- a/keyboards/alas/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright 2023 Yiancar-Designs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all( /* Base */
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL),
-
-[1] = LAYOUT_all( /* FN */
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_DOWN, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/alas/keymaps/via/rules.mk b/keyboards/alas/keymaps/via/rules.mk
deleted file mode 100755
index 1e5b99807cb7..000000000000
--- a/keyboards/alas/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/aleblazer/zodiark/keyboard.json b/keyboards/aleblazer/zodiark/keyboard.json
index 9f77049dee10..fba239866ed0 100644
--- a/keyboards/aleblazer/zodiark/keyboard.json
+++ b/keyboards/aleblazer/zodiark/keyboard.json
@@ -60,13 +60,15 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D3",
"encoder": {
"right": {
"rotary": [
{"pin_a": "D4", "pin_b": "D2", "resolution": 3}
]
}
+ },
+ "serial": {
+ "pin": "D3"
}
},
"processor": "atmega32u4",
diff --git a/keyboards/aleblazer/zodiark/keymaps/default/keymap.c b/keyboards/aleblazer/zodiark/keymaps/default/keymap.c
index 755a218e044e..7c5414e93ace 100644
--- a/keyboards/aleblazer/zodiark/keymaps/default/keymap.c
+++ b/keyboards/aleblazer/zodiark/keymaps/default/keymap.c
@@ -23,9 +23,7 @@ enum sofle_layers {
};
enum custom_keycodes {
- KC_QWERTY = SAFE_RANGE,
- KC_COLEMAK,
- KC_LOWER,
+ KC_LOWER = SAFE_RANGE,
KC_RAISE,
KC_ADJUST,
KC_PRVWD,
@@ -35,13 +33,16 @@ enum custom_keycodes {
KC_DLINE
};
+#define KC_QWERTY PDF(_QWERTY)
+#define KC_COLEMAK PDF(_COLEMAK)
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWERTY] = LAYOUT(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
KC_ADJUST, KC_A, KC_S, KC_D, KC_F, KC_G, KC_MINS, KC_EQL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_MUTE, RGB_TOG, KC_DEL,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_MUTE, UG_TOGG, KC_DEL,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
KC_LCTL, KC_LALT, KC_LGUI, LALT(KC_TAB), KC_LOWER, KC_SPC, KC_ENT, KC_ENT, KC_SPC, KC_RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
@@ -64,9 +65,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
_______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, _______, _______, _______, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_TOGG, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_SPDU, UG_HUEU, UG_SATU, UG_VALU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_PREV, UG_SPDD, UG_HUED, UG_SATD, UG_VALD
)
};
@@ -148,16 +149,6 @@ bool oled_task_user(void) {
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case KC_QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- case KC_COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
case KC_LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
diff --git a/keyboards/aleblazer/zodiark/keymaps/via/config.h b/keyboards/aleblazer/zodiark/keymaps/via/config.h
deleted file mode 100644
index 135f55b91915..000000000000
--- a/keyboards/aleblazer/zodiark/keymaps/via/config.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2021 Spencer Deven
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#pragma once
-
-#ifdef OLED_ENABLE
- #define OLED_DISPLAY_128X64
- #define OLED_TIMEOUT 400000
-#endif
-
-#ifdef RGBLIGHT_ENABLE
- #undef RGBLIGHT_EFFECT_RGB_TEST
- #undef RGBLIGHT_EFFECT_ALTERNATING
-#endif
diff --git a/keyboards/aleblazer/zodiark/keymaps/via/encoder.c b/keyboards/aleblazer/zodiark/keymaps/via/encoder.c
deleted file mode 100644
index a9d66b1519f6..000000000000
--- a/keyboards/aleblazer/zodiark/keymaps/via/encoder.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
-Copyright 2021 Spencer Deven
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-//Setting up what encoder rotation does. If your encoder can be pressed as a button, that function can be set in Via.
-
-#ifdef ENCODER_ENABLE
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (index == 1) {
- if (clockwise) {
- tap_code(KC_PGDN);
- } else {
- tap_code(KC_PGUP);
- }
- }
- return true;
-}
-
-#endif
diff --git a/keyboards/aleblazer/zodiark/keymaps/via/keymap.c b/keyboards/aleblazer/zodiark/keymaps/via/keymap.c
deleted file mode 100644
index 3829bcc9684a..000000000000
--- a/keyboards/aleblazer/zodiark/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
-Copyright 2021 Spencer Deven
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-#include "oled.c"
-#include "encoder.c"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- MO(3), KC_A, KC_S, KC_D, KC_F, KC_G, KC_MINS, KC_EQL, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_GRV, KC_MUTE, RGB_TOG, KC_DEL,KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_LCTL, KC_LALT, KC_LGUI, KC_APP, MO(1), KC_SPC, KC_ENT, KC_ENT, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_PSLS, KC_P7, KC_P8, KC_P9, KC_NUM, _______, _______, _______, _______, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_F12,
- KC_CAPS, KC_P4, KC_P5, KC_P6, KC_NUM, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_NUM,
- _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______,
- _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______
- ),
-
- [2] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_PSLS, KC_P7, KC_P8, KC_P9, KC_NUM, _______, _______, _______, _______, KC_PSLS, KC_P7, KC_P8, KC_P9, KC_F12,
- KC_CAPS, KC_P4, KC_P5, KC_P6, KC_NUM, _______, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, KC_NUM,
- _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______,
- _______, KC_P0, KC_PDOT, KC_PENT, _______, _______, _______, _______, _______, _______, KC_P0, KC_PDOT, KC_PENT, _______
- ),
-
- [3] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, EE_CLR, _______, _______, _______, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_TOG, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_SPI, RGB_HUI, RGB_SAI, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD, RGB_SPD, RGB_HUD, RGB_SAD, RGB_VAD
- )
-
-};
diff --git a/keyboards/aleblazer/zodiark/keymaps/via/oled.c b/keyboards/aleblazer/zodiark/keymaps/via/oled.c
deleted file mode 100644
index 8642bacb0548..000000000000
--- a/keyboards/aleblazer/zodiark/keymaps/via/oled.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
-Copyright 2021 Spencer Deven
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#ifdef OLED_ENABLE
-
-static void render_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0
- };
-
- oled_write_P(qmk_logo, false);
-}
-
-static void print_status_narrow(void) {
- // Print current mode
- oled_write_P(PSTR("\n\n"), false);
-
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_ln_P(PSTR("Qwrt"), false);
- break;
- default:
- oled_write_P(PSTR("Mod\n"), false);
- break;
- }
- oled_write_P(PSTR("\n\n"), false);
- // Print current layer
- oled_write_ln_P(PSTR("LAYER"), false);
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_P(PSTR("Base\n"), false);
- break;
- case 1:
- oled_write_P(PSTR("Raise"), false);
- break;
- case 2:
- oled_write_P(PSTR("Lower"), false);
- break;
- case 3:
- oled_write_P(PSTR("Adjust"), false);
- break;
- default:
- oled_write_ln_P(PSTR("Undef"), false);
- }
- oled_write_P(PSTR("\n\n"), false);
- led_t led_usb_state = host_keyboard_led_state();
- oled_write_ln_P(PSTR("CPSLK"), led_usb_state.caps_lock);
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- if (is_keyboard_master()) {
- return OLED_ROTATION_90;
- }
- return rotation;
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- print_status_narrow();
- } else {
- render_logo();
- }
- return false;
-}
-
-#endif
diff --git a/keyboards/aleblazer/zodiark/keymaps/via/rules.mk b/keyboards/aleblazer/zodiark/keymaps/via/rules.mk
deleted file mode 100644
index 76d3c49ffd61..000000000000
--- a/keyboards/aleblazer/zodiark/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-RGBLIGHT_ENABLE = yes
-VIA_ENABLE = yes
diff --git a/keyboards/alf/x11/keymaps/default/keymap.c b/keyboards/alf/x11/keymaps/default/keymap.c
index 22d459faad7e..416287fcffad 100644
--- a/keyboards/alf/x11/keymaps/default/keymap.c
+++ b/keyboards/alf/x11/keymaps/default/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_TOGG, BL_DOWN, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_MPLY, KC_MSTP,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
diff --git a/keyboards/alf/x11/keymaps/via/keymap.c b/keyboards/alf/x11/keymaps/via/keymap.c
deleted file mode 100644
index c744f07f5943..000000000000
--- a/keyboards/alf/x11/keymaps/via/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2019 MechMerlin (copied from default keymap)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
-
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_MPLY, KC_MSTP,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/alf/x11/keymaps/via/rules.mk b/keyboards/alf/x11/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/alf/x11/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/alfredslab/swift65/hotswap/keymaps/via/keymap.c b/keyboards/alfredslab/swift65/hotswap/keymaps/via/keymap.c
deleted file mode 100644
index 828ff4ae5786..000000000000
--- a/keyboards/alfredslab/swift65/hotswap/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2021 Steven Phillips (spooknik)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ansi_blocker_tsangan(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, _______, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_ansi_blocker_tsangan(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
- _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- [2] = LAYOUT_ansi_blocker_tsangan(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_ansi_blocker_tsangan(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
diff --git a/keyboards/alfredslab/swift65/hotswap/keymaps/via/rules.mk b/keyboards/alfredslab/swift65/hotswap/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/alfredslab/swift65/hotswap/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/alfredslab/swift65/solder/keymaps/via/keymap.c b/keyboards/alfredslab/swift65/solder/keymaps/via/keymap.c
deleted file mode 100644
index ba05b3340aee..000000000000
--- a/keyboards/alfredslab/swift65/solder/keymaps/via/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2021 Steven Phillips (spooknik)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ansi_blocker_split_bs(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_ansi_blocker_split_bs(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
- _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
- [2] = LAYOUT_ansi_blocker_split_bs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_ansi_blocker_split_bs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
diff --git a/keyboards/alfredslab/swift65/solder/keymaps/via/rules.mk b/keyboards/alfredslab/swift65/solder/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/alfredslab/swift65/solder/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/alhenkb/macropad5x4/keymaps/via/keymap.c b/keyboards/alhenkb/macropad5x4/keymaps/via/keymap.c
deleted file mode 100644
index 12a878346e4d..000000000000
--- a/keyboards/alhenkb/macropad5x4/keymaps/via/keymap.c
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2023 QMK
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌───┬───┬───┬───┐
- * │ 1 │ 2 │ 3 │ 4 │
- * ├───┼───┼───┼───┤
- * │ 5 │ 6 │ 7 │ 8 │
- * ├───┼───┼───┼───┤
- * │ Q │ W │ E │ R │
- * ├───┼───┼───┼───┤
- * │ A │ S │ D │ F │
- * ├───┼───┼───┼───┤
- * │ Z │ X │ C │ V │
- * └───────┴───┴───┘
- */
- [0] = LAYOUT_ortho_5x4(
- KC_P1, KC_P2, KC_P3, KC_P4,
- KC_P5, KC_P6, KC_P7, KC_P8,
- KC_Q, KC_W, KC_E, KC_R,
- KC_A, KC_S, KC_D, KC_F,
- KC_Z, KC_X, KC_C, KC_V
- ),
-};
diff --git a/keyboards/alhenkb/macropad5x4/keymaps/via/rules.mk b/keyboards/alhenkb/macropad5x4/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/alhenkb/macropad5x4/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/aliceh66/pianoforte/keymaps/via/keymap.c b/keyboards/aliceh66/pianoforte/keymaps/via/keymap.c
deleted file mode 100644
index e0579044b9bd..000000000000
--- a/keyboards/aliceh66/pianoforte/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright 2022 AliceH
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _LAYER0,
- _LAYER1,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_LAYER0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_LAYER1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/aliceh66/pianoforte/keymaps/via/rules.mk b/keyboards/aliceh66/pianoforte/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/aliceh66/pianoforte/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/aliceh66/pianoforte_hs/keymaps/via/keymap.c b/keyboards/aliceh66/pianoforte_hs/keymaps/via/keymap.c
deleted file mode 100644
index 6bcfa56fca96..000000000000
--- a/keyboards/aliceh66/pianoforte_hs/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright 2022 AliceH
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _LAYER0,
- _LAYER1
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_LAYER0] = LAYOUT_tkl_f13_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_LAYER1] = LAYOUT_tkl_f13_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/aliceh66/pianoforte_hs/keymaps/via/rules.mk b/keyboards/aliceh66/pianoforte_hs/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/aliceh66/pianoforte_hs/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/alpaca/wfeclipse/keymaps/default/keymap.c b/keyboards/alpaca/wfeclipse/keymaps/default/keymap.c
index 3849b2889c13..548db39a1086 100644
--- a/keyboards/alpaca/wfeclipse/keymaps/default/keymap.c
+++ b/keyboards/alpaca/wfeclipse/keymaps/default/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,KC_MPRV, QK_BOOT,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, KC_TRNS, KC_MNXT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_HUD, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_HUEU, KC_TRNS, KC_MNXT, KC_TRNS,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RM_PREV, RM_HUED, RM_TOGG, KC_TRNS, KC_TRNS, KC_TRNS
)
};
diff --git a/keyboards/alpaca/wfeclipse/keymaps/via/keymap.c b/keyboards/alpaca/wfeclipse/keymaps/via/keymap.c
deleted file mode 100644
index ed0d448fb19b..000000000000
--- a/keyboards/alpaca/wfeclipse/keymaps/via/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2023 temp4gh
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- WIN_BASE,
- WIN_FN,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [WIN_BASE] =LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END , KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(WIN_FN),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [WIN_FN] =LAYOUT(
- KC_GRV , KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,KC_MPRV, QK_BOOT,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_HUI, KC_TRNS, KC_MNXT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_RMOD,RGB_HUD, RGB_TOG, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/alpaca/wfeclipse/keymaps/via/rules.mk b/keyboards/alpaca/wfeclipse/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/alpaca/wfeclipse/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/alpha/keymaps/default/keymap.c b/keyboards/alpha/keymaps/default/keymap.c
index e626062bcc56..f459829ae0db 100755
--- a/keyboards/alpha/keymaps/default/keymap.c
+++ b/keyboards/alpha/keymaps/default/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MODS2] = LAYOUT(
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
KC_LSFT, KC_F11, KC_F12, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV, TO(3),
- RGB_VAI, RGB_VAD, RGB_HUI, TO(0), RGB_MOD, KC_MPLY, KC_VOLD, KC_VOLU),
+ UG_VALU, UG_VALD, UG_HUEU, TO(0), UG_NEXT, KC_MPLY, KC_VOLD, KC_VOLU),
[OTHER] = LAYOUT(
QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
diff --git a/keyboards/alpine65/keymaps/via/keymap.c b/keyboards/alpine65/keymaps/via/keymap.c
deleted file mode 100755
index eaa348490a0f..000000000000
--- a/keyboards/alpine65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_HOME,
- KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ),
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
-};
diff --git a/keyboards/alpine65/keymaps/via/rules.mk b/keyboards/alpine65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/alpine65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/alps64/keymaps/via/keymap.c b/keyboards/alps64/keymaps/via/keymap.c
deleted file mode 100644
index aef6995a1045..000000000000
--- a/keyboards/alps64/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* 0: qwerty */
- [0] = LAYOUT_all(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NUHS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_ESC,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_APP, KC_RALT, KC_RGUI, KC_RCTL
- ),
-
- [1] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
diff --git a/keyboards/alps64/keymaps/via/rules.mk b/keyboards/alps64/keymaps/via/rules.mk
deleted file mode 100644
index c4a4cd8fd93f..000000000000
--- a/keyboards/alps64/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = no
diff --git a/keyboards/alt34/rev1/config.h b/keyboards/alt34/rev1/config.h
index 9dd9e9bdde59..d71179bed550 100644
--- a/keyboards/alt34/rev1/config.h
+++ b/keyboards/alt34/rev1/config.h
@@ -21,5 +21,4 @@ along with this program. If not, see .
/* Select hand configuration */
#define EE_HANDS
-/* #define MASTER_LEFT */
-/* #define MASTER_RIGHT */
+
diff --git a/keyboards/amag23/keymaps/default/keymap.c b/keyboards/amag23/keymaps/default/keymap.c
index eefdd35db3f4..f2064f111b2f 100644
--- a/keyboards/amag23/keymaps/default/keymap.c
+++ b/keyboards/amag23/keymaps/default/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_Z, KC_X, KC_C, KC_B, KC_SPC
),
[FN1] = LAYOUT( /* Function Layer */
- KC_NO, KC_NO, KC_NO, RGB_MOD, KC_NO, KC_NO,
+ KC_NO, KC_NO, KC_NO, UG_NEXT, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
diff --git a/keyboards/amag23/keymaps/via/keymap.c b/keyboards/amag23/keymaps/via/keymap.c
deleted file mode 100644
index 9c97ace7378c..000000000000
--- a/keyboards/amag23/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright 2022
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- BASE,
- FN1,
- FN2,
- FN3
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [BASE] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T,
- MO(FN1), KC_A, KC_S, KC_D, KC_F, KC_G,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_SPC
- ),
- [FN1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5,
- _______, RGB_TOG, RGB_VAI, RGB_MOD, RGB_HUI, _______,
- _______, _______, RGB_VAD, RGB_RMOD,RGB_HUD, _______,
- _______, _______, _______, _______, _______
- ),
- [FN2] = LAYOUT(
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______
- ),
- [FN3] = LAYOUT(
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______
- ),
-};
-// clang-format on
diff --git a/keyboards/amag23/keymaps/via/rules.mk b/keyboards/amag23/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/amag23/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/amjkeyboard/amj40/keymaps/default/keymap.c b/keyboards/amjkeyboard/amj40/keymaps/default/keymap.c
index 0cc5dfabf1d6..c867404a89e5 100755
--- a/keyboards/amjkeyboard/amj40/keymaps/default/keymap.c
+++ b/keyboards/amjkeyboard/amj40/keymaps/default/keymap.c
@@ -86,7 +86,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, RGB_TOG
+ _______, _______, _______, _______, _______, _______, _______, UG_TOGG
),
/* Function Layer 1 HHKB style
@@ -103,7 +103,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL,
_______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, _______, _______, _______, _______,
- _______, _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD,
+ _______, _______, _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD,
KC_SLEP, _______, _______, _______, _______, _______, _______, _______
),
};
diff --git a/keyboards/anavi/knobs3/keymaps/default/keymap.c b/keyboards/anavi/knobs3/keymaps/default/keymap.c
index e5eaa2f1e19c..eddcd071ab8f 100644
--- a/keyboards/anavi/knobs3/keymaps/default/keymap.c
+++ b/keyboards/anavi/knobs3/keymaps/default/keymap.c
@@ -5,6 +5,6 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
- KC_MUTE, RGB_TOG, RGB_MOD
+ KC_MUTE, UG_TOGG, UG_NEXT
)
};
diff --git a/keyboards/anavi/macropad10/keymaps/default/keymap.c b/keyboards/anavi/macropad10/keymaps/default/keymap.c
index 8a02b392c053..901e5aafa9ed 100644
--- a/keyboards/anavi/macropad10/keymaps/default/keymap.c
+++ b/keyboards/anavi/macropad10/keymaps/default/keymap.c
@@ -11,6 +11,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_mp10(
KC_A , KC_B , KC_C ,
KC_D , KC_E , KC_F ,
- RGB_M_R , RGB_MOD , RGB_TOG
+ RGB_M_R , UG_NEXT , UG_TOGG
)
};
diff --git a/keyboards/anavi/macropad12/keymaps/default/keymap.c b/keyboards/anavi/macropad12/keymaps/default/keymap.c
index e74b20d9bad4..10ca01353c23 100644
--- a/keyboards/anavi/macropad12/keymaps/default/keymap.c
+++ b/keyboards/anavi/macropad12/keymaps/default/keymap.c
@@ -12,6 +12,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_1, KC_2, KC_3,
KC_4, KC_5, KC_6,
KC_7, KC_8, KC_9,
- BL_STEP, RGB_MOD, RGB_TOG
+ BL_STEP, UG_NEXT, UG_TOGG
)
};
diff --git a/keyboards/anavi/macropad8/keymaps/default/keymap.c b/keyboards/anavi/macropad8/keymaps/default/keymap.c
index 84be7f3c68e2..4f7041e6c458 100644
--- a/keyboards/anavi/macropad8/keymaps/default/keymap.c
+++ b/keyboards/anavi/macropad8/keymaps/default/keymap.c
@@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_ortho_2x4(
- RGB_TOG, RGB_MOD, RGB_M_R, RGB_M_SN,
+ UG_TOGG, UG_NEXT, RGB_M_R, RGB_M_SN,
BL_TOGG, BL_STEP, BL_BRTG, _______
)
};
diff --git a/keyboards/annepro2/annepro2.c b/keyboards/annepro2/annepro2.c
index 170eb8c175aa..f536690de3de 100644
--- a/keyboards/annepro2/annepro2.c
+++ b/keyboards/annepro2/annepro2.c
@@ -211,7 +211,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
ap2_led_reset_foreground_color();
return false;
#ifdef RGB_MATRIX_ENABLE
- case RGB_TOG:
+ case QK_RGB_MATRIX_TOGGLE:
if(rgb_matrix_is_enabled()) ap2_led_disable();
else ap2_led_enable();
return true;
diff --git a/keyboards/anomalykb/a65i/keymaps/via/config.h b/keyboards/anomalykb/a65i/keymaps/via/config.h
deleted file mode 100644
index e352e4256781..000000000000
--- a/keyboards/anomalykb/a65i/keymaps/via/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Lfgberg
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2
diff --git a/keyboards/anomalykb/a65i/keymaps/via/keymap.c b/keyboards/anomalykb/a65i/keymaps/via/keymap.c
deleted file mode 100644
index b620124b9378..000000000000
--- a/keyboards/anomalykb/a65i/keymaps/via/keymap.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* Copyright 2021 Lfgberg
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-/* Default Layer
- * ,----------------------------------------------------------------.
- * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp |Home|
- * |----------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp|
- * |----------------------------------------------------------------|
- * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn|
- * |----------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
- * |----------------------------------------------------------------|
- * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
- * `----------------------------------------------------------------'
- */
-
-[0] = LAYOUT_65_ansi_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PSCR,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
-
- /* Layer One
- * ,----------------------------------------------------------------.
- * |RST| F1| F2| F3| F4| F5| F6| F7| F8| F9| F0|F11|F12|Backsp |Home|
- * |----------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ |PgUp|
- * |----------------------------------------------------------------|
- * |Caps | A| S| D| F| G| H| J| K| L| ;| '|Return |PgDn|
- * |----------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | Up|Del |
- * |----------------------------------------------------------------|
- * |Ctrl|Win |Alt | Space |Alt| FN|Ctrl|Lef|Dow|Rig |
- * `----------------------------------------------------------------'
- */
-
- [1] = LAYOUT_65_ansi_blocker(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-};
diff --git a/keyboards/anomalykb/a65i/keymaps/via/rules.mk b/keyboards/anomalykb/a65i/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/anomalykb/a65i/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/aos/tkl/keymaps/default/keymap.c b/keyboards/aos/tkl/keymaps/default/keymap.c
index 5893d12af462..18d52371ad64 100644
--- a/keyboards/aos/tkl/keymaps/default/keymap.c
+++ b/keyboards/aos/tkl/keymaps/default/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI,
- _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAI
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_HUEU,
+ _______, _______, _______, _______, _______, UG_SATD, UG_HUED, UG_VALU
),
};
diff --git a/keyboards/aos/tkl/keymaps/via/keymap.c b/keyboards/aos/tkl/keymaps/via/keymap.c
deleted file mode 100644
index 748a921180f4..000000000000
--- a/keyboards/aos/tkl/keymaps/via/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2020 Rys Sommefeldt
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_iso_wkl(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_iso_wkl(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI,
- _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAI
- ),
- [2] = LAYOUT_tkl_iso_wkl(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_tkl_iso_wkl(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
-
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/aos/tkl/keymaps/via/rules.mk b/keyboards/aos/tkl/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/aos/tkl/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/aozora/keymaps/via/keymap.c b/keyboards/aozora/keymaps/via/keymap.c
deleted file mode 100644
index a6e20e0e4e86..000000000000
--- a/keyboards/aozora/keymaps/via/keymap.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2021 Salmon Cat Studio
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-#include "sendstring_japanese.h" // macro sendstring for jis keyboard マクロ文字列送信時に日本語キーボード設定での文字化け回避
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_INT3, KC_BSPC, KC_PSCR, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_PIPE, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_INT1, KC_RSFT, KC_UP, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_F14, KC_F15, KC_F16,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/aozora/keymaps/via/rules.mk b/keyboards/aozora/keymaps/via/rules.mk
deleted file mode 100644
index 32f462d06cac..000000000000
--- a/keyboards/aozora/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no
\ No newline at end of file
diff --git a/keyboards/arabica37/keymaps/default/config.h b/keyboards/arabica37/keymaps/default/config.h
index 5654f4daf4bb..ff8c9caffc48 100644
--- a/keyboards/arabica37/keymaps/default/config.h
+++ b/keyboards/arabica37/keymaps/default/config.h
@@ -22,12 +22,6 @@ along with this program. If not, see .
//#define USE_MATRIX_I2C
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
#define QUICK_TAP_TERM 0
#define TAPPING_TERM 170
diff --git a/keyboards/arabica37/keymaps/default/keymap.c b/keyboards/arabica37/keymaps/default/keymap.c
index e15e872d0258..44ec007178d3 100644
--- a/keyboards/arabica37/keymaps/default/keymap.c
+++ b/keyboards/arabica37/keymaps/default/keymap.c
@@ -61,11 +61,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_ADJUST] = LAYOUT(
//,-----------------------------------------------. ,-----------------------------------------------.
- KC_TRNS, RGBRST,RGB_TOG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_TRNS, RGBRST,UG_TOGG, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
- KC_TRNS,RGB_HUI,RGB_SAI,RGB_VAI,AG_SWAP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_TRNS,UG_HUEU,UG_SATU,UG_VALU,AG_SWAP, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
- KC_TRNS,RGB_HUD,RGB_SAD,RGB_VAD,AG_NORM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_TRNS,UG_HUED,UG_SATD,UG_VALD,AG_NORM, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,
//|-------+-------+-------+-------+-------+-------| |-------+-------+-------+-------+-------+-------|
@@ -116,7 +116,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
return false;
break;
- case RGB_MOD:
+ case QK_UNDERGLOW_TOGGLE:
#ifdef RGBLIGHT_ENABLE
if (record->event.pressed) {
rgblight_mode(RGB_current_mode);
diff --git a/keyboards/arabica37/rev1/keyboard.json b/keyboards/arabica37/rev1/keyboard.json
index 710a377ab9a2..63c4fe2940e0 100644
--- a/keyboards/arabica37/rev1/keyboard.json
+++ b/keyboards/arabica37/rev1/keyboard.json
@@ -21,7 +21,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"rgblight": {
"led_count": 50,
diff --git a/keyboards/archerkeyboard/desire65/keymaps/via/keymap.c b/keyboards/archerkeyboard/desire65/keymaps/via/keymap.c
deleted file mode 100644
index ef19ddca0db1..000000000000
--- a/keyboards/archerkeyboard/desire65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2024 ArcherKeyboard (archerkeyboard2022@gmail.com)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_65_ansi_blocker_tsangan_split_bs(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- [1] = LAYOUT_65_ansi_blocker_tsangan_split_bs(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_INS, _______, KC_PSCR, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLU, _______,
- _______, _______, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
- ),
-
-};
diff --git a/keyboards/archerkeyboard/desire65/keymaps/via/rules.mk b/keyboards/archerkeyboard/desire65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/archerkeyboard/desire65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/archetype/minervalx/keymaps/via/keymap.c b/keyboards/archetype/minervalx/keymaps/via/keymap.c
deleted file mode 100644
index c52c7f4c1e14..000000000000
--- a/keyboards/archetype/minervalx/keymaps/via/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2024 Archetype Made, Inc.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_RCTL
- ),
- [1] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/archetype/minervalx/keymaps/via/rules.mk b/keyboards/archetype/minervalx/keymaps/via/rules.mk
deleted file mode 100644
index 43061db1dd46..000000000000
--- a/keyboards/archetype/minervalx/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/ares/keyboard.json b/keyboards/ares/keyboard.json
index 389456570277..f1e650397ebf 100644
--- a/keyboards/ares/keyboard.json
+++ b/keyboards/ares/keyboard.json
@@ -52,9 +52,24 @@
"processor": "atmega32a",
"bootloader": "bootloadhid",
"layout_aliases": {
- "LAYOUT": "LAYOUT_all"
+ "LAYOUT": "LAYOUT_all",
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
},
- "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_ansi_wkl",
+ "60_ansi_wkl_split_bs_rshift",
+ "60_hhkb",
+ "60_iso",
+ "60_iso_split_bs_rshift",
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift",
+ "60_iso_wkl",
+ "60_iso_wkl_split_bs_rshift"
+ ],
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -337,7 +352,7 @@
{"matrix": [0, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [4, 0], "x": 0, "y": 0},
{"matrix": [4, 1], "x": 1, "y": 0},
diff --git a/keyboards/ares/keymaps/default/keymap.c b/keyboards/ares/keymaps/default/keymap.c
index c7fcb2dd1a80..4f0f76cd557a 100644
--- a/keyboards/ares/keymaps/default/keymap.c
+++ b/keyboards/ares/keymaps/default/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
),
[_FN] = LAYOUT_all(
- RGB_MOD, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
+ UG_NEXT, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/argo_works/ishi/80/mk0_avr/keymaps/via/keymap.c b/keyboards/argo_works/ishi/80/mk0_avr/keymaps/via/keymap.c
deleted file mode 100644
index f0c0cfad96bf..000000000000
--- a/keyboards/argo_works/ishi/80/mk0_avr/keymaps/via/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2022 Jason Devadoss (@jasonj2232)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- BL,
- UL,
- TL,
- FL,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [BL] = LAYOUT(
- KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_PPLS, KC_P9, KC_P8, KC_P7, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_P6, KC_P5, KC_P4, KC_CAPS_LOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_PENT, KC_P3, KC_P2, KC_P1, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_PDOT, KC_P0, KC_LCTL, KC_LGUI, LT(1, KC_LALT), KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_AUDIO_MUTE
-
- ),
-
- [UL] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,
- KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT,KC_DOWN, KC_DOWN, KC_MPLY
- ),
-
- [TL] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [FL] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/argo_works/ishi/80/mk0_avr/keymaps/via/rules.mk b/keyboards/argo_works/ishi/80/mk0_avr/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/argo_works/ishi/80/mk0_avr/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/via/keymap.c b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/via/keymap.c
deleted file mode 100644
index bb50ac3c9db0..000000000000
--- a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/via/keymap.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright 2022 Jason Devadoss (@jasonj2232)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- BL,
- UL,
- TL,
- FL,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [BL] = LAYOUT(
- KC_PMNS, KC_PAST, KC_PSLS, KC_NUM, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_PPLS, KC_P9, KC_P8, KC_P7, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_P6, KC_P5, KC_P4, KC_CAPS_LOCK, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_PENT, KC_P3, KC_P2, KC_P1, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_PDOT, KC_P0, KC_LCTL, KC_LGUI, LT(1, KC_LALT), KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_AUDIO_MUTE
-
- ),
-
- [UL] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,
- KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT,KC_DOWN, KC_RIGHT, KC_MPLY
- ),
-
- [TL] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [FL] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
-
-#ifdef ENCODER_MAP_ENABLE
- const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [BL] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [UL] = { ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
- [TL] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [FL] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- };
-#endif
\ No newline at end of file
diff --git a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/via/rules.mk b/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/via/rules.mk
deleted file mode 100644
index 6ccd6d91943d..000000000000
--- a/keyboards/argo_works/ishi/80/mk0_avr_extra/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-ENCODER_MAP_ENABLE = yes
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/argyle/keyboard.json b/keyboards/argyle/keyboard.json
index 82dbe1562af4..a7bfc335df99 100755
--- a/keyboards/argyle/keyboard.json
+++ b/keyboards/argyle/keyboard.json
@@ -45,7 +45,7 @@
"60_ansi",
"60_ansi_split_bs_rshift",
"60_ansi_tsangan",
- "60_tsangan_hhkb",
+ "60_ansi_tsangan_split_bs_rshift",
"60_ansi_wkl",
"60_ansi_wkl_split_bs_rshift",
"60_hhkb",
@@ -56,6 +56,9 @@
"60_iso_wkl",
"60_iso_wkl_split_bs_rshift"
],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -837,7 +840,7 @@
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/argyle/keymaps/default/keymap.c b/keyboards/argyle/keymaps/default/keymap.c
index e4cdf5625df9..e64532f31c4a 100644
--- a/keyboards/argyle/keymaps/default/keymap.c
+++ b/keyboards/argyle/keymaps/default/keymap.c
@@ -29,6 +29,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/argyle/keymaps/iso/keymap.c b/keyboards/argyle/keymaps/iso/keymap.c
index fe2de3a3e58b..13af158db40c 100644
--- a/keyboards/argyle/keymaps/iso/keymap.c
+++ b/keyboards/argyle/keymaps/iso/keymap.c
@@ -29,6 +29,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/argyle/keymaps/via/keymap.c b/keyboards/argyle/keymaps/via/keymap.c
deleted file mode 100644
index 4efbdb2f3061..000000000000
--- a/keyboards/argyle/keymaps/via/keymap.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Copyright 2020 Yiancar
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// This keymaps is used for VIA, it reflects the default keymap.
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all( /* Base */
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1) , KC_APP, KC_RCTL),
-
-[1] = LAYOUT_all( /* FN */
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/argyle/keymaps/via/rules.mk b/keyboards/argyle/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/argyle/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/argyle/matrix.c b/keyboards/argyle/matrix.c
index d435b368c228..661310ade0dc 100644
--- a/keyboards/argyle/matrix.c
+++ b/keyboards/argyle/matrix.c
@@ -24,21 +24,21 @@ along with this program. If not, see .
static const pin_t row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
static const pin_t col_pins[MATRIX_COLS] = MATRIX_COL_PINS;
-static inline void setPinOutput_writeLow(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_low(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_low(pin);
}
}
-static inline void setPinOutput_writeHigh(pin_t pin) {
+static inline void gpio_atomic_set_pin_output_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_output(pin);
gpio_write_pin_high(pin);
}
}
-static inline void setPinInputHigh_atomic(pin_t pin) {
+static inline void gpio_atomic_set_pin_input_high(pin_t pin) {
ATOMIC_BLOCK_FORCEON {
gpio_set_pin_input_high(pin);
}
@@ -55,7 +55,7 @@ static inline uint8_t readMatrixPin(pin_t pin) {
static bool select_row(uint8_t row) {
pin_t pin = row_pins[row];
if (pin != NO_PIN) {
- setPinOutput_writeLow(pin);
+ gpio_atomic_set_pin_output_low(pin);
return true;
}
return false;
@@ -64,7 +64,7 @@ static bool select_row(uint8_t row) {
static void unselect_row(uint8_t row) {
pin_t pin = row_pins[row];
if (pin != NO_PIN) {
- setPinInputHigh_atomic(pin);
+ gpio_atomic_set_pin_input_high(pin);
}
}
@@ -84,7 +84,7 @@ static void init_pins(void) {
for (uint8_t x = 0; x < MATRIX_COLS; x++) {
if (col_pins[x] != NO_PIN) {
- setPinInputHigh_atomic(col_pins[x]);
+ gpio_atomic_set_pin_input_high(col_pins[x]);
}
}
}
diff --git a/keyboards/arisu/keymaps/via/keymap.c b/keyboards/arisu/keymaps/via/keymap.c
deleted file mode 100644
index d19f4ad3b4e9..000000000000
--- a/keyboards/arisu/keymaps/via/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2019 Fate
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(1),
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/arisu/keymaps/via/rules.mk b/keyboards/arisu/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/arisu/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/arrayperipherals/1x4p1/keymaps/via/keymap.c b/keyboards/arrayperipherals/1x4p1/keymaps/via/keymap.c
deleted file mode 100644
index 816b17844cf9..000000000000
--- a/keyboards/arrayperipherals/1x4p1/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright 2020 David Doan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* First encoder */
- if (clockwise) {
- tap_code(KC_MS_WH_UP);
- } else {
- tap_code(KC_MS_WH_DOWN);
- }
- }
- return true;
-}
-
-//
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //button closest to usb is first
- [0] = LAYOUT_ortho_1x5(
- KC_ESC, KC_TAB, KC_LSFT, KC_LCTL, TG(1)
- ),
-
- [1] = LAYOUT_ortho_1x5(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(2)
- ),
- [2] = LAYOUT_ortho_1x5(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(3)
- ),
- [3] = LAYOUT_ortho_1x5(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(0)
- )
-};
diff --git a/keyboards/arrayperipherals/1x4p1/keymaps/via/rules.mk b/keyboards/arrayperipherals/1x4p1/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/arrayperipherals/1x4p1/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/arrayperipherals/vector/keyboard.json b/keyboards/arrayperipherals/vector/keyboard.json
new file mode 100644
index 000000000000..505199831d5a
--- /dev/null
+++ b/keyboards/arrayperipherals/vector/keyboard.json
@@ -0,0 +1,40 @@
+{
+ "manufacturer": "Array Peripherals",
+ "keyboard_name": "The Vector",
+ "maintainer": "daviddoan",
+ "bootloader": "atmel-dfu",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "F0", "pin_b": "F1"}
+ ]
+ },
+ "features": {
+ "bootmagic": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true
+ },
+ "matrix_pins": {
+ "direct": [
+ ["D4", "C6", "D7", "E6", "F7"]
+ ]
+ },
+ "processor": "atmega32u4",
+ "url": "https://arrayperipherals.com",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x4F47",
+ "vid": "0x4152"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label": "k01", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "k02", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "k03", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "k04", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "k05", "matrix": [0, 4], "x": 4.25, "y": 0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/arrayperipherals/vector/keymaps/default/keymap.c b/keyboards/arrayperipherals/vector/keymaps/default/keymap.c
new file mode 100644
index 000000000000..e290e3707646
--- /dev/null
+++ b/keyboards/arrayperipherals/vector/keymaps/default/keymap.c
@@ -0,0 +1,36 @@
+/*
+Copyright 2024 David Doan
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see .
+*/
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+
+ [0] = LAYOUT(
+ KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, TG(1)
+ ),
+
+ [1] = LAYOUT(
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, TG(1)
+ ),
+};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = {ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
+ [1] = {ENCODER_CCW_CW(KC_TRNS, KC_TRNS)},
+};
+#endif // ENCODER_MAP_ENABLE
\ No newline at end of file
diff --git a/keyboards/arrayperipherals/vector/keymaps/default/rules.mk b/keyboards/arrayperipherals/vector/keymaps/default/rules.mk
new file mode 100644
index 000000000000..a40474b4d5c7
--- /dev/null
+++ b/keyboards/arrayperipherals/vector/keymaps/default/rules.mk
@@ -0,0 +1 @@
+ENCODER_MAP_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/arrayperipherals/vector/readme.md b/keyboards/arrayperipherals/vector/readme.md
new file mode 100644
index 000000000000..dee7dc8f9a16
--- /dev/null
+++ b/keyboards/arrayperipherals/vector/readme.md
@@ -0,0 +1,26 @@
+# The Vector Macropad
+
+![The Vector](https://i.imgur.com/rmy76bp.png)
+
+A small (1x4) macropad with a rotary. [More info at arrayperipherals.com](https://www.arrayperipherals.com/)
+
+* Keyboard Maintainer: [David Doan](https://github.com/daviddoan)
+* Hardware Supported: Custom PCB with Atmega32u4 processor
+* Hardware Availability: [arrayperipherals.com](https://www.arrayperipherals.com/)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make arrayperipherals/vector:default
+
+Flashing example for this keyboard:
+
+ make arrayperipherals/vector:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (left most from the rotary)
+* **Physical reset button**: Briefly double press the button on the back of the PCB
\ No newline at end of file
diff --git a/keyboards/arrowmechanics/wings/keyboard.json b/keyboards/arrowmechanics/wings/keyboard.json
index 1da4077baa86..f0f0a9c4428b 100644
--- a/keyboards/arrowmechanics/wings/keyboard.json
+++ b/keyboards/arrowmechanics/wings/keyboard.json
@@ -188,6 +188,9 @@
},
"split": {
"enabled": true,
+ "serial": {
+ "driver": "vendor"
+ },
"transport": {
"sync": {
"layer_state": true,
diff --git a/keyboards/arrowmechanics/wings/keymaps/default/keymap.c b/keyboards/arrowmechanics/wings/keymaps/default/keymap.c
index 949219b820bf..6e0a6a18dcb2 100644
--- a/keyboards/arrowmechanics/wings/keymaps/default/keymap.c
+++ b/keyboards/arrowmechanics/wings/keymaps/default/keymap.c
@@ -10,7 +10,7 @@ enum layers {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[BASE] = LAYOUT(
KC_VOLU, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_EQL, KC_PSCR, KC_DEL,
- KC_VOLD, KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, RGB_MOD, KC_BTN1, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC,
+ KC_VOLD, KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, RM_NEXT, KC_BTN1, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_BSPC,
KC_MPLY, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, C(KC_C), C(KC_V), KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_MNXT, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, C(KC_Z), C(KC_Y), KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_MPRV, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_ENT, KC_ENT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_HOME,
@@ -20,6 +20,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [BASE] = { ENCODER_CCW_CW(RGB_HUI, RGB_HUD), ENCODER_CCW_CW(KC_WH_U, KC_WH_D) },
+ [BASE] = { ENCODER_CCW_CW(RM_HUEU, RM_HUED), ENCODER_CCW_CW(KC_WH_U, KC_WH_D) },
};
#endif
diff --git a/keyboards/arrowmechanics/wings/rules.mk b/keyboards/arrowmechanics/wings/rules.mk
deleted file mode 100644
index 161ec22b16e2..000000000000
--- a/keyboards/arrowmechanics/wings/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/artemis/paragon/keymaps/via/keymap.c b/keyboards/artemis/paragon/keymaps/via/keymap.c
deleted file mode 100644
index 47e269c78ab7..000000000000
--- a/keyboards/artemis/paragon/keymaps/via/keymap.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
-Copyright 2023 Sleepdealer
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }
-};
-#endif
diff --git a/keyboards/artemis/paragon/keymaps/via/rules.mk b/keyboards/artemis/paragon/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/artemis/paragon/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/artifact/lvl/rev_hs01/keymaps/via/keymap.c b/keyboards/artifact/lvl/rev_hs01/keymaps/via/keymap.c
deleted file mode 100644
index 0cca681ba672..000000000000
--- a/keyboards/artifact/lvl/rev_hs01/keymaps/via/keymap.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2024 Yiancar-Designs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_tkl_ansi_tsangan( /* Base */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
-};
diff --git a/keyboards/artifact/lvl/rev_hs01/keymaps/via/rules.mk b/keyboards/artifact/lvl/rev_hs01/keymaps/via/rules.mk
deleted file mode 100755
index 1e5b99807cb7..000000000000
--- a/keyboards/artifact/lvl/rev_hs01/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/ashwing66/keymaps/default/keymap.c b/keyboards/ashwing66/keymaps/default/keymap.c
index 2b317e19ebab..304f888742b8 100644
--- a/keyboards/ashwing66/keymaps/default/keymap.c
+++ b/keyboards/ashwing66/keymaps/default/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LBRC,KC_PSCR,KC_CAPS ,MO(_LAYERB),KC_LGUI ,KC_LALT ,KC_SPC ,KC_PGDN ,KC_PGUP ,KC_ENT ,KC_BSPC ,MO(_LAYERC),KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC
),
[_LAYERB] = LAYOUT_5x16(
- KC_ESC ,RGB_TOG,RGB_RMOD,RGB_MOD ,RGB_VAD ,RGB_VAI ,RGB_SPD ,RGB_SPI ,RGB_HUD ,RGB_HUI ,RGB_SAD ,RGB_SAI ,
+ KC_ESC ,RM_TOGG,RM_PREV ,RM_NEXT ,RM_VALD ,RM_VALU ,RM_SPDD ,RM_SPDU ,RM_HUED ,RM_HUEU ,RM_SATD ,RM_SATU ,
KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_P ,KC_EQL ,
KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_SCLN ,KC_QUOT ,
KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[_LAYERA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
- [_LAYERB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
- [_LAYERC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}
+ [_LAYERB] = { ENCODER_CCW_CW(RM_HUED, RM_HUEU)},
+ [_LAYERC] = { ENCODER_CCW_CW(RM_VALD, RM_VALU)}
};
#endif
diff --git a/keyboards/ashwing66/keymaps/via/keymap.c b/keyboards/ashwing66/keymaps/via/keymap.c
deleted file mode 100644
index 2b317e19ebab..000000000000
--- a/keyboards/ashwing66/keymaps/via/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-// Copyright 2023 James GzowskiMO(_LAYERB)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-enum custom_layer {
- _LAYERA,
- _LAYERB,
- _LAYERC,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_LAYERA] = LAYOUT_5x16(
- KC_ESC ,KC_1 ,KC_2 ,KC_3 ,KC_4 ,KC_5 ,KC_6 ,KC_7 ,KC_8 ,KC_9 ,KC_0 ,KC_GRV ,
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_I ,KC_O ,KC_P ,KC_MINS ,
- KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_J ,KC_K ,KC_L ,KC_SCLN ,KC_QUOT ,
- KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
- KC_LBRC,KC_PSCR,KC_CAPS ,MO(_LAYERB),KC_LGUI ,KC_LALT ,KC_SPC ,KC_PGDN ,KC_PGUP ,KC_ENT ,KC_BSPC ,MO(_LAYERC),KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC
-),
- [_LAYERB] = LAYOUT_5x16(
- KC_ESC ,RGB_TOG,RGB_RMOD,RGB_MOD ,RGB_VAD ,RGB_VAI ,RGB_SPD ,RGB_SPI ,RGB_HUD ,RGB_HUI ,RGB_SAD ,RGB_SAI ,
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_BTN1 ,KC_MS_U ,KC_BTN2 ,KC_P ,KC_EQL ,
- KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_MS_L ,KC_MS_D ,KC_MS_R ,KC_SCLN ,KC_QUOT ,
- KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
- KC_LBRC,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_RBRC
-),
- [_LAYERC] = LAYOUT_5x16(
- KC_ESC ,KC_F1 ,KC_F2 ,KC_F3 ,KC_F4 ,KC_F5 ,KC_F6 ,KC_F7 ,KC_F8 ,KC_F9 ,KC_F10 ,KC_GRV ,
- KC_TAB ,KC_Q ,KC_W ,KC_E ,KC_R ,KC_T ,KC_Y ,KC_U ,KC_UP ,KC_O ,KC_P ,KC_EQL ,
- KC_LCTL,KC_A ,KC_S ,KC_D ,KC_F ,KC_G ,KC_H ,KC_LEFT ,KC_DOWN ,KC_RIGHT,KC_SCLN ,KC_QUOT ,
- KC_LSFT,KC_Z ,KC_X ,KC_C ,KC_V ,KC_B ,KC_LBRC ,KC_MUTE ,KC_RBRC ,KC_N ,KC_M ,KC_COMM ,KC_DOT ,KC_SLSH ,KC_RSFT ,
- KC_F11 ,KC_PSCR,KC_CAPS ,_______ ,KC_LGUI ,KC_LALT ,KC_SPC ,KC_END ,KC_HOME ,KC_ENT ,KC_BSPC ,_______ ,KC_INS ,KC_DEL ,KC_BSLS ,KC_F12
-)
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_LAYERA] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
- [_LAYERB] = { ENCODER_CCW_CW(RGB_HUD, RGB_HUI)},
- [_LAYERC] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI)}
-};
-#endif
diff --git a/keyboards/ashwing66/keymaps/via/rules.mk b/keyboards/ashwing66/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/ashwing66/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/ask55/keymaps/default/keymap.c b/keyboards/ask55/keymaps/default/keymap.c
index e767e25b634d..816836997c7d 100644
--- a/keyboards/ask55/keymaps/default/keymap.c
+++ b/keyboards/ask55/keymaps/default/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCAP, KC_LALT, KC_LGUI, KC_GRV, KC_SPC, KC_NUBS, KC_LEFT, KC_RGHT, KC_DOWN, KC_UP
),
[1] = LAYOUT( /* Momentary Layer 1 */
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,RGB_TOG,
+ KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,UG_TOGG,
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
diff --git a/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c b/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c
index 59c23c97d361..afe041d515e5 100644
--- a/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c
+++ b/keyboards/atlantis/ak81_ve/keymaps/default/keymap.c
@@ -27,11 +27,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
[1] = LAYOUT(
- KC_SYSTEM_SLEEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, RGB_TOG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD,
- _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, RGB_HUI, RGB_SPD,
- _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI)
+ KC_SYSTEM_SLEEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, RM_TOGG,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDU,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RM_VALU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALD,
+ _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, RM_HUEU, RM_SPDD,
+ _______, _______, _______, _______, _______, _______, RM_SATD, RM_HUED, RM_SATU)
};
\ No newline at end of file
diff --git a/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c b/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c
deleted file mode 100644
index 08001a6f9981..000000000000
--- a/keyboards/atlantis/ak81_ve/keymaps/via/keymap.c
+++ /dev/null
@@ -1,62 +0,0 @@
-/* Copyright 2022 @fOmey
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
-
- [1] = LAYOUT(
- KC_SYSTEM_SLEEP, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, RGB_TOG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, _______, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAD,
- _______, _______, _______, KC_CALC, _______, _______, _______, KC_MUTE, _______, _______, _______, _______, RGB_HUI, RGB_SPD,
- _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_SAI),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______)
-
-};
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
- [2] = { ENCODER_CCW_CW(_______, _______) },
- [3] = { ENCODER_CCW_CW(_______, _______) },
-};
-#endif
diff --git a/keyboards/atlantis/ak81_ve/keymaps/via/rules.mk b/keyboards/atlantis/ak81_ve/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/atlantis/ak81_ve/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/atlantis/ps17/keymaps/default/keymap.c b/keyboards/atlantis/ps17/keymaps/default/keymap.c
index 36042fbb1872..26fe6b30662b 100644
--- a/keyboards/atlantis/ps17/keymaps/default/keymap.c
+++ b/keyboards/atlantis/ps17/keymaps/default/keymap.c
@@ -14,7 +14,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_KP_0, KC_PDOT
),
[1] = LAYOUT(
- RGB_MOD,
+ RM_NEXT,
TO(2), KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS
),
[2] = LAYOUT(
- RGB_MOD,
+ RM_NEXT,
TO(3), KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS
),
[3] = LAYOUT(
- RGB_MOD,
+ RM_NEXT,
TO(0), KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS,
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(RGB_HUI, RGB_HUD) },
+ [1] = { ENCODER_CCW_CW(RM_HUEU, RM_HUED) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
};
diff --git a/keyboards/atlantis/ps17/keymaps/via/keymap.c b/keyboards/atlantis/ps17/keymaps/via/keymap.c
deleted file mode 100644
index ff4bfdb336c6..000000000000
--- a/keyboards/atlantis/ps17/keymaps/via/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright 2023 mjbogusz (@mjbogusz)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // Default layer: numpad + volume control
- [0] = LAYOUT(
- KC_MUTE,
- TO(1), KC_PSLS, KC_PAST, KC_PMNS,
- KC_KP_7, KC_KP_8, KC_KP_9, KC_PPLS,
- KC_KP_4, KC_KP_5, KC_KP_6,
- KC_KP_1, KC_KP_2, KC_KP_3, KC_PENT,
- KC_KP_0, KC_PDOT
- ),
- [1] = LAYOUT(
- RGB_MOD,
- TO(2), KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT(
- KC_TRNS,
- TO(3), KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT(
- KC_TRNS,
- TO(0), KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS
- ),
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(RGB_HUI, RGB_HUD) },
- [2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
- [3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
-};
-#endif
diff --git a/keyboards/atlantis/ps17/keymaps/via/rules.mk b/keyboards/atlantis/ps17/keymaps/via/rules.mk
deleted file mode 100644
index 715838ecc5d9..000000000000
--- a/keyboards/atlantis/ps17/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-ENCODER_MAP_ENABLE = yes
-VIA_ENABLE = yes
diff --git a/keyboards/atlas_65/keymaps/via/keymap.c b/keyboards/atlas_65/keymaps/via/keymap.c
deleted file mode 100644
index 81e538d3100c..000000000000
--- a/keyboards/atlas_65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* Copyright 2020 Joshua Nguyen
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_LNUM,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
- ) ,
-
- [1] = LAYOUT(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ) ,
-
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ) ,
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-} ;
diff --git a/keyboards/atlas_65/keymaps/via/rules.mk b/keyboards/atlas_65/keymaps/via/rules.mk
deleted file mode 100644
index 43061db1dd46..000000000000
--- a/keyboards/atlas_65/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/atreus/astar_mirrored/config.h b/keyboards/atreus/astar_mirrored/config.h
deleted file mode 100644
index 3bd163dec358..000000000000
--- a/keyboards/atreus/astar_mirrored/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define PCBDOWN 1
diff --git a/keyboards/atreus/atreus.h b/keyboards/atreus/atreus.h
deleted file mode 100644
index 2a966b86414c..000000000000
--- a/keyboards/atreus/atreus.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2019
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#include "quantum.h"
-#define ___ KC_NO
-
-// This a shortcut to help you visually see your layout.
-// The first section contains all of the arguments.
-// The second converts the arguments into a two-dimensional array.
-// In the PCBDOWN case we need to swap the middle two keys: k35 and k36.
-#if defined(PCBDOWN)
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
-) \
-{ \
- { k00, k01, k02, k03, k04, KC_NO, k05, k06, k07, k08, k09 }, \
- { k10, k11, k12, k13, k14, KC_NO, k15, k16, k17, k18, k19 }, \
- { k20, k21, k22, k23, k24, k36, k25, k26, k27, k28, k29 }, \
- { k30, k31, k32, k33, k34, k35, k37, k38, k39, k3a, k3b } \
-}
-#else
-#define LAYOUT( \
- k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \
- k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, \
- k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, \
- k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b \
-) \
-{ \
- { k00, k01, k02, k03, k04, ___, k05, k06, k07, k08, k09 }, \
- { k10, k11, k12, k13, k14, ___, k15, k16, k17, k18, k19 }, \
- { k20, k21, k22, k23, k24, k35, k25, k26, k27, k28, k29 }, \
- { k30, k31, k32, k33, k34, k36, k37, k38, k39, k3a, k3b } \
-}
-#endif
diff --git a/keyboards/atreus/feather/config.h b/keyboards/atreus/feather/config.h
deleted file mode 100644
index 505296a5056a..000000000000
--- a/keyboards/atreus/feather/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2019
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define OUTPUT_AUTO_ENABLE
diff --git a/keyboards/atreus/info.json b/keyboards/atreus/info.json
index a0f592105f10..1a33591ab564 100644
--- a/keyboards/atreus/info.json
+++ b/keyboards/atreus/info.json
@@ -23,58 +23,114 @@
"resync": true
}
},
+ "layout_aliases": {
+ "LAYOUT": "LAYOUT_pcb_up"
+ },
"layouts": {
- "LAYOUT": {
+ "LAYOUT_pcb_up": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0.6},
+ {"matrix": [0, 1], "x": 1, "y": 0.35},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0.35},
+ {"matrix": [0, 4], "x": 4, "y": 0.7},
+
+ {"matrix": [0, 6], "x": 8, "y": 0.7},
+ {"matrix": [0, 7], "x": 9, "y": 0.35},
+ {"matrix": [0, 8], "x": 10, "y": 0},
+ {"matrix": [0, 9], "x": 11, "y": 0.35},
+ {"matrix": [0, 10], "x": 12, "y": 0.6},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.6},
+ {"matrix": [1, 1], "x": 1, "y": 1.35},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1.35},
+ {"matrix": [1, 4], "x": 4, "y": 1.7},
+
+ {"matrix": [1, 6], "x": 8, "y": 1.7},
+ {"matrix": [1, 7], "x": 9, "y": 1.35},
+ {"matrix": [1, 8], "x": 10, "y": 1},
+ {"matrix": [1, 9], "x": 11, "y": 1.35},
+ {"matrix": [1, 10], "x": 12, "y": 1.6},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.6},
+ {"matrix": [2, 1], "x": 1, "y": 2.35},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2.35},
+ {"matrix": [2, 4], "x": 4, "y": 2.7},
+
+ {"matrix": [2, 6], "x": 8, "y": 2.7},
+ {"matrix": [2, 7], "x": 9, "y": 2.35},
+ {"matrix": [2, 8], "x": 10, "y": 2},
+ {"matrix": [2, 9], "x": 11, "y": 2.35},
+ {"matrix": [2, 10], "x": 12, "y": 2.6},
+
+ {"matrix": [3, 0], "x": 0, "y": 3.6},
+ {"matrix": [3, 1], "x": 1, "y": 3.35},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3.35},
+ {"matrix": [3, 4], "x": 4, "y": 3.7},
+ {"matrix": [2, 5], "x": 5, "y": 2.95, "h": 1.5},
+
+ {"matrix": [3, 5], "x": 7, "y": 2.95, "h": 1.5},
+ {"matrix": [3, 6], "x": 8, "y": 3.7},
+ {"matrix": [3, 7], "x": 9, "y": 3.35},
+ {"matrix": [3, 8], "x": 10, "y": 3},
+ {"matrix": [3, 9], "x": 11, "y": 3.35},
+ {"matrix": [3, 10], "x": 12, "y": 3.6}
+ ]
+ },
+ "LAYOUT_pcb_down": {
"layout": [
- {"x": 0, "y": 0.6},
- {"x": 1, "y": 0.35},
- {"x": 2, "y": 0},
- {"x": 3, "y": 0.35},
- {"x": 4, "y": 0.7},
+ {"matrix": [0, 0], "x": 0, "y": 0.6},
+ {"matrix": [0, 1], "x": 1, "y": 0.35},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0.35},
+ {"matrix": [0, 4], "x": 4, "y": 0.7},
- {"x": 8, "y": 0.7},
- {"x": 9, "y": 0.35},
- {"x": 10, "y": 0},
- {"x": 11, "y": 0.35},
- {"x": 12, "y": 0.6},
+ {"matrix": [0, 6], "x": 8, "y": 0.7},
+ {"matrix": [0, 7], "x": 9, "y": 0.35},
+ {"matrix": [0, 8], "x": 10, "y": 0},
+ {"matrix": [0, 9], "x": 11, "y": 0.35},
+ {"matrix": [0, 10], "x": 12, "y": 0.6},
- {"x": 0, "y": 1.6},
- {"x": 1, "y": 1.35},
- {"x": 2, "y": 1},
- {"x": 3, "y": 1.35},
- {"x": 4, "y": 1.7},
+ {"matrix": [1, 0], "x": 0, "y": 1.6},
+ {"matrix": [1, 1], "x": 1, "y": 1.35},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1.35},
+ {"matrix": [1, 4], "x": 4, "y": 1.7},
- {"x": 8, "y": 1.7},
- {"x": 9, "y": 1.35},
- {"x": 10, "y": 1},
- {"x": 11, "y": 1.35},
- {"x": 12, "y": 1.6},
+ {"matrix": [1, 6], "x": 8, "y": 1.7},
+ {"matrix": [1, 7], "x": 9, "y": 1.35},
+ {"matrix": [1, 8], "x": 10, "y": 1},
+ {"matrix": [1, 9], "x": 11, "y": 1.35},
+ {"matrix": [1, 10], "x": 12, "y": 1.6},
- {"x": 0, "y": 2.6},
- {"x": 1, "y": 2.35},
- {"x": 2, "y": 2},
- {"x": 3, "y": 2.35},
- {"x": 4, "y": 2.7},
+ {"matrix": [2, 0], "x": 0, "y": 2.6},
+ {"matrix": [2, 1], "x": 1, "y": 2.35},
+ {"matrix": [2, 2], "x": 2, "y": 2},
+ {"matrix": [2, 3], "x": 3, "y": 2.35},
+ {"matrix": [2, 4], "x": 4, "y": 2.7},
- {"x": 8, "y": 2.7},
- {"x": 9, "y": 2.35},
- {"x": 10, "y": 2},
- {"x": 11, "y": 2.35},
- {"x": 12, "y": 2.6},
+ {"matrix": [2, 6], "x": 8, "y": 2.7},
+ {"matrix": [2, 7], "x": 9, "y": 2.35},
+ {"matrix": [2, 8], "x": 10, "y": 2},
+ {"matrix": [2, 9], "x": 11, "y": 2.35},
+ {"matrix": [2, 10], "x": 12, "y": 2.6},
- {"x": 0, "y": 3.6},
- {"x": 1, "y": 3.35},
- {"x": 2, "y": 3},
- {"x": 3, "y": 3.35},
- {"x": 4, "y": 3.7},
- {"x": 5, "y": 2.95, "h": 1.5},
+ {"matrix": [3, 0], "x": 0, "y": 3.6},
+ {"matrix": [3, 1], "x": 1, "y": 3.35},
+ {"matrix": [3, 2], "x": 2, "y": 3},
+ {"matrix": [3, 3], "x": 3, "y": 3.35},
+ {"matrix": [3, 4], "x": 4, "y": 3.7},
+ {"matrix": [3, 5], "x": 5, "y": 2.95, "h": 1.5},
- {"x": 7, "y": 2.95, "h": 1.5},
- {"x": 8, "y": 3.7},
- {"x": 9, "y": 3.35},
- {"x": 10, "y": 3},
- {"x": 11, "y": 3.35},
- {"x": 12, "y": 3.6}
+ {"matrix": [2, 5], "x": 7, "y": 2.95, "h": 1.5},
+ {"matrix": [3, 6], "x": 8, "y": 3.7},
+ {"matrix": [3, 7], "x": 9, "y": 3.35},
+ {"matrix": [3, 8], "x": 10, "y": 3},
+ {"matrix": [3, 9], "x": 11, "y": 3.35},
+ {"matrix": [3, 10], "x": 12, "y": 3.6}
]
}
}
diff --git a/keyboards/atreus/keymaps/default/keymap.c b/keyboards/atreus/keymaps/default/keymap.c
index ca1333230c97..e4588105372b 100644
--- a/keyboards/atreus/keymaps/default/keymap.c
+++ b/keyboards/atreus/keymaps/default/keymap.c
@@ -12,7 +12,7 @@
#define _LW 2
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = LAYOUT( /* Qwerty */
+ [_QW] = LAYOUT_pcb_up( /* Qwerty */
KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN ,
KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH ,
@@ -25,7 +25,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* [ ] ( ) & || ` 1 2 3 \
* lower insert super shift bksp ctrl || alt space fn . 0 =
*/
- [_RS] = LAYOUT( /* [> RAISE <] */
+ [_RS] = LAYOUT_pcb_up( /* [> RAISE <] */
KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR ,
KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS ,
KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS ,
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* volup reset || F1 F2 F3 F12
* voldn super shift bksp ctrl || alt space L0 prtsc scroll pause
*/
- [_LW] = LAYOUT( /* [> LOWER <] */
+ [_LW] = LAYOUT_pcb_up( /* [> LOWER <] */
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 ,
KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 ,
KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 ,
diff --git a/keyboards/atreus/keymaps/via/keymap.c b/keyboards/atreus/keymaps/via/keymap.c
deleted file mode 100644
index 52740c5bad9c..000000000000
--- a/keyboards/atreus/keymaps/via/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/* Copyright 2021 Leonardus Dipa
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum custom_layers {
- _QW,
- _RS,
- _LW,
- _EM,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = LAYOUT( /* Qwerty */
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P ,
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN ,
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH ,
- KC_ESC, KC_TAB, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, MO(_RS), KC_MINS, KC_QUOT, KC_ENT
- ),
-
- /*
- * ! @ up { } || pgup 7 8 9 *
- * # left down right $ || pgdn 4 5 6 +
- * [ ] ( ) & || ` 1 2 3 \
- * lower insert super shift bksp ctrl || alt space fn . 0 =
- */
- [_RS] = LAYOUT( /* [> RAISE <] */
- KC_EXLM, KC_AT, KC_UP, KC_LCBR, KC_RCBR, KC_PGUP, KC_7, KC_8, KC_9, KC_ASTR ,
- KC_HASH, KC_LEFT, KC_DOWN, KC_RGHT, KC_DLR, KC_PGDN, KC_4, KC_5, KC_6, KC_PLUS ,
- KC_LBRC, KC_RBRC, KC_LPRN, KC_RPRN, KC_AMPR, KC_GRV, KC_1, KC_2, KC_3, KC_BSLS ,
- TG(_LW), KC_INS, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, KC_TRNS, KC_DOT, KC_0, KC_EQL ),
- /*
- * insert home up end pgup || up F7 F8 F9 F10
- * del left down right pgdn || down F4 F5 F6 F11
- * volup reset || F1 F2 F3 F12
- * voldn super shift bksp ctrl || alt space L0 prtsc scroll pause
- */
- [_LW] = LAYOUT( /* [> LOWER <] */
- KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_UP, KC_F7, KC_F8, KC_F9, KC_F10 ,
- KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_DOWN, KC_F4, KC_F5, KC_F6, KC_F11 ,
- KC_NO, KC_VOLU, KC_NO, KC_NO, QK_BOOT, KC_NO, KC_F1, KC_F2, KC_F3, KC_F12 ,
- KC_NO, KC_VOLD, KC_LGUI, KC_LSFT, KC_BSPC, KC_LCTL, KC_LALT, KC_SPC, TO(_QW), KC_PSCR, KC_SCRL, KC_PAUS ),
-
- [_EM] = LAYOUT( /* [> EMPTY <] */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS )
-};
diff --git a/keyboards/atreus/keymaps/via/rules.mk b/keyboards/atreus/keymaps/via/rules.mk
deleted file mode 100644
index f75f41cf50e7..000000000000
--- a/keyboards/atreus/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-LTO_ENABLE=yes
-VIA_ENABLE = yes
-
-MOUSEKEY_ENABLE = no
diff --git a/keyboards/atreus/keymaps/workman/config.h b/keyboards/atreus/keymaps/workman/config.h
index cf0b5e2ac51e..f75e442456ba 100644
--- a/keyboards/atreus/keymaps/workman/config.h
+++ b/keyboards/atreus/keymaps/workman/config.h
@@ -1,3 +1,2 @@
#define TAPPING_TOGGLE 1
#define ONESHOT_TAP_TOGGLE 1
-#define PCBDOWN 1
diff --git a/keyboards/atreus/keymaps/workman/keymap.c b/keyboards/atreus/keymaps/workman/keymap.c
index c0633f6362be..e8b5b6b4e36f 100644
--- a/keyboards/atreus/keymaps/workman/keymap.c
+++ b/keyboards/atreus/keymaps/workman/keymap.c
@@ -25,7 +25,7 @@ enum custom_keycodes {
*/
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QW] = LAYOUT( /* Workman */
+ [_QW] = LAYOUT_pcb_down( /* Workman */
KC_Q, KC_D, KC_R, KC_W, KC_B, KC_J, KC_F, KC_U, KC_P, KC_SCLN,
KC_A, KC_S, KC_H, KC_T, KC_G, KC_Y, KC_N, KC_E, KC_O, KC_I,
KC_Z, KC_X, KC_M, KC_C, KC_V, KC_K, KC_L, KC_COMM, KC_DOT, KC_SLSH,
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* menu caps < > del || _ 0 =
*/
- [_RS] = LAYOUT( /* [> RAISE <] */
+ [_RS] = LAYOUT_pcb_down( /* [> RAISE <] */
KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, KC_MINS, KC_7, KC_8, KC_9, KC_ASTR,
KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_DOT, KC_4, KC_5, KC_6, KC_PLUS,
KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, KC_AMPR, KC_1, KC_2, KC_3, KC_BSLS,
@@ -52,7 +52,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* || – ¨ reset
*/
- [_LW] = LAYOUT( /* [> LOWER <] */
+ [_LW] = LAYOUT_pcb_down( /* [> LOWER <] */
KC_INS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_VOLU, KC_F7, KC_F8, KC_F9, KC_F10,
KC_DEL, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_VOLD, KC_F4, KC_F5, KC_F6, KC_F11,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_F1, KC_F2, KC_F3, KC_F12,
diff --git a/keyboards/atreus/promicro/keyboard.json b/keyboards/atreus/promicro/keyboard.json
index e614b4e2a0a8..10c0ca1b22a6 100644
--- a/keyboards/atreus/promicro/keyboard.json
+++ b/keyboards/atreus/promicro/keyboard.json
@@ -4,6 +4,5 @@
"rows": ["F4", "B2", "B4", "B5"]
},
"diode_direction": "COL2ROW",
- "processor": "atmega32u4",
- "bootloader": "caterina"
+ "development_board": "promicro"
}
diff --git a/keyboards/atreus62/keymaps/via/keymap.c b/keyboards/atreus62/keymaps/via/keymap.c
deleted file mode 100644
index 408886f82c18..000000000000
--- a/keyboards/atreus62/keymaps/via/keymap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Copyright 2024 Tommi Pääkkö (@Glenf)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _DEFAULT,
- _NAV,
- _RESET,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_DEFAULT] = LAYOUT( /* qwerty */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS ,
- KC_BSLS, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RBRC ,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT ,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LBRC ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_GRV, MO(_NAV),KC_BSPC, KC_DEL, KC_ENT, KC_SPC, KC_EQL, KC_MINS, KC_QUOT, KC_ENT, KC_RGUI
- ),
-
- [_NAV] = LAYOUT(
- TO(_DEFAULT), KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11 ,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F12, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS ,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS ,
- TO(_RESET), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS ,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_RESET] = LAYOUT(
- TO(_DEFAULT), KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
- KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
- KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
- KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO ,
- KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , KC_NO , QK_BOOT
- )
-
-};
diff --git a/keyboards/atreus62/keymaps/via/rules.mk b/keyboards/atreus62/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/atreus62/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/atset/at1/keymaps/via/keymap.c b/keyboards/atset/at1/keymaps/via/keymap.c
deleted file mode 100644
index f4806baee555..000000000000
--- a/keyboards/atset/at1/keymaps/via/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] =
- LAYOUT(
- KC_4
- ),
- [1] =
- LAYOUT(
- KC_NO
- ),
- [2] =
- LAYOUT(
- KC_NO
- ),
- [3] =
- LAYOUT(
- KC_NO
- )
-};
diff --git a/keyboards/atset/at12/keymaps/via/keymap.c b/keyboards/atset/at12/keymaps/via/keymap.c
deleted file mode 100644
index f42586dfbcd4..000000000000
--- a/keyboards/atset/at12/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] =
- LAYOUT(
- KC_F10, KC_F11, KC_F12,
- KC_7, KC_8, KC_9,
- KC_4 , KC_5 , KC_6,
- KC_1 , KC_2 , KC_3
- ),
- [1] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO
- ),
- [2] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO
- ),
- [3] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO
- ),
-};
diff --git a/keyboards/atset/at16/keymaps/via/keymap.c b/keyboards/atset/at16/keymaps/via/keymap.c
deleted file mode 100644
index 8ce781aac47e..000000000000
--- a/keyboards/atset/at16/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] =
- LAYOUT_ortho_4x4(
- KC_F10, KC_F11, KC_F12, KC_F5,
- KC_7, KC_8, KC_9, KC_F1,
- KC_4, KC_5, KC_6, KC_F2,
- KC_1, KC_2, KC_3, KC_F3
- ),
- [1] =
- LAYOUT_ortho_4x4(
- KC_NO , KC_NO, KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO, KC_NO
- ),
- [2] =
- LAYOUT_ortho_4x4(
- KC_NO , KC_NO, KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO, KC_NO
- ),
- [3] =
- LAYOUT_ortho_4x4(
- KC_NO , KC_NO, KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO, KC_NO
- ),
-};
diff --git a/keyboards/atset/at2/keyboard.json b/keyboards/atset/at2/keyboard.json
new file mode 100644
index 000000000000..d612505c900e
--- /dev/null
+++ b/keyboards/atset/at2/keyboard.json
@@ -0,0 +1,32 @@
+{
+ "manufacturer": "Atset",
+ "keyboard_name": "AT2",
+ "maintainer": "qmk",
+ "board": "GENERIC_RP_RP2040",
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "usb": {
+ "vid": "0x4141",
+ "pid": "0x6174",
+ "device_version": "1.0.0"
+ },
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "matrix_pins": {
+ "cols": ["GP19", "GP20"],
+ "rows": ["GP28"]
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0}
+ ]
+ }
+ }
+}
diff --git a/keyboards/atset/at2/keymaps/default/keymap.c b/keyboards/atset/at2/keymaps/default/keymap.c
new file mode 100644
index 000000000000..bdecf93a57af
--- /dev/null
+++ b/keyboards/atset/at2/keymaps/default/keymap.c
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [0] = LAYOUT(
+ KC_MUTE, KC_MPLY
+ )
+};
+
diff --git a/keyboards/atset/at2/readme.md b/keyboards/atset/at2/readme.md
new file mode 100644
index 000000000000..0bc777b052e2
--- /dev/null
+++ b/keyboards/atset/at2/readme.md
@@ -0,0 +1,24 @@
+# ATSET AT2
+
+A special 2 key keyboard powered by QMK.
+
+* Keyboard Maintainer: [ATSET](https://github.com/anubhavd7)
+* Hardware Supported: ATSET AT2 (https://imgur.com/a/yBbVwef)
+https://www.atsetmediscience.com/atset-at2-9949007.html
+Make example for this keyboard (after setting up your build environment):
+
+ make atset/at2:default
+
+Flashing example for this keyboard:
+
+ make atset/at2:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/atset/at3/keymaps/via/keymap.c b/keyboards/atset/at3/keymaps/via/keymap.c
deleted file mode 100644
index 8d16b57bd788..000000000000
--- a/keyboards/atset/at3/keymaps/via/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] =
- LAYOUT(
- KC_7 , KC_8 , KC_9
- ),
- [1] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO
- ),
- [2] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO
- ),
- [3] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO
- )
-};
diff --git a/keyboards/atset/at6/keymaps/via/keymap.c b/keyboards/atset/at6/keymaps/via/keymap.c
deleted file mode 100644
index ab9054d84f46..000000000000
--- a/keyboards/atset/at6/keymaps/via/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] =
- LAYOUT(
- KC_4 , KC_5 , KC_6,
- KC_1 , KC_2 , KC_3
- ),
- [1] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO
- ),
- [2] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO
- ),
- [3] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO
- )
-};
diff --git a/keyboards/atset/at9/keymaps/via/keymap.c b/keyboards/atset/at9/keymaps/via/keymap.c
deleted file mode 100644
index 2e026f1822c4..000000000000
--- a/keyboards/atset/at9/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] =
- LAYOUT(
- KC_7 , KC_8 , KC_9,
- KC_4 , KC_5 , KC_6,
- KC_1 , KC_2 , KC_3
- ),
- [1] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO
- ),
- [2] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO
- ),
- [3] =
- LAYOUT(
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO,
- KC_NO , KC_NO, KC_NO
- ),
-};
diff --git a/keyboards/atset/at9/keymaps/via/rules.mk b/keyboards/atset/at9/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/atset/at9/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/atxkb/1894/keyboard.json b/keyboards/atxkb/1894/keyboard.json
index 5abaf88eb0bc..878c3d998c16 100644
--- a/keyboards/atxkb/1894/keyboard.json
+++ b/keyboards/atxkb/1894/keyboard.json
@@ -60,7 +60,14 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
- "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -276,7 +283,7 @@
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/atxkb/1894/keymaps/default/keymap.c b/keyboards/atxkb/1894/keymaps/default/keymap.c
index 5c137002efd4..be1c05e7eb10 100644
--- a/keyboards/atxkb/1894/keymaps/default/keymap.c
+++ b/keyboards/atxkb/1894/keymaps/default/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
_______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP,
_______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
- _______, _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______,
+ _______, _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, KC_PSCR, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c b/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c
index 510c4aed7f7d..ff4a61e4e4b8 100644
--- a/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c
+++ b/keyboards/atxkb/1894/keymaps/default_ansi_tsangan/keymap.c
@@ -21,18 +21,18 @@ enum layer_names {
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60_tsangan_hhkb( /* Base */
+ [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* Base */
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
- [_FN] = LAYOUT_60_tsangan_hhkb( /* FN */
+ [_FN] = LAYOUT_60_ansi_tsangan_split_bs_rshift( /* FN */
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
_______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_MPLY, KC_MNXT, BL_STEP,
_______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, KC_PSCR, _______,
+ _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, KC_PSCR, _______,
_______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/atxkb/1894/keymaps/via/keymap.c b/keyboards/atxkb/1894/keymaps/via/keymap.c
deleted file mode 100644
index 67c5cd37eabc..000000000000
--- a/keyboards/atxkb/1894/keymaps/via/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2019 Ryota Goto
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN,
- _EXTRA_ONE,
- _EXTRA_TWO
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all( /* Base */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, KC_RGUI, KC_RCTL
- ),
- [_FN] = LAYOUT_all( /* FN */
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_BSPC,
- _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, BL_STEP,
- _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______,
- _______, _______, KC_VOLD, KC_MUTE, KC_VOLU, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_EXTRA_ONE] = LAYOUT_all( /* Layer 3 */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_EXTRA_TWO] = LAYOUT_all( /* Layer 3 */
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
diff --git a/keyboards/atxkb/1894/keymaps/via/rules.mk b/keyboards/atxkb/1894/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/atxkb/1894/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/aurora65/keymaps/default/keymap.c b/keyboards/aurora65/keymaps/default/keymap.c
index f671ce593937..2fba0f574088 100644
--- a/keyboards/aurora65/keymaps/default/keymap.c
+++ b/keyboards/aurora65/keymaps/default/keymap.c
@@ -27,6 +27,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_TOGG, UG_NEXT, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, UG_VALD, UG_VALU, UG_SPDD, UG_SPDU, KC_TRNS, KC_TRNS, KC_TRNS,
KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
};
diff --git a/keyboards/aurora65/keymaps/via/keymap.c b/keyboards/aurora65/keymaps/via/keymap.c
deleted file mode 100644
index c08484254915..000000000000
--- a/keyboards/aurora65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright 2022 Yiancar-Designs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_65_ansi_blocker( /* Base */
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[1] = LAYOUT_65_ansi_blocker( /* FN */
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, RGB_SPD, RGB_SPI, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_65_ansi_blocker( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_65_ansi_blocker( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/aurora65/keymaps/via/readme.md b/keyboards/aurora65/keymaps/via/readme.md
deleted file mode 100644
index b4b3158e797a..000000000000
--- a/keyboards/aurora65/keymaps/via/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# The default keymap for Aurora65. VIA support enabled.
-
-![Layer 0](https://imgur.com/GZONtj5.png)
-
-![Layer 1](https://imgur.com/C1kFlWX.png)
diff --git a/keyboards/aurora65/keymaps/via/rules.mk b/keyboards/aurora65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/aurora65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/aurora65/mcuconf.h b/keyboards/aurora65/mcuconf.h
index 5e966ec140b7..0b3baa9b4b27 100644
--- a/keyboards/aurora65/mcuconf.h
+++ b/keyboards/aurora65/mcuconf.h
@@ -20,6 +20,3 @@
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
-
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
diff --git a/keyboards/automata02/alisaie/keymaps/via/keymap.c b/keyboards/automata02/alisaie/keymaps/via/keymap.c
deleted file mode 100644
index 3ee2c863e92f..000000000000
--- a/keyboards/automata02/alisaie/keymaps/via/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright 2022 Automata
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL
- ),
- [1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, _______, KC_PGUP, _______, _______, _______, _______, _______, KC_UP, _______, KC_MPRV, KC_UP, KC_MNXT, _______,
- _______, KC_HOME, KC_PGDN, KC_END, _______, KC_VOLD, KC_VOLU, KC_LEFT, KC_DOWN, KC_RGHT, KC_LEFT, KC_RGHT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, KC_PSCR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/automata02/alisaie/keymaps/via/rules.mk b/keyboards/automata02/alisaie/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/automata02/alisaie/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/avalanche/v1/keyboard.json b/keyboards/avalanche/v1/keyboard.json
index 97acaf0d9f92..0e539bdefc54 100644
--- a/keyboards/avalanche/v1/keyboard.json
+++ b/keyboards/avalanche/v1/keyboard.json
@@ -21,7 +21,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/avalanche/v2/keyboard.json b/keyboards/avalanche/v2/keyboard.json
index 219e5bb6c6ea..2c38fd1056aa 100644
--- a/keyboards/avalanche/v2/keyboard.json
+++ b/keyboards/avalanche/v2/keyboard.json
@@ -35,7 +35,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/avalanche/v2/keymaps/default/keymap.c b/keyboards/avalanche/v2/keymaps/default/keymap.c
index fc8842a865be..1c1503083e03 100644
--- a/keyboards/avalanche/v2/keymaps/default/keymap.c
+++ b/keyboards/avalanche/v2/keymaps/default/keymap.c
@@ -47,8 +47,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[LAYER_3] = LAYOUT(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ UG_TOGG, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, _______, UG_PREV, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/avalanche/v3/keyboard.json b/keyboards/avalanche/v3/keyboard.json
index 6104dbd79398..84191a103fb5 100644
--- a/keyboards/avalanche/v3/keyboard.json
+++ b/keyboards/avalanche/v3/keyboard.json
@@ -27,7 +27,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"rgblight": {
"led_count": 12,
diff --git a/keyboards/avalanche/v4/keyboard.json b/keyboards/avalanche/v4/keyboard.json
index 2a4909ba3689..2a548c5665e6 100644
--- a/keyboards/avalanche/v4/keyboard.json
+++ b/keyboards/avalanche/v4/keyboard.json
@@ -28,7 +28,9 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"ws2812": {
"pin": "D3"
diff --git a/keyboards/aves60/keymaps/via/keymap.c b/keyboards/aves60/keymaps/via/keymap.c
deleted file mode 100644
index 35fd15723ef0..000000000000
--- a/keyboards/aves60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2021 Evelien Dekkers (@evyd13)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_BASE] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL),
-
-[_FN1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-[_FN2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-[_FN3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
-};
diff --git a/keyboards/aves60/keymaps/via/rules.mk b/keyboards/aves60/keymaps/via/rules.mk
deleted file mode 100644
index 43061db1dd46..000000000000
--- a/keyboards/aves60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/aves65/keymaps/via/keymap.c b/keyboards/aves65/keymaps/via/keymap.c
deleted file mode 100644
index 98d968b34f59..000000000000
--- a/keyboards/aves65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-Copyright 2019 I/O Keyboards
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[_BASE] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_NO, KC_BSPC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(_FN1), KC_LEFT, KC_DOWN, KC_RGHT),
-
-[_FN1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-[_FN2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-[_FN3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
-
-};
diff --git a/keyboards/aves65/keymaps/via/rules.mk b/keyboards/aves65/keymaps/via/rules.mk
deleted file mode 100644
index 43061db1dd46..000000000000
--- a/keyboards/aves65/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c b/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c
deleted file mode 100644
index affa97de92c6..000000000000
--- a/keyboards/axolstudio/foundation_gamma/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2021 kb-elmo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MUTE, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_tkl_f13_ansi_tsangan_split_bs_rshift(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/axolstudio/foundation_gamma/keymaps/via/rules.mk b/keyboards/axolstudio/foundation_gamma/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/axolstudio/foundation_gamma/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/axolstudio/helpo/keymaps/via/keymap.c b/keyboards/axolstudio/helpo/keymaps/via/keymap.c
deleted file mode 100644
index f1b331002a61..000000000000
--- a/keyboards/axolstudio/helpo/keymaps/via/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2020 kb-elmo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [0] = LAYOUT(
- KC_1, KC_2, KC_3, KC_4, KC_5,
- KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_A, KC_B, KC_C, KC_D, KC_E,
- KC_F, KC_G, KC_H, KC_I, MO(1)
- ),
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/axolstudio/helpo/keymaps/via/rules.mk b/keyboards/axolstudio/helpo/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/axolstudio/helpo/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/axolstudio/yeti/hotswap/keymaps/via/keymap.c b/keyboards/axolstudio/yeti/hotswap/keymaps/via/keymap.c
deleted file mode 100644
index 349bd1223d08..000000000000
--- a/keyboards/axolstudio/yeti/hotswap/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2022 kb-elmo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_PAUS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_PSCR, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_F5, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL
- ),
- [1] = LAYOUT(
- KC_TRNS, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/axolstudio/yeti/hotswap/keymaps/via/rules.mk b/keyboards/axolstudio/yeti/hotswap/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/axolstudio/yeti/hotswap/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/axolstudio/yeti/soldered/keymaps/via/keymap.c b/keyboards/axolstudio/yeti/soldered/keymaps/via/keymap.c
deleted file mode 100644
index 63b688b7a38d..000000000000
--- a/keyboards/axolstudio/yeti/soldered/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2020 kb-elmo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [0] = LAYOUT_alice_split_bs(
- KC_PAUS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_PSCR, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_F5, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL
- ),
- [1] = LAYOUT_alice_split_bs(
- KC_TRNS, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_alice_split_bs(
- KC_TRNS, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_alice_split_bs(
- KC_TRNS, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/axolstudio/yeti/soldered/keymaps/via/rules.mk b/keyboards/axolstudio/yeti/soldered/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/axolstudio/yeti/soldered/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/aya/config.h b/keyboards/aya/config.h
index 14fc201d4964..1ab53d70ae11 100644
--- a/keyboards/aya/config.h
+++ b/keyboards/aya/config.h
@@ -16,5 +16,4 @@
#pragma once
-#define SPLIT_HAND_PIN B5
#define USE_I2C
diff --git a/keyboards/aya/keyboard.json b/keyboards/aya/keyboard.json
index 547f495ddd26..6f9ad387bc25 100644
--- a/keyboards/aya/keyboard.json
+++ b/keyboards/aya/keyboard.json
@@ -15,7 +15,10 @@
"command": true
},
"split": {
- "enabled": true
+ "enabled": true,
+ "handedness": {
+ "pin": "B5"
+ }
},
"matrix_pins": {
"cols": ["F4", "F5", "F6", "F7", "B1", "B3", "B2"],
diff --git a/keyboards/b_sides/rev41lp/keymaps/via/keymap.c b/keyboards/b_sides/rev41lp/keymaps/via/keymap.c
deleted file mode 100644
index 73f03cf342c6..000000000000
--- a/keyboards/b_sides/rev41lp/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2021 @cyril279
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
- KC_LALT, MO(1), KC_SPC, MO(2), KC_LGUI
- ),
-
- [1] = LAYOUT(
- _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_GRV, KC_TILD,
- _______, KC_ESC, KC_LGUI, KC_LALT, KC_CAPS, KC_DQUO, KC_HOME, KC_END, KC_PGUP, KC_PGDN, KC_PSCR, RSFT_T(KC_SPC),
- _______, _______, KC_ENT, MO(3), _______
- ),
-
- [2] = LAYOUT(
- _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6,
- _______, KC_ESC, KC_RGUI, KC_RALT, KC_CAPS, KC_QUOT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, MO(3), KC_BSPC, _______, _______
- ),
-
- [3] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, BL_DOWN, BL_TOGG, BL_BRTG, BL_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______
- )
-};
-
diff --git a/keyboards/b_sides/rev41lp/keymaps/via/rules.mk b/keyboards/b_sides/rev41lp/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/b_sides/rev41lp/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/bacca70/keymaps/via/keymap.c b/keyboards/bacca70/keymaps/via/keymap.c
deleted file mode 100644
index cb9af18a5e69..000000000000
--- a/keyboards/bacca70/keymaps/via/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright 2022 keebnewb
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_default(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSLS,KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS,
- KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT,
- KC_LSFT,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT,KC_RSFT,
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_RCTL
- ),
-
- [1]=LAYOUT_default(
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS
- ),
-
- [2] = LAYOUT_default(
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS
- ),
-
- [3] = LAYOUT_default(
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS
- )
-};
diff --git a/keyboards/bacca70/keymaps/via/rules.mk b/keyboards/bacca70/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bacca70/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bahm/aster_ergo/keymaps/via/keymap.c b/keyboards/bahm/aster_ergo/keymaps/via/keymap.c
deleted file mode 100644
index 6fa40a5b7c13..000000000000
--- a/keyboards/bahm/aster_ergo/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2023 Mechlovin' Studio
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(2), KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_SPACE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/bahm/aster_ergo/keymaps/via/rules.mk b/keyboards/bahm/aster_ergo/keymaps/via/rules.mk
deleted file mode 100644
index 6fd32e118216..000000000000
--- a/keyboards/bahm/aster_ergo/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-# This file intentionally left blank
-VIA_ENABLE = yes
-LTO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/baion_808/keymaps/via/keymap.c b/keyboards/baion_808/keymaps/via/keymap.c
deleted file mode 100644
index 81edc335341e..000000000000
--- a/keyboards/baion_808/keymaps/via/keymap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2022 Yiancar-Designs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all( /* Base */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[1] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
-
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/baion_808/keymaps/via/rules.mk b/keyboards/baion_808/keymaps/via/rules.mk
deleted file mode 100755
index 1e5b99807cb7..000000000000
--- a/keyboards/baion_808/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/balloondogcaps/tr90/keymaps/via/keymap.c b/keyboards/balloondogcaps/tr90/keymaps/via/keymap.c
deleted file mode 100644
index aef6d33f164a..000000000000
--- a/keyboards/balloondogcaps/tr90/keymaps/via/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2021 Balloondog
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_3x3( /* Base */
- KC_1, KC_2, KC_3,
- KC_4, KC_5, KC_6,
- KC_VOLD, KC_VOLU, MO(1)
- ),
- [1] = LAYOUT_ortho_3x3(
- KC_7, KC_8, KC_9,
- KC_0, KC_MINUS, KC_PLUS,
- QK_BOOT, KC_AT , KC_TRNS
- ),
- [2] = LAYOUT_ortho_3x3(
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_ortho_3x3(
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-
diff --git a/keyboards/balloondogcaps/tr90/keymaps/via/rules.mk b/keyboards/balloondogcaps/tr90/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/balloondogcaps/tr90/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/balloondogcaps/tr90pm/keymaps/via/keymap.c b/keyboards/balloondogcaps/tr90pm/keymaps/via/keymap.c
deleted file mode 100644
index aef6d33f164a..000000000000
--- a/keyboards/balloondogcaps/tr90pm/keymaps/via/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2021 Balloondog
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_3x3( /* Base */
- KC_1, KC_2, KC_3,
- KC_4, KC_5, KC_6,
- KC_VOLD, KC_VOLU, MO(1)
- ),
- [1] = LAYOUT_ortho_3x3(
- KC_7, KC_8, KC_9,
- KC_0, KC_MINUS, KC_PLUS,
- QK_BOOT, KC_AT , KC_TRNS
- ),
- [2] = LAYOUT_ortho_3x3(
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_ortho_3x3(
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-
diff --git a/keyboards/balloondogcaps/tr90pm/keymaps/via/rules.mk b/keyboards/balloondogcaps/tr90pm/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/balloondogcaps/tr90pm/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bandominedoni/keyboard.json b/keyboards/bandominedoni/keyboard.json
index c253da0c8390..41212aedefc6 100644
--- a/keyboards/bandominedoni/keyboard.json
+++ b/keyboards/bandominedoni/keyboard.json
@@ -30,13 +30,15 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2",
"encoder": {
"right": {
"rotary": [
{"pin_a": "F5", "pin_b": "F4"}
]
}
+ },
+ "serial": {
+ "pin": "D2"
}
},
"qmk": {
diff --git a/keyboards/bandominedoni/keymaps/via/config.h b/keyboards/bandominedoni/keymaps/via/config.h
deleted file mode 100644
index 6f27c9aea80a..000000000000
--- a/keyboards/bandominedoni/keymaps/via/config.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Copyright 2021 3araht
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#undef ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-#undef ENABLE_RGB_MATRIX_BAND_VAL
-#undef ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-#undef ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-#undef ENABLE_RGB_MATRIX_CYCLE_ALL
-#undef ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-#undef ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-#undef ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-#undef ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-#undef ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-#undef ENABLE_RGB_MATRIX_DUAL_BEACON
-#undef ENABLE_RGB_MATRIX_RAINBOW_BEACON
-#undef ENABLE_RGB_MATRIX_HUE_BREATHING
-#undef ENABLE_RGB_MATRIX_HUE_PENDULUM
-#undef ENABLE_RGB_MATRIX_HUE_WAVE
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-#undef ENABLE_RGB_MATRIX_MULTISPLASH
-#undef ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#undef ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
diff --git a/keyboards/bandominedoni/keymaps/via/keymap.c b/keyboards/bandominedoni/keymaps/via/keymap.c
deleted file mode 100644
index 6f69c69fac2f..000000000000
--- a/keyboards/bandominedoni/keymaps/via/keymap.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/* Copyright 2021 3araht
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
-#ifndef PEDAL_NORMALLY_CLOSED
- _OPEN,
-#endif
- _CLOSE,
-#ifdef PEDAL_NORMALLY_CLOSED
- _OPEN,
-#endif
- _MISC,
- _FN
-};
-
-enum custom_keycodes {
- VERSION = QK_KB_0
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_OPEN] = LAYOUT(
- MI_Gs1, MI_As1, MI_Cs2, MI_F2, MI_Gs3,
- MI_E1, MI_A1, MI_G2, MI_Ds2, MI_F3, MI_As2, MI_F1,
- MI_D2, MI_A2, MI_C3, MI_E3, MI_C2, MI_G1, TG_SWAP,
- MI_E2, MI_Gs2, MI_B2, MI_D3, MI_Fs3, MI_Cs3, MI_Fs1,
- MI_D1, MI_B1, MI_G3, MI_A3, MI_Ds3, MI_Fs2, MI_Ds1, MI_C1,
-
- MO_SWAP, MI_B5, MI_Gs5, MI_G5, MI_F5, FN_MUTE,
- MI_Cs3, MI_A5, MI_Fs5, MI_E5, MI_Ds5,
- MI_C3, MI_D3, MI_G3, MI_As4, MI_C5, MI_D5,
- TG_SWAP, MI_B2, MI_E3, MI_Cs4, MI_Fs3, MI_A3, MI_C4, MI_E4,
- MI_A2, MI_F3, MI_As3, MI_Gs3, MI_B3, MI_D4, MI_Gs4, MI_B4,
- MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_Ds4, MI_Fs4, MI_A4, MI_Cs5, MI_G4
- ),
-
- [_CLOSE] = LAYOUT(
- MI_Gs1, MI_As1, MI_Ds2, MI_Ds3, MI_G3,
- MI_D1, MI_D2, MI_As2, MI_C3, MI_Cs2, MI_C2, MI_Fs1,
- MI_G1, MI_G2, MI_B2, MI_D3, MI_F3, MI_Fs2, TG_SWAP,
- MI_A1, MI_E2, MI_A2, MI_Cs3, MI_E3, MI_Gs2, MI_B1,
- MI_E1, MI_E2, MI_Fs3, MI_Gs3, MI_B3, MI_F2, MI_Cs1, MI_F1,
-
- MO_SWAP, MI_A5, MI_Gs5, MI_Fs5, MI_F5, FN_MUTE,
- MI_C3, MI_G5, MI_As4, MI_C5, MI_Ds5,
- MI_D3, MI_Cs3, MI_Gs3, MI_As3, MI_C4, MI_D5,
- TG_SWAP, MI_B2, MI_Fs3, MI_Fs4, MI_G3, MI_B3, MI_D4, MI_G4,
- MI_A2, MI_F3, MI_E3, MI_A3, MI_Cs4, MI_E4, MI_A4, MI_Cs5,
- MI_Gs2, MI_As2, MI_Ds3, MI_F4, MI_E4, MI_Gs4, MI_B4, MI_E5, MI_Ds4
- ),
-
- [_MISC] = LAYOUT(
- _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
-
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN] = LAYOUT(
- DF_SWAP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
-
- _______, MI_OCTD, MI_OCTU, MI_VELD, MI_VELU, _______,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_MOD, EE_CLR, RGB_TOG
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_OPEN] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_CLOSE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_MISC] = { ENCODER_CCW_CW(_______, _______) },
- [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
-};
-#endif
-
-void my_init(void){
- // Set octave to 0
- midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
-
- // avoid using 127 since it is used as a special number in some sound sources.
- midi_config.velocity = MIDI_INITIAL_VELOCITY;
-}
-
-void eeconfig_init_user(void) { // EEPROM is getting reset!
- midi_init();
- my_init();
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_enable();
- rgb_matrix_set_speed(RGB_MATRIX_DEFAULT_SPD);
- rgb_matrix_sethsv(HSV_BLUE);
-
- rgb_matrix_mode(RGB_MATRIX_SOLID_REACTIVE);
- // rgb_matrix_mode(RGB_MATRIX_RAINBOW_MOVING_CHEVRON);
-#endif
-}
-
-void keyboard_post_init_user(void) {
- my_init();
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case VERSION: // Output firmware info.
- if (record->event.pressed) {
- SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
- }
- break;
- }
- return true;
-}
-
-#ifdef RGB_MATRIX_ENABLE
-bool rgb_matrix_indicators_user(void) {
- if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
- uint8_t layer = get_highest_layer(layer_state);
- switch (layer) {
- case _CLOSE:
- // rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy.
-
- // Close state indicator
- rgb_matrix_set_color( 0, RGB_DARKWHITE); // oc
- break;
-
- case _FN:
- // rgb_matrix_set_color(pgm_read_byte(&convert_led_location2number[11]), RGB_RED); // RGB_TOG <- too heavy.
- rgb_matrix_set_color(14, RGB_DARKYELLOW); // MI_OCTD
- rgb_matrix_set_color(25, RGB_DARKGREEN); // MI_OCTU
- rgb_matrix_set_color(14, RGB_DARKYELLOW); // MI_VELD
- rgb_matrix_set_color(25, RGB_DARKGREEN); // MI_VELU
-
- rgb_matrix_set_color( 6, RGB_DARKBLUE); // RGB_SAD
- rgb_matrix_set_color( 9, RGB_DARKBLUE); // RGB_SAI
- rgb_matrix_set_color(18, RGB_DARKBLUE); // RGB_HUD
- rgb_matrix_set_color(21, RGB_DARKBLUE); // RGB_HUI
- rgb_matrix_set_color(29, RGB_DARKBLUE); // RGB_SPD
- rgb_matrix_set_color(32, RGB_DARKBLUE); // RGB_SPI
- rgb_matrix_set_color(36, RGB_DARKBLUE); // RGB_VAD
- rgb_matrix_set_color(39, RGB_DARKBLUE); // RGB_VAI
-
- rgb_matrix_set_color(31, RGB_DARKBLUE); // RGB_RMOD
- rgb_matrix_set_color(37, RGB_DARKBLUE); // RGB_MOD
- rgb_matrix_set_color(38, RGB_DARKPINK); // EE_CLR
- rgb_matrix_set_color(40, RGB_DARKRED); // RGB_TOG
-
- rgb_matrix_set_color(41, RGB_DARKORANGE); // _FN
- break;
- }
- }
- return false;
-}
-#endif
diff --git a/keyboards/bandominedoni/keymaps/via/rules.mk b/keyboards/bandominedoni/keymaps/via/rules.mk
deleted file mode 100644
index 8fa76afafc1d..000000000000
--- a/keyboards/bandominedoni/keymaps/via/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
-RGB_MATRIX_CUSTOM_KB = yes #
-VIA_ENABLE = yes
-
-ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/bandominedoni/rgb_matrix_kb.inc b/keyboards/bandominedoni/rgb_matrix_kb.inc
index 77ad22c1ce73..081215d78f35 100644
--- a/keyboards/bandominedoni/rgb_matrix_kb.inc
+++ b/keyboards/bandominedoni/rgb_matrix_kb.inc
@@ -5,8 +5,8 @@ RGB_MATRIX_EFFECT(my_party_rocks)
bool my_party_rocks(effect_params_t* params) {
RGB_MATRIX_USE_LIMITS(led_min, led_max);
- HSV hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v};
- RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
+ hsv_t hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v};
+ rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv);
// rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b);
return rgb_matrix_check_finished_leds(led_max);
diff --git a/keyboards/barleycorn_smd/keymaps/via/keymap.c b/keyboards/barleycorn_smd/keymaps/via/keymap.c
deleted file mode 100644
index df48cf360594..000000000000
--- a/keyboards/barleycorn_smd/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2021 Matthew Dias
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// This keymaps is used for VIA, it reflects the default keymap.
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all( /* Base */
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PEQL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_BSPC,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT),
-
-[1] = LAYOUT_all( /* FN */
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_all( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/barleycorn_smd/keymaps/via/rules.mk b/keyboards/barleycorn_smd/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/barleycorn_smd/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/barracuda/keymaps/via/config.h b/keyboards/barracuda/keymaps/via/config.h
deleted file mode 100644
index fbac4dcb268b..000000000000
--- a/keyboards/barracuda/keymaps/via/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 knaruo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define TAPPING_TERM 175 // milliseconds
diff --git a/keyboards/barracuda/keymaps/via/keymap.c b/keyboards/barracuda/keymaps/via/keymap.c
deleted file mode 100644
index a3170c1b4480..000000000000
--- a/keyboards/barracuda/keymaps/via/keymap.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright 2021 knaruo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-
-/* keymap layers */
-enum _layers {
- _BASE = 0,
- _NUM,
- _FN,
- _RESERVED, // reserved for VIA
- _END, // end of supported layers
-};
-
-/* Keycode alias */
-#define KC_CTBS RCTL_T(KC_BSPC) // Backspace + Ctrl
-#define KC_XWIN LWIN_T(KC_X)
-#define KC_SPF1 LT(_NUM, KC_SPC) // Space + NUM layer
-#define KC_DLF2 LT(_FN, KC_DEL) // Del + FN key layer
-#define KC_SFEN RSFT_T(KC_ENT) // Enter + Shift
-#define KC_CAD LALT(LCTL(KC_DEL)) // ctrl + alt + delete
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base QWERTY key map */
- [_BASE] = LAYOUT_ortho_3x11(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, /*_____*/ KC_Y, KC_U, KC_I, KC_O, KC_P,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, /*_____*/ KC_H, KC_J, KC_K, KC_L, KC_CTBS,
- KC_LSFT, KC_Z, KC_XWIN, KC_C, KC_V, KC_SPF1, /*_____*/ KC_DLF2, KC_B, KC_N, KC_M, KC_SFEN
- ),
-
- [_NUM] = LAYOUT_ortho_3x11(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, /*_____*/ KC_6, KC_7, KC_8, KC_9, KC_0,
- _______, KC_TAB, JP_MINS, JP_CIRC, JP_YEN, JP_AT, /*_____*/ JP_SCLN, JP_COLN, JP_LBRC, JP_RBRC, _______,
- _______, _______, JP_ZKHK, KC_LALT, JP_COMM, _______, /*_____*/ _______, JP_DOT, JP_SLSH, JP_BSLS, _______
- ),
-
- [_FN] = LAYOUT_ortho_3x11(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, /*_____*/ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
- _______, KC_F11, KC_F12, _______, _______, _______, /*_____*/ KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_CAD,
- _______, _______, _______, _______, _______, _______, /*_____*/ _______, KC_HOME, KC_PGDN, KC_PGUP, KC_END
- ),
-
- [_RESERVED] = LAYOUT_ortho_3x11(
- _______, _______, _______, _______, _______, _______, /*_____*/ _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, /*_____*/ _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, /*_____*/ _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/barracuda/keymaps/via/rules.mk b/keyboards/barracuda/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/barracuda/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/basekeys/slice/keymaps/default/keymap.c b/keyboards/basekeys/slice/keymaps/default/keymap.c
index 2dca256d51ba..a407d35ab791 100644
--- a/keyboards/basekeys/slice/keymaps/default/keymap.c
+++ b/keyboards/basekeys/slice/keymaps/default/keymap.c
@@ -34,13 +34,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_MOD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ UG_NEXT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
RGB_M_G, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
+ UG_TOGG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
//`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
),
@@ -64,9 +64,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, XXXXXXX, XXXXXXX,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
//`-----------------------------------------------------------------| |---------------------------------------------------------------------------'
@@ -80,7 +80,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
bool result = false;
switch (keycode) {
#ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
+ case QK_UNDERGLOW_TOGGLE:
if (record->event.pressed) {
rgblight_mode(RGB_current_mode);
rgblight_step();
diff --git a/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c
index ac4d42fca522..7d4133a99b30 100644
--- a/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c
+++ b/keyboards/basekeys/slice/keymaps/default_split_left_space/keymap.c
@@ -34,13 +34,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_MOD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ UG_NEXT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
RGB_M_G, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_TOG, KC_LCTL,KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
+ UG_TOGG, KC_LCTL,KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
//`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
),
@@ -64,9 +64,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, XXXXXXX, XXXXXXX,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
//`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
@@ -80,7 +80,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
bool result = false;
switch (keycode) {
#ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
+ case QK_UNDERGLOW_MODE_NEXT:
if (record->event.pressed) {
rgblight_mode(RGB_current_mode);
rgblight_step();
diff --git a/keyboards/basekeys/slice/rev1/config.h b/keyboards/basekeys/slice/rev1/config.h
deleted file mode 100644
index aecd34737d4d..000000000000
--- a/keyboards/basekeys/slice/rev1/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-Copyright 2020 2Moons
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Select hand configuration */
-//#define EE_HANDS
-#define MASTER_LEFT
-//#define MASTER_RIGHT
diff --git a/keyboards/basekeys/slice/rev1/keyboard.json b/keyboards/basekeys/slice/rev1/keyboard.json
index c341597ee669..a6097e560a77 100644
--- a/keyboards/basekeys/slice/rev1/keyboard.json
+++ b/keyboards/basekeys/slice/rev1/keyboard.json
@@ -26,7 +26,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/basekeys/slice/rev1/keymaps/via/config.h b/keyboards/basekeys/slice/rev1/keymaps/via/config.h
deleted file mode 100644
index f1d6eef419ab..000000000000
--- a/keyboards/basekeys/slice/rev1/keymaps/via/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
-Copyright 2020 2Moons
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#pragma once
-
-/* Select hand configuration */
-
-#define QUICK_TAP_TERM 0
-#define TAPPING_TERM 180
diff --git a/keyboards/basekeys/slice/rev1/keymaps/via/keymap.c b/keyboards/basekeys/slice/rev1/keymaps/via/keymap.c
deleted file mode 100644
index e4fbf1fcf7f8..000000000000
--- a/keyboards/basekeys/slice/rev1/keymaps/via/keymap.c
+++ /dev/null
@@ -1,85 +0,0 @@
-/* Copyright 2020 2Moons
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-#include "keymap_japanese.h"
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY = 0,
- _FN,
- _LOWER,
- _RAISE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_all(
- //,------------------------------------------------------------------------| |--------------------------------------------------------------------------------------.
- KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_BSPC,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
- //`------------------------------------------------------------------------| |--------------------------------------------------------------------------------------'
- ),
-
- [_FN] = LAYOUT_all(
- //,------------------------------------------------------------------------| |--------------------------------------------------------------------------------------.
- KC_ESC, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_BSPC, KC_DEL,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, _______, _______,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______, _______,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______, _______,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`------------------------------------------------------------------------| |--------------------------------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT_all(
- //,------------------------------------------------------------------------| |--------------------------------------------------------------------------------------.
- KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_BSPC,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
- //`------------------------------------------------------------------------| |--------------------------------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT_all(
- //,------------------------------------------------------------------------| |--------------------------------------------------------------------------------------.
- KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_BSPC,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_RSFT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------+----------|
- XXXXXXX, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
- //`------------------------------------------------------------------------| |--------------------------------------------------------------------------------------'
- )
-};
diff --git a/keyboards/basekeys/slice/rev1/keymaps/via/rules.mk b/keyboards/basekeys/slice/rev1/keymaps/via/rules.mk
deleted file mode 100644
index fe10d4e09326..000000000000
--- a/keyboards/basekeys/slice/rev1/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-TAP_DANCE_ENABLE = no
-VIA_ENABLE = yes
-BACKLIGHT_ENABLE = no
\ No newline at end of file
diff --git a/keyboards/basekeys/slice/rev1_rgb/config.h b/keyboards/basekeys/slice/rev1_rgb/config.h
index 2594d39f2a4f..0f281a5718ab 100644
--- a/keyboards/basekeys/slice/rev1_rgb/config.h
+++ b/keyboards/basekeys/slice/rev1_rgb/config.h
@@ -16,9 +16,4 @@ along with this program. If not, see .
*/
#pragma once
-/* Select hand configuration */
-//#define EE_HANDS
-#define MASTER_LEFT
-//#define MASTER_RIGHT
-
#define OLED_FONT_H "keyboards/basekeys/slice/slice_font.c"
diff --git a/keyboards/basekeys/slice/rev1_rgb/keyboard.json b/keyboards/basekeys/slice/rev1_rgb/keyboard.json
index a666f2666174..d6d7b8ad451e 100644
--- a/keyboards/basekeys/slice/rev1_rgb/keyboard.json
+++ b/keyboards/basekeys/slice/rev1_rgb/keyboard.json
@@ -31,7 +31,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"ws2812": {
"pin": "D3"
diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c
index 6ed863d01b38..bd7923b36bd4 100644
--- a/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c
+++ b/keyboards/basekeys/slice/rev1_rgb/keymaps/2moons_rgb/keymap.c
@@ -48,13 +48,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_MOD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ UG_NEXT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
RGB_M_G, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
//|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
+ UG_TOGG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
//`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
),
@@ -90,13 +90,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_MOD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ UG_NEXT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
RGB_M_G, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
+ UG_TOGG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
//`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
),
@@ -104,13 +104,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_MOD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
+ UG_NEXT, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
RGB_M_G, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
+ UG_TOGG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
//`-----------------------------------------------------------------| |---------------------------------------------------------------------------'
),
@@ -120,9 +120,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_VAD, RGB_VAI, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_VALD, UG_VALU, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, XXXXXXX, XXXXXXX,
//|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
//`-----------------------------------------------------------------| |---------------------------------------------------------------------------'
@@ -164,7 +164,7 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
bool result = false;
switch (keycode) {
#ifdef RGBLIGHT_ENABLE
- case RGB_MOD:
+ case QK_UNDERGLOW_MODE_NEXT:
if (record->event.pressed) {
rgblight_mode(RGB_current_mode);
rgblight_step();
diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/via/keymap.c b/keyboards/basekeys/slice/rev1_rgb/keymaps/via/keymap.c
deleted file mode 100644
index 04d9aa5b632f..000000000000
--- a/keyboards/basekeys/slice/rev1_rgb/keymaps/via/keymap.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Copyright 2020 2Moons
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-#include "split_util.h"
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_number {
- _QWERTY,
- _FN,
- _LOWER,
- _RAISE,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWERTY] = LAYOUT_all(
- //,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
- KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_MOD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_M_G, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
- //`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
- ),
-
- [_FN] = LAYOUT_all(
- //,-------------------------------------------------------------------------| |---------------------------------------------------------------------------.
- KC_ESC, KC_GRAVE, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_BSPC,
- //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, _______, _______,
- //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT,KC_RIGHT, _______, _______,
- //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______, _______,
- //|-------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- //`-------------------------------------------------------------------------| |---------------------------------------------------------------------------'
- ),
-
- [_LOWER] = LAYOUT_all(
- //,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
- KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_MOD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_M_G, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
- //`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
- ),
-
- [_RAISE] = LAYOUT_all(
- //,------------------------------------------------------------------------| |---------------------------------------------------------------------------.
- KC_ESC, KC_GRAVE, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_MOD, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_M_G, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_M_X, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT,
- //|------------------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+----------+----------|
- RGB_TOG, KC_LCTL, KC_LALT, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, MO(_FN)
- //`------------------------------------------------------------------------| |---------------------------------------------------------------------------'
- )
-};
-
-#ifdef OLED_ENABLE
-
-static void render_qmk_logo(void) {
- static const char PROGMEM qmk_logo[] = {
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89, 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f, 0x90, 0x91, 0x92, 0x93, 0x94,
- 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf, 0xb0, 0xb1, 0xb2, 0xb3, 0xb4,
- 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9, 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf, 0xd0, 0xd1, 0xd2, 0xd3, 0xd4,
- 0};
- oled_write_P(qmk_logo, false);
-}
-
-oled_rotation_t oled_init_user(oled_rotation_t rotation) {
- return isLeftHand ? OLED_ROTATION_180 : OLED_ROTATION_0;
-}
-
-bool oled_task_user(void) {
- if (is_keyboard_master()) {
- // Host Keyboard Layer Status
- oled_write_P(PSTR("Layer: "), false);
- switch (get_highest_layer(layer_state)) {
- case _QWERTY:
- oled_write_P(PSTR("Default\n"), false);
- break;
- case _FN:
- oled_write_P(PSTR("Function\n"), false);
- break;
- default:
- // Or use the write_ln shortcut over adding '\n' to the end of your string
- oled_write_ln_P(PSTR("Undefined"), false);
- }
-
- // Host Keyboard LED Status
- led_t led_usb_state = host_keyboard_led_state();
- oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false);
- oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false);
- } else {
- render_qmk_logo();
- }
- return false;
-}
-#endif
diff --git a/keyboards/basekeys/slice/rev1_rgb/keymaps/via/rules.mk b/keyboards/basekeys/slice/rev1_rgb/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/basekeys/slice/rev1_rgb/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/basekeys/trifecta/keymaps/default/keymap.c b/keyboards/basekeys/trifecta/keymaps/default/keymap.c
index 72187f69b990..0d4ca5aa2459 100644
--- a/keyboards/basekeys/trifecta/keymaps/default/keymap.c
+++ b/keyboards/basekeys/trifecta/keymaps/default/keymap.c
@@ -34,16 +34,16 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
+ _______, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_TOGG, UG_HUED, UG_SATD, UG_VALD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
),
[_MEDIA] = LAYOUT(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
+ _______, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_TOGG, UG_HUED, UG_SATD, UG_VALD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
_______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
)
};
diff --git a/keyboards/basekeys/trifecta/keymaps/via/keymap.c b/keyboards/basekeys/trifecta/keymaps/via/keymap.c
deleted file mode 100644
index 9e102f972c69..000000000000
--- a/keyboards/basekeys/trifecta/keymaps/via/keymap.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Copyright 2020 Swiftrax and Basekeys.com
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN,
- _MEDIA };
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_HOME,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, MO(_MEDIA), KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RGUI, KC_RCTL, MO(_FN), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- [_MEDIA] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- )
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) { /* First encoder */
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- } else if (index == 1) { /* Second encoder */
- if (clockwise) {
- tap_code(KC_RGHT);
- } else {
- tap_code(KC_LEFT);
- }
- } else if (index == 2) { /* Third encoder */
- if (clockwise) {
- rgblight_step();
- } else {
- rgblight_step_reverse();
- }
- }
- return true;
-}
diff --git a/keyboards/basekeys/trifecta/keymaps/via/rules.mk b/keyboards/basekeys/trifecta/keymaps/via/rules.mk
deleted file mode 100644
index 32f462d06cac..000000000000
--- a/keyboards/basekeys/trifecta/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no
\ No newline at end of file
diff --git a/keyboards/basketweave/keymaps/via/keymap.c b/keyboards/basketweave/keymaps/via/keymap.c
deleted file mode 100644
index fbbca6a7899d..000000000000
--- a/keyboards/basketweave/keymaps/via/keymap.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/* Copyright 2021 null-ll
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_default( /* base */
- QK_GESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_INS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_MUTE,
- KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
-
- [1] = LAYOUT_default( /* fn */
- /* esc ` 1 2 3 4 5 6 7 8 9 0 - = bspc */
- KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
- /* ins tab Q W E R T Y U I O P [ ] \ rotary */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY,
- /* del caps A S D F G H J K L ; ' enter */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS,
- /* shift Z X C V B B N M , . / shift up */
- KC_LSFT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_RSFT, KC_PGUP,
- /* ctrl alt space fn space alt ctrl left down right */
- KC_LCTL, KC_LALT, KC_TRNS, KC_TRNS, KC_TRNS, KC_RALT, KC_RCTL, KC_HOME, KC_PGDN, KC_END
- ),
-
- [2] = LAYOUT_default( /* extra */
- /* esc ` 1 2 3 4 5 6 7 8 9 0 - = bspc */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /* ins tab Q W E R T Y U I O P [ ] \ rotary */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /* del caps A S D F G H J K L ; ' enter */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS,
- /* shift Z X C V B B N M , . / shift up */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /* ctrl alt space fn space alt ctrl left down right */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_default( /* extra */
- /* esc ` 1 2 3 4 5 6 7 8 9 0 - = bspc */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /* ins tab Q W E R T Y U I O P [ ] \ rotary */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /* del caps A S D F G H J K L ; ' enter */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_TRNS,
- /* shift Z X C V B B N M , . / shift up */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- /* ctrl alt space fn space alt ctrl left down right */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if (index == 0) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return true;
-}
diff --git a/keyboards/basketweave/keymaps/via/rules.mk b/keyboards/basketweave/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/basketweave/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/3x5/blackpill/config.h b/keyboards/bastardkb/charybdis/3x5/blackpill/config.h
index 0467a1261f46..bd1e0fe31ece 100644
--- a/keyboards/bastardkb/charybdis/3x5/blackpill/config.h
+++ b/keyboards/bastardkb/charybdis/3x5/blackpill/config.h
@@ -29,7 +29,6 @@
#define WS2812_EXTERNAL_PULLUP
#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1
#define WS2812_PWM_DMA_CHANNEL 3
-#define WS2812_PWM_TARGET_PERIOD 800000
/* Serial configuration for split keyboard. */
#define SERIAL_USART_TX_PIN A9
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c
index b1bd74957dbb..e5e0ba1207ba 100644
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/charybdis/3x5/keymaps/default/keymap.c
@@ -46,7 +46,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[LAYER_LOWER] = LAYOUT(
// ╭─────────────────────────────────────────────╮ ╭─────────────────────────────────────────────╮
- RGB_TOG, KC_MNXT, KC_MPLY, KC_MPRV, XXXXXXX, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC,
+ RM_TOGG, KC_MNXT, KC_MPLY, KC_MPRV, XXXXXXX, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_4, KC_5, KC_6, KC_PMNS,
// ├─────────────────────────────────────────────┤ ├─────────────────────────────────────────────┤
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h b/keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h
deleted file mode 100644
index fd33c8475860..000000000000
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/via/config.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Copyright 2021 Charly Delay (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#ifdef VIA_ENABLE
-/* VIA configuration. */
-# define DYNAMIC_KEYMAP_LAYER_COUNT 7
-#endif // VIA_ENABLE
-
-/* Disable unused features. */
-#define NO_ACTION_ONESHOT
-
-/* Charybdis-specific features. */
-
-#ifdef POINTING_DEVICE_ENABLE
-// Automatically enable the pointer layer when moving the trackball. See also:
-// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS`
-// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
-// #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-#endif // POINTING_DEVICE_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c
deleted file mode 100644
index 5299444ad390..000000000000
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/via/keymap.c
+++ /dev/null
@@ -1,257 +0,0 @@
-/**
- * Copyright 2021 Charly Delay (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-#ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-# include "timer.h"
-#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-
-enum charybdis_keymap_layers {
- LAYER_BASE = 0,
- LAYER_FUNCTION,
- LAYER_NAVIGATION,
- LAYER_MEDIA,
- LAYER_POINTER,
- LAYER_NUMERAL,
- LAYER_SYMBOLS,
-};
-
-// Automatically enable sniping-mode on the pointer layer.
-#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-
-#ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-static uint16_t auto_pointer_layer_timer = 0;
-
-# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
-# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
-
-# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
-# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
-#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-
-#define ESC_MED LT(LAYER_MEDIA, KC_ESC)
-#define SPC_NAV LT(LAYER_NAVIGATION, KC_SPC)
-#define TAB_FUN LT(LAYER_FUNCTION, KC_TAB)
-#define ENT_SYM LT(LAYER_SYMBOLS, KC_ENT)
-#define BSP_NUM LT(LAYER_NUMERAL, KC_BSPC)
-#define _L_PTR(KC) LT(LAYER_POINTER, KC)
-
-#ifndef POINTING_DEVICE_ENABLE
-# define DRGSCRL KC_NO
-# define DPI_MOD KC_NO
-# define S_D_MOD KC_NO
-# define SNIPING KC_NO
-#endif // !POINTING_DEVICE_ENABLE
-
-// clang-format off
-/** \brief QWERTY layout (3 rows, 10 columns). */
-#define LAYOUT_LAYER_BASE \
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
- ESC_MED, SPC_NAV, TAB_FUN, ENT_SYM, BSP_NUM
-
-/** Convenience row shorthands. */
-#define _______________DEAD_HALF_ROW_______________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-#define ______________HOME_ROW_GACS_L______________ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX
-#define ______________HOME_ROW_GACS_R______________ XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI
-
-/*
- * Layers used on the Charybdis Nano.
- *
- * These layers started off heavily inspired by the Miryoku layout, but trimmed
- * down and tailored for a stock experience that is meant to be fundation for
- * further personalization.
- *
- * See https://github.com/manna-harbour/miryoku for the original layout.
- */
-
-/**
- * \brief Function layer.
- *
- * Secondary right-hand layer has function keys mirroring the numerals on the
- * primary layer with extras on the pinkie column, plus system keys on the inner
- * column. App is on the tertiary thumb key and other thumb keys are duplicated
- * from the base layer to enable auto-repeat.
- */
-#define LAYOUT_LAYER_FUNCTION \
- _______________DEAD_HALF_ROW_______________, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12, \
- ______________HOME_ROW_GACS_L______________, KC_SCRL, KC_F4, KC_F5, KC_F6, KC_F11, \
- _______________DEAD_HALF_ROW_______________, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, \
- XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX
-
-/**
- * \brief Media layer.
- *
- * Tertiary left- and right-hand layer is media and RGB control. This layer is
- * symmetrical to accomodate the left- and right-hand trackball.
- */
-#define LAYOUT_LAYER_MEDIA \
- XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX, \
- KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT, \
- XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, QK_BOOT, EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, \
- _______, KC_MPLY, KC_MSTP, KC_MSTP, KC_MPLY
-
-/** \brief Mouse emulation and pointer functions. */
-#define LAYOUT_LAYER_POINTER \
- XXXXXXX, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, XXXXXXX, \
- ______________HOME_ROW_GACS_L______________, ______________HOME_ROW_GACS_R______________, \
- _______, DRGSCRL, SNIPING, EE_CLR, QK_BOOT, QK_BOOT, EE_CLR, SNIPING, DRGSCRL, _______, \
- KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1
-
-/**
- * \brief Navigation layer.
- *
- * Primary right-hand layer (left home thumb) is navigation and editing. Cursor
- * keys are on the home position, line and page movement below, clipboard above,
- * caps lock and insert on the inner column. Thumb keys are duplicated from the
- * base layer to avoid having to layer change mid edit and to enable auto-repeat.
- */
-#define LAYOUT_LAYER_NAVIGATION \
- _______________DEAD_HALF_ROW_______________, _______________DEAD_HALF_ROW_______________, \
- ______________HOME_ROW_GACS_L______________, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
- _______________DEAD_HALF_ROW_______________, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \
- XXXXXXX, _______, XXXXXXX, KC_ENT, KC_BSPC
-
-/**
- * \brief Numeral layout.
- *
- * Primary left-hand layer (right home thumb) is numerals and symbols. Numerals
- * are in the standard numpad locations with symbols in the remaining positions.
- * `KC_DOT` is duplicated from the base layer.
- */
-#define LAYOUT_LAYER_NUMERAL \
- KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, _______________DEAD_HALF_ROW_______________, \
- KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, ______________HOME_ROW_GACS_R______________, \
- KC_GRV, KC_1, KC_2, KC_3, KC_BSLS, _______________DEAD_HALF_ROW_______________, \
- KC_DOT, KC_0, KC_MINS, XXXXXXX, _______
-
-/**
- * \brief Symbols layer.
- *
- * Secondary left-hand layer has shifted symbols in the same locations to reduce
- * chording when using mods with shifted symbols. `KC_LPRN` is duplicated next to
- * `KC_RPRN`.
- */
-#define LAYOUT_LAYER_SYMBOLS \
- KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, _______________DEAD_HALF_ROW_______________, \
- KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, ______________HOME_ROW_GACS_R______________, \
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, _______________DEAD_HALF_ROW_______________, \
- KC_LPRN, KC_RPRN, KC_UNDS, _______, XXXXXXX
-
-/**
- * \brief Add Home Row mod to a layout.
- *
- * Expects a 10-key per row layout. Adds support for GACS (Gui, Alt, Ctl, Shift)
- * home row. The layout passed in parameter must contain at least 20 keycodes.
- *
- * This is meant to be used with `LAYER_ALPHAS_QWERTY` defined above, eg.:
- *
- * HOME_ROW_MOD_GACS(LAYER_ALPHAS_QWERTY)
- */
-#define _HOME_ROW_MOD_GACS( \
- L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \
- L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \
- ...) \
- L00, L01, L02, L03, L04, \
- R05, R06, R07, R08, R09, \
- LGUI_T(L10), LALT_T(L11), LCTL_T(L12), LSFT_T(L13), L14, \
- R15, RSFT_T(R16), RCTL_T(R17), LALT_T(R18), RGUI_T(R19), \
- __VA_ARGS__
-#define HOME_ROW_MOD_GACS(...) _HOME_ROW_MOD_GACS(__VA_ARGS__)
-
-/**
- * \brief Add pointer layer keys to a layout.
- *
- * Expects a 10-key per row layout. The layout passed in parameter must contain
- * at least 30 keycodes.
- *
- * This is meant to be used with `LAYER_ALPHAS_QWERTY` defined above, eg.:
- *
- * POINTER_MOD(LAYER_ALPHAS_QWERTY)
- */
-#define _POINTER_MOD( \
- L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \
- L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \
- L20, L21, L22, L23, L24, R25, R26, R27, R28, R29, \
- ...) \
- L00, L01, L02, L03, L04, \
- R05, R06, R07, R08, R09, \
- L10, L11, L12, L13, L14, \
- R15, R16, R17, R18, R19, \
- _L_PTR(L20), L21, L22, L23, L24, \
- R25, R26, R27, R28, _L_PTR(R29), \
- __VA_ARGS__
-#define POINTER_MOD(...) _POINTER_MOD(__VA_ARGS__)
-
-#define LAYOUT_wrapper(...) LAYOUT(__VA_ARGS__)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [LAYER_BASE] = LAYOUT_wrapper(
- POINTER_MOD(HOME_ROW_MOD_GACS(LAYOUT_LAYER_BASE))
- ),
- [LAYER_FUNCTION] = LAYOUT_wrapper(LAYOUT_LAYER_FUNCTION),
- [LAYER_NAVIGATION] = LAYOUT_wrapper(LAYOUT_LAYER_NAVIGATION),
- [LAYER_MEDIA] = LAYOUT_wrapper(LAYOUT_LAYER_MEDIA),
- [LAYER_NUMERAL] = LAYOUT_wrapper(LAYOUT_LAYER_NUMERAL),
- [LAYER_POINTER] = LAYOUT_wrapper(LAYOUT_LAYER_POINTER),
- [LAYER_SYMBOLS] = LAYOUT_wrapper(LAYOUT_LAYER_SYMBOLS),
-};
-// clang-format on
-
-#ifdef POINTING_DEVICE_ENABLE
-# ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
- if (abs(mouse_report.x) > CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD || abs(mouse_report.y) > CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD) {
- if (auto_pointer_layer_timer == 0) {
- layer_on(LAYER_POINTER);
-# ifdef RGB_MATRIX_ENABLE
- rgb_matrix_mode_noeeprom(RGB_MATRIX_NONE);
- rgb_matrix_sethsv_noeeprom(HSV_GREEN);
-# endif // RGB_MATRIX_ENABLE
- }
- auto_pointer_layer_timer = timer_read();
- }
- return mouse_report;
-}
-
-void matrix_scan_user(void) {
- if (auto_pointer_layer_timer != 0 && TIMER_DIFF_16(timer_read(), auto_pointer_layer_timer) >= CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS) {
- auto_pointer_layer_timer = 0;
- layer_off(LAYER_POINTER);
-# ifdef RGB_MATRIX_ENABLE
- rgb_matrix_mode_noeeprom(RGB_MATRIX_DEFAULT_MODE);
-# endif // RGB_MATRIX_ENABLE
- }
-}
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-
-# ifdef CHARYBDIS_AUTO_SNIPING_ON_LAYER
-layer_state_t layer_state_set_user(layer_state_t state) {
- charybdis_set_pointer_sniping_enabled(layer_state_cmp(state, CHARYBDIS_AUTO_SNIPING_ON_LAYER));
- return state;
-}
-# endif // CHARYBDIS_AUTO_SNIPING_ON_LAYER
-#endif // POINTING_DEVICE_ENABLE
-
-#ifdef RGB_MATRIX_ENABLE
-// Forward-declare this helper function since it is defined in
-// rgb_matrix.c.
-void rgb_matrix_update_pwm_buffers(void);
-#endif
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/via/readme.md b/keyboards/bastardkb/charybdis/3x5/keymaps/via/readme.md
deleted file mode 100644
index dc7f6f2d30b2..000000000000
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/via/readme.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# Charybdis (3x5) `via` keymap
-
-The Charydbis (3x5) `via` keymap is based on a QWERTY layout with [home row mods](https://precondition.github.io/home-row-mods) and [Miryoku-inspired layers](https://github.com/manna-harbour/miryoku), and some features and changes specific to the Charybdis.
-
-This layout supports RGB matrix. However, due to space constraints on the MCU, only a limited number of effect can be enabled at once. Look at the `config.h` file and enable your favorite effect.
-
-This layout also supports VIA.
-
-## Customizing the keymap
-
-### Dynamic DPI scaling
-
-Use the following keycodes to change the default DPI:
-
-- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 16 possible values for the sniping mode DPI. See the [Charybdis documentation](../../README.md) for more information.
-
-Use the following keycodes to change the sniping mode DPI:
-
-- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 4 possible values for the sniping mode DPI. See the [Charybdis documentation](../../README.md) for more information.
-
-### Drag-scroll
-
-Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press.
-
-### Sniping
-
-Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press.
-
-Change the value of `CHARYBDIS_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer:
-
-```c
-#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-```
-
-### Auto pointer layer
-
-The pointer layer can be automatically enabled when moving the trackball. To enable or disable this behavior, add or remove the following define:
-
-```c
-#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-```
-
-By default, the layer is turned off 1 second after the last registered trackball movement:
-
-```c
-#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
-```
-
-The trigger sensibility can also be tuned. The lower the value, the more sensible the trigger:
-
-```c
-#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
-```
-
-## Layout
-
-![Keymap layout (generated with keyboard-layout-editor.com)](https://i.imgur.com/uHEnqEN.png)
diff --git a/keyboards/bastardkb/charybdis/3x5/keymaps/via/rules.mk b/keyboards/bastardkb/charybdis/3x5/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bastardkb/charybdis/3x5/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/3x6/blackpill/config.h b/keyboards/bastardkb/charybdis/3x6/blackpill/config.h
index b41a1d3f5744..e1365a109d9a 100644
--- a/keyboards/bastardkb/charybdis/3x6/blackpill/config.h
+++ b/keyboards/bastardkb/charybdis/3x6/blackpill/config.h
@@ -27,7 +27,6 @@
#define WS2812_EXTERNAL_PULLUP
#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1
#define WS2812_PWM_DMA_CHANNEL 3
-#define WS2812_PWM_TARGET_PERIOD 800000
/* Serial configuration for split keyboard. */
#define SERIAL_USART_TX_PIN A9
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.c
index c3aa67a944a5..ba8028104e00 100644
--- a/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/charybdis/3x6/keymaps/default/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[LAYER_LOWER] = LAYOUT(
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- XXXXXXX, RGB_TOG, KC_MNXT, KC_MPLY, KC_MPRV, XXXXXXX, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, XXXXXXX,
+ XXXXXXX, RM_TOGG, KC_MNXT, KC_MPLY, KC_MPRV, XXXXXXX, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, XXXXXXX,
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_4, KC_5, KC_6, KC_PMNS, XXXXXXX,
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/via/config.h b/keyboards/bastardkb/charybdis/3x6/keymaps/via/config.h
deleted file mode 100644
index 7c850d5e0e99..000000000000
--- a/keyboards/bastardkb/charybdis/3x6/keymaps/via/config.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Copyright 2022 Charly Delay (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#ifdef VIA_ENABLE
-/* VIA configuration. */
-# define DYNAMIC_KEYMAP_LAYER_COUNT 4
-#endif // VIA_ENABLE
-
-/* Disable unused features. */
-#define NO_ACTION_ONESHOT
-
-/* Charybdis-specific features. */
-
-#ifdef POINTING_DEVICE_ENABLE
-// Automatically enable the pointer layer when moving the trackball. See also:
-// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS`
-// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
-// #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-#endif // POINTING_DEVICE_ENABLE
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c
deleted file mode 100644
index d78ce8b7ffd1..000000000000
--- a/keyboards/bastardkb/charybdis/3x6/keymaps/via/keymap.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/**
- * Copyright 2022 Charly Delay (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum charybdis_keymap_layers {
- LAYER_BASE = 0,
- LAYER_LOWER,
- LAYER_RAISE,
- LAYER_POINTER,
-};
-
-/** \brief Automatically enable sniping-mode on the pointer layer. */
-#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-
-#ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-static uint16_t auto_pointer_layer_timer = 0;
-
-# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
-# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
-
-# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
-# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
-#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-
-#define LOWER MO(LAYER_LOWER)
-#define RAISE MO(LAYER_RAISE)
-#define PT_Z LT(LAYER_POINTER, KC_Z)
-#define PT_SLSH LT(LAYER_POINTER, KC_SLSH)
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [LAYER_BASE] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- KC_LGUI, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_RGUI,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_RCTL,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- KC_BSPC, KC_SPC, LOWER, RAISE, KC_ENT
- // ╰───────────────────────────╯ ╰──────────────────╯
- ),
-
- [LAYER_LOWER] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- XXXXXXX, RGB_TOG, KC_MNXT, KC_MPLY, KC_MPRV, XXXXXXX, KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_4, KC_5, KC_6, KC_PMNS, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_1, KC_2, KC_3, KC_PSLS, XXXXXXX,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- XXXXXXX, XXXXXXX, _______, XXXXXXX, _______
- // ╰───────────────────────────╯ ╰──────────────────╯
- ),
-
- [LAYER_RAISE] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_MUTE, KC_VOLD, XXXXXXX, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, QK_BOOT, EE_CLR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- _______, _______, XXXXXXX, _______, XXXXXXX
- // ╰───────────────────────────╯ ╰──────────────────╯
- ),
-
- [LAYER_POINTER] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, _______, DRGSCRL, SNIPING, EE_CLR, QK_BOOT, QK_BOOT, EE_CLR, SNIPING, DRGSCRL, _______, XXXXXXX,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1
- // ╰───────────────────────────╯ ╰──────────────────╯
- ),
-};
-// clang-format on
-
-#ifdef POINTING_DEVICE_ENABLE
-# ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
- if (abs(mouse_report.x) > CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD || abs(mouse_report.y) > CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD) {
- if (auto_pointer_layer_timer == 0) {
- layer_on(LAYER_POINTER);
-# ifdef RGB_MATRIX_ENABLE
- rgb_matrix_mode_noeeprom(RGB_MATRIX_NONE);
- rgb_matrix_sethsv_noeeprom(HSV_GREEN);
-# endif // RGB_MATRIX_ENABLE
- }
- auto_pointer_layer_timer = timer_read();
- }
- return mouse_report;
-}
-
-void matrix_scan_user(void) {
- if (auto_pointer_layer_timer != 0 && TIMER_DIFF_16(timer_read(), auto_pointer_layer_timer) >= CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS) {
- auto_pointer_layer_timer = 0;
- layer_off(LAYER_POINTER);
-# ifdef RGB_MATRIX_ENABLE
- rgb_matrix_mode_noeeprom(RGB_MATRIX_DEFAULT_MODE);
-# endif // RGB_MATRIX_ENABLE
- }
-}
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-
-# ifdef CHARYBDIS_AUTO_SNIPING_ON_LAYER
-layer_state_t layer_state_set_user(layer_state_t state) {
- charybdis_set_pointer_sniping_enabled(layer_state_cmp(state, CHARYBDIS_AUTO_SNIPING_ON_LAYER));
- return state;
-}
-# endif // CHARYBDIS_AUTO_SNIPING_ON_LAYER
-#endif // POINTING_DEVICE_ENABLE
-
-#ifdef RGB_MATRIX_ENABLE
-// Forward-declare this helper function since it is defined in rgb_matrix.c.
-void rgb_matrix_update_pwm_buffers(void);
-#endif
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/via/readme.md b/keyboards/bastardkb/charybdis/3x6/keymaps/via/readme.md
deleted file mode 100644
index fba00cd9966f..000000000000
--- a/keyboards/bastardkb/charybdis/3x6/keymaps/via/readme.md
+++ /dev/null
@@ -1,57 +0,0 @@
-# Charybdis Mini (3x6) `via` keymap
-
-The Charydbis Mini (3x6) `via` keymap is inspired from the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap, with some features and changes specific to the Charybdis.
-
-This layout supports RGB matrix. However, due to space constraints on the MCU, only a limited number of effect can be enabled at once. Look at the `config.h` file and enable your favorite effect.
-
-## Customizing the keymap
-
-### Dynamic DPI scaling
-
-Use the following keycodes to change the default DPI:
-
-- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 16 possible values for the sniping mode DPI. See the [Charybdis documentation](../../README.md) for more information.
-
-Use the following keycodes to change the sniping mode DPI:
-
-- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 4 possible values for the sniping mode DPI. See the [Charybdis documentation](../../README.md) for more information.
-
-### Drag-scroll
-
-Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press.
-
-### Sniping
-
-Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press.
-
-Change the value of `CHARYBDIS_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer:
-
-```c
-#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-```
-
-### Auto pointer layer
-
-The pointer layer can be automatically enabled when moving the trackball. To enable or disable this behavior, add or remove the following define:
-
-```c
-#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-```
-
-By default, the layer is turned off 1 second after the last registered trackball movement:
-
-```c
-#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
-```
-
-The trigger sensibility can also be tuned. The lower the value, the more sensible the trigger:
-
-```c
-#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
-```
diff --git a/keyboards/bastardkb/charybdis/3x6/keymaps/via/rules.mk b/keyboards/bastardkb/charybdis/3x6/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bastardkb/charybdis/3x6/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/4x6/blackpill/config.h b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h
index 0467a1261f46..bd1e0fe31ece 100644
--- a/keyboards/bastardkb/charybdis/4x6/blackpill/config.h
+++ b/keyboards/bastardkb/charybdis/4x6/blackpill/config.h
@@ -29,7 +29,6 @@
#define WS2812_EXTERNAL_PULLUP
#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1
#define WS2812_PWM_DMA_CHANNEL 3
-#define WS2812_PWM_TARGET_PERIOD 800000
/* Serial configuration for split keyboard. */
#define SERIAL_USART_TX_PIN A9
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c
index 304e9fc9a483..f440dac8cb7b 100644
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/charybdis/4x6/keymaps/default/keymap.c
@@ -46,11 +46,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS,
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX,
+ RM_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX,
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL,
+ RM_TOGG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL,
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT,
+ RM_PREV, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
XXXXXXX, XXXXXXX, _______, XXXXXXX, _______,
XXXXXXX, XXXXXXX, KC_P0
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h b/keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h
deleted file mode 100644
index cb9013dbd1a6..000000000000
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/via/config.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Copyright 2021 Charly Delay (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#ifdef VIA_ENABLE
-/* VIA configuration. */
-# define DYNAMIC_KEYMAP_LAYER_COUNT 4
-#endif // VIA_ENABLE
-
-/* Disable unused features. */
-#define NO_ACTION_ONESHOT
-
-/* Charybdis-specific features. */
-
-#ifdef POINTING_DEVICE_ENABLE
-// Automatically enable the pointer layer when moving the trackball. See also:
-// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS`
-// - `CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
-// #define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-#endif // POINTING_DEVICE_ENABLE
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c b/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c
deleted file mode 100644
index a0657b02ec89..000000000000
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/via/keymap.c
+++ /dev/null
@@ -1,159 +0,0 @@
-/**
- * Copyright 2021 Charly Delay (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-#ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-# include "timer.h"
-#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-
-enum charybdis_keymap_layers {
- LAYER_BASE = 0,
- LAYER_LOWER,
- LAYER_RAISE,
- LAYER_POINTER,
-};
-
-/** \brief Automatically enable sniping-mode on the pointer layer. */
-#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-
-#ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-static uint16_t auto_pointer_layer_timer = 0;
-
-# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
-# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
-
-# ifndef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
-# define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
-#endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-
-#define LOWER MO(LAYER_LOWER)
-#define RAISE MO(LAYER_RAISE)
-#define PT_Z LT(LAYER_POINTER, KC_Z)
-#define PT_SLSH LT(LAYER_POINTER, KC_SLSH)
-
-#ifndef POINTING_DEVICE_ENABLE
-# define DRGSCRL KC_NO
-# define DPI_MOD KC_NO
-# define S_D_MOD KC_NO
-# define SNIPING KC_NO
-#endif // !POINTING_DEVICE_ENABLE
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [LAYER_BASE] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_LCTL, PT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, PT_SLSH, KC_LALT,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- KC_LGUI, KC_SPC, LOWER, RAISE, KC_ENT,
- KC_LALT, KC_BSPC, KC_DEL
- // ╰───────────────────────────╯ ╰──────────────────╯
- ),
-
- [LAYER_LOWER] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- XXXXXXX, XXXXXXX, _______, XXXXXXX, _______,
- XXXXXXX, XXXXXXX, KC_P0
- // ╰───────────────────────────╯ ╰──────────────────╯
- ),
-
- [LAYER_RAISE] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_MPLY, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- _______, _______, XXXXXXX, _______, XXXXXXX,
- _______, _______, XXXXXXX
- // ╰───────────────────────────╯ ╰──────────────────╯
- ),
-
- [LAYER_POINTER] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, _______, DRGSCRL, SNIPING, EE_CLR, QK_BOOT, QK_BOOT, EE_CLR, SNIPING, DRGSCRL, _______, XXXXXXX,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1,
- XXXXXXX, KC_BTN2, KC_BTN2
- // ╰───────────────────────────╯ ╰──────────────────╯
- ),
-};
-// clang-format on
-
-#ifdef POINTING_DEVICE_ENABLE
-# ifdef CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
- if (abs(mouse_report.x) > CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD || abs(mouse_report.y) > CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD) {
- if (auto_pointer_layer_timer == 0) {
- layer_on(LAYER_POINTER);
-# ifdef RGB_MATRIX_ENABLE
- rgb_matrix_mode_noeeprom(RGB_MATRIX_NONE);
- rgb_matrix_sethsv_noeeprom(HSV_GREEN);
-# endif // RGB_MATRIX_ENABLE
- }
- auto_pointer_layer_timer = timer_read();
- }
- return mouse_report;
-}
-
-void matrix_scan_user(void) {
- if (auto_pointer_layer_timer != 0 && TIMER_DIFF_16(timer_read(), auto_pointer_layer_timer) >= CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS) {
- auto_pointer_layer_timer = 0;
- layer_off(LAYER_POINTER);
-# ifdef RGB_MATRIX_ENABLE
- rgb_matrix_mode_noeeprom(RGB_MATRIX_DEFAULT_MODE);
-# endif // RGB_MATRIX_ENABLE
- }
-}
-# endif // CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-
-# ifdef CHARYBDIS_AUTO_SNIPING_ON_LAYER
-layer_state_t layer_state_set_user(layer_state_t state) {
- charybdis_set_pointer_sniping_enabled(layer_state_cmp(state, CHARYBDIS_AUTO_SNIPING_ON_LAYER));
- return state;
-}
-# endif // CHARYBDIS_AUTO_SNIPING_ON_LAYER
-#endif // POINTING_DEVICE_ENABLE
-
-#ifdef RGB_MATRIX_ENABLE
-// Forward-declare this helper function since it is defined in rgb_matrix.c.
-void rgb_matrix_update_pwm_buffers(void);
-#endif
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/via/readme.md b/keyboards/bastardkb/charybdis/4x6/keymaps/via/readme.md
deleted file mode 100644
index ad2634ef0ca4..000000000000
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/via/readme.md
+++ /dev/null
@@ -1,61 +0,0 @@
-# Charybdis (4x6) `via` keymap
-
-The Charydbis (4x6) `via` keymap is inspired from the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap, with some features and changes specific to the Charybdis.
-
-This layout supports RGB matrix. However, due to space constraints on the MCU, only a limited number of effect can be enabled at once. Look at the `config.h` file and enable your favorite effect.
-
-## Customizing the keymap
-
-### Dynamic DPI scaling
-
-Use the following keycodes to change the default DPI:
-
-- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 16 possible values for the sniping mode DPI. See the [Charybdis documentation](../../README.md) for more information.
-
-Use the following keycodes to change the sniping mode DPI:
-
-- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 4 possible values for the sniping mode DPI. See the [Charybdis documentation](../../README.md) for more information.
-
-### Drag-scroll
-
-Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press.
-
-### Sniping
-
-Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press.
-
-Change the value of `CHARYBDIS_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer:
-
-```c
-#define CHARYBDIS_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-```
-
-### Auto pointer layer
-
-The pointer layer can be automatically enabled when moving the trackball. To enable or disable this behavior, add or remove the following define:
-
-```c
-#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-```
-
-By default, the layer is turned off 1 second after the last registered trackball movement:
-
-```c
-#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
-```
-
-The trigger sensibility can also be tuned. The lower the value, the more sensible the trigger:
-
-```c
-#define CHARYBDIS_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
-```
-
-## Layout
-
-![Keymap layout (generated with keyboard-layout-editor.com)](https://i.imgur.com/qI7phR7.png)
diff --git a/keyboards/bastardkb/charybdis/4x6/keymaps/via/rules.mk b/keyboards/bastardkb/charybdis/4x6/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bastardkb/charybdis/4x6/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bastardkb/charybdis/charybdis.c b/keyboards/bastardkb/charybdis/charybdis.c
index 0ee5c3eed975..2251b2475813 100644
--- a/keyboards/bastardkb/charybdis/charybdis.c
+++ b/keyboards/bastardkb/charybdis/charybdis.c
@@ -393,7 +393,6 @@ bool shutdown_kb(bool jump_to_bootloader) {
rgblight_setrgb(RGB_RED);
#endif // RGBLIGHT_ENABLE
#ifdef RGB_MATRIX_ENABLE
- void rgb_matrix_update_pwm_buffers(void);
rgb_matrix_set_color_all(RGB_RED);
rgb_matrix_update_pwm_buffers();
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/charybdis/config.h b/keyboards/bastardkb/charybdis/config.h
index 32ab7b0ebbfc..ebbddecf5786 100644
--- a/keyboards/bastardkb/charybdis/config.h
+++ b/keyboards/bastardkb/charybdis/config.h
@@ -34,13 +34,6 @@
/* RGB matrix support. */
#ifdef RGB_MATRIX_ENABLE
-# ifndef __arm__
-// Disable control of RGB matrix by keycodes (must use firmware implementation
-// to control the feature).
-# define RGB_MATRIX_DISABLE_KEYCODES
-# else // __arm__
-// Enable all animations on ARM boards since they have plenty of memory
-// available for it.
# define ENABLE_RGB_MATRIX_ALPHAS_MODS
# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
@@ -81,5 +74,4 @@
# define ENABLE_RGB_MATRIX_MULTISPLASH
# define ENABLE_RGB_MATRIX_SOLID_SPLASH
# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-# endif // !__arm__
#endif
diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/config.h b/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/config.h
deleted file mode 100644
index f92ea9a4c91c..000000000000
--- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/config.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * Copyright 2021 Charly Delay (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#ifdef VIA_ENABLE
-/* VIA configuration. */
-# define DYNAMIC_KEYMAP_LAYER_COUNT 6
-#endif // VIA_ENABLE
-
-/* Charybdis-specific features. */
-
-#ifdef POINTING_DEVICE_ENABLE
-// Automatically enable the pointer layer when moving the trackball. See also:
-// - `DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS`
-// - `DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD`
-// #define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-#endif // POINTING_DEVICE_ENABLE
diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/keymap.c b/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/keymap.c
deleted file mode 100644
index b3aeaf014f68..000000000000
--- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/**
- * Copyright 2022 Charly Delay (@0xcharly)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-#ifdef DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-# include "timer.h"
-#endif // DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-
-enum dilemma_keymap_layers {
- LAYER_BASE = 0,
- LAYER_FUNCTION,
- LAYER_NAVIGATION,
- LAYER_POINTER,
- LAYER_NUMERAL,
- LAYER_SYMBOLS,
-};
-
-// Automatically enable sniping-mode on the pointer layer.
-#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-
-#ifdef DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-static uint16_t auto_pointer_layer_timer = 0;
-
-# ifndef DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
-# define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
-# endif // DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS
-
-# ifndef DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
-# define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
-# endif // DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD
-#endif // DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-
-#define SPC_NAV LT(LAYER_NAVIGATION, KC_SPC)
-#define TAB_FUN LT(LAYER_FUNCTION, KC_TAB)
-#define ENT_SYM LT(LAYER_SYMBOLS, KC_ENT)
-#define BSP_NUM LT(LAYER_NUMERAL, KC_BSPC)
-#define _L_PTR(KC) LT(LAYER_POINTER, KC)
-
-#ifndef POINTING_DEVICE_ENABLE
-# define DRGSCRL KC_NO
-# define DPI_MOD KC_NO
-# define S_D_MOD KC_NO
-# define SNIPING KC_NO
-#endif // !POINTING_DEVICE_ENABLE
-
-// clang-format off
-/** \brief QWERTY layout (3 rows, 10 columns). */
-#define LAYOUT_LAYER_BASE \
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, \
- KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, \
- KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, \
- TAB_FUN, SPC_NAV, ENT_SYM, BSP_NUM
-
-/** Convenience row shorthands. */
-#define _______________DEAD_HALF_ROW_______________ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
-#define ______________HOME_ROW_GACS_L______________ KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX
-#define ______________HOME_ROW_GACS_R______________ XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI
-
-/*
- * Layers used on the Dilemma.
- *
- * These layers started off heavily inspired by the Miryoku layout, but trimmed
- * down and tailored for a stock experience that is meant to be fundation for
- * further personalization.
- *
- * See https://github.com/manna-harbour/miryoku for the original layout.
- */
-
-/**
- * \brief Function layer.
- *
- * Secondary right-hand layer has function keys mirroring the numerals on the
- * primary layer with extras on the pinkie column, plus system keys on the inner
- * column. App is on the tertiary thumb key and other thumb keys are duplicated
- * from the base layer to enable auto-repeat.
- */
-#define LAYOUT_LAYER_FUNCTION \
- _______________DEAD_HALF_ROW_______________, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12, \
- ______________HOME_ROW_GACS_L______________, KC_SCRL, KC_F4, KC_F5, KC_F6, KC_F11, \
- _______________DEAD_HALF_ROW_______________, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX
-
-/** \brief Mouse emulation and pointer functions. */
-#define LAYOUT_LAYER_POINTER \
- QK_BOOT, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, QK_BOOT, \
- ______________HOME_ROW_GACS_L______________, ______________HOME_ROW_GACS_R______________, \
- _______, DRGSCRL, SNIPING, KC_BTN3, XXXXXXX, XXXXXXX, KC_BTN3, SNIPING, DRGSCRL, _______, \
- KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2
-
-/**
- * \brief Navigation layer.
- *
- * Primary right-hand layer (left home thumb) is navigation and editing. Cursor
- * keys are on the home position, line and page movement below, clipboard above,
- * caps lock and insert on the inner column. Thumb keys are duplicated from the
- * base layer to avoid having to layer change mid edit and to enable auto-repeat.
- */
-#define LAYOUT_LAYER_NAVIGATION \
- _______________DEAD_HALF_ROW_______________, _______________DEAD_HALF_ROW_______________, \
- ______________HOME_ROW_GACS_L______________, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
- _______________DEAD_HALF_ROW_______________, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END, \
- XXXXXXX, _______, KC_ENT, KC_BSPC
-
-/**
- * \brief Numeral layout.
- *
- * Primary left-hand layer (right home thumb) is numerals and symbols. Numerals
- * are in the standard numpad locations with symbols in the remaining positions.
- * `KC_DOT` is duplicated from the base layer.
- */
-#define LAYOUT_LAYER_NUMERAL \
- KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, _______________DEAD_HALF_ROW_______________, \
- KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, ______________HOME_ROW_GACS_R______________, \
- KC_DOT, KC_1, KC_2, KC_3, KC_BSLS, _______________DEAD_HALF_ROW_______________, \
- KC_MINS, KC_0, XXXXXXX, _______
-
-/**
- * \brief Symbols layer.
- *
- * Secondary left-hand layer has shifted symbols in the same locations to reduce
- * chording when using mods with shifted symbols. `KC_LPRN` is duplicated next to
- * `KC_RPRN`.
- */
-#define LAYOUT_LAYER_SYMBOLS \
- KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, _______________DEAD_HALF_ROW_______________, \
- KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, ______________HOME_ROW_GACS_R______________, \
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, _______________DEAD_HALF_ROW_______________, \
- KC_GRV, KC_UNDS, _______, XXXXXXX
-
-/**
- * \brief Add Home Row mod to a layout.
- *
- * Expects a 10-key per row layout. Adds support for GACS (Gui, Alt, Ctl, Shift)
- * home row. The layout passed in parameter must contain at least 20 keycodes.
- *
- * This is meant to be used with `LAYER_ALPHAS_QWERTY` defined above, eg.:
- *
- * HOME_ROW_MOD_GACS(LAYER_ALPHAS_QWERTY)
- */
-#define _HOME_ROW_MOD_GACS( \
- L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \
- L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \
- ...) \
- L00, L01, L02, L03, L04, \
- R05, R06, R07, R08, R09, \
- LGUI_T(L10), LALT_T(L11), LCTL_T(L12), LSFT_T(L13), L14, \
- R15, RSFT_T(R16), RCTL_T(R17), LALT_T(R18), RGUI_T(R19), \
- __VA_ARGS__
-#define HOME_ROW_MOD_GACS(...) _HOME_ROW_MOD_GACS(__VA_ARGS__)
-
-/**
- * \brief Add pointer layer keys to a layout.
- *
- * Expects a 10-key per row layout. The layout passed in parameter must contain
- * at least 30 keycodes.
- *
- * This is meant to be used with `LAYER_ALPHAS_QWERTY` defined above, eg.:
- *
- * POINTER_MOD(LAYER_ALPHAS_QWERTY)
- */
-#define _POINTER_MOD( \
- L00, L01, L02, L03, L04, R05, R06, R07, R08, R09, \
- L10, L11, L12, L13, L14, R15, R16, R17, R18, R19, \
- L20, L21, L22, L23, L24, R25, R26, R27, R28, R29, \
- ...) \
- L00, L01, L02, L03, L04, \
- R05, R06, R07, R08, R09, \
- L10, L11, L12, L13, L14, \
- R15, R16, R17, R18, R19, \
- _L_PTR(L20), L21, L22, L23, L24, \
- R25, R26, R27, R28, _L_PTR(R29), \
- __VA_ARGS__
-#define POINTER_MOD(...) _POINTER_MOD(__VA_ARGS__)
-
-#define LAYOUT_wrapper(...) LAYOUT_split_3x5_2(__VA_ARGS__)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [LAYER_BASE] = LAYOUT_wrapper(
- POINTER_MOD(HOME_ROW_MOD_GACS(LAYOUT_LAYER_BASE))
- ),
- [LAYER_FUNCTION] = LAYOUT_wrapper(LAYOUT_LAYER_FUNCTION),
- [LAYER_NAVIGATION] = LAYOUT_wrapper(LAYOUT_LAYER_NAVIGATION),
- [LAYER_NUMERAL] = LAYOUT_wrapper(LAYOUT_LAYER_NUMERAL),
- [LAYER_POINTER] = LAYOUT_wrapper(LAYOUT_LAYER_POINTER),
- [LAYER_SYMBOLS] = LAYOUT_wrapper(LAYOUT_LAYER_SYMBOLS),
-};
-// clang-format on
-
-#ifdef POINTING_DEVICE_ENABLE
-# ifdef DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-report_mouse_t pointing_device_task_user(report_mouse_t mouse_report) {
- if (abs(mouse_report.x) > DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD || abs(mouse_report.y) > DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD) {
- if (auto_pointer_layer_timer == 0) {
- layer_on(LAYER_POINTER);
- }
- auto_pointer_layer_timer = timer_read();
- }
- return mouse_report;
-}
-
-void matrix_scan_user(void) {
- if (auto_pointer_layer_timer != 0 && TIMER_DIFF_16(timer_read(), auto_pointer_layer_timer) >= DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS) {
- auto_pointer_layer_timer = 0;
- layer_off(LAYER_POINTER);
- }
-}
-# endif // DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-
-# ifdef DILEMMA_AUTO_SNIPING_ON_LAYER
-layer_state_t layer_state_set_user(layer_state_t state) {
- dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER));
- return state;
-}
-# endif // DILEMMA_AUTO_SNIPING_ON_LAYER
-#endif // POINTING_DEVICE_ENABLE
diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/readme.md b/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/readme.md
deleted file mode 100644
index df40677f4df3..000000000000
--- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/readme.md
+++ /dev/null
@@ -1,67 +0,0 @@
-# Dilemma `via` keymap
-
-The Dilemma `via` keymap is based on a QWERTY layout with [home row mods](https://precondition.github.io/home-row-mods) and [Miryoku-inspired layers](https://github.com/manna-harbour/miryoku), and some features and changes specific to the Dilemma.
-
-This layout also supports VIA.
-
-## Customizing the keymap
-
-### Dynamic DPI scaling
-
-Use the following keycodes to change the default DPI:
-
-- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 16 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
-
-Use the following keycodes to change the sniping mode DPI:
-
-- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 4 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
-
-### Drag-scroll
-
-Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press.
-
-### Circular scroll
-
-By default, the firmware is configured to enable the circular scroll feature on Cirque trackpad.
-
-To disable this, add the following to your keymap:
-
-```c
-#undef POINTING_DEVICE_GESTURES_SCROLL_ENABLE
-```
-
-### Sniping
-
-Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press.
-
-Change the value of `DILEMMA_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer:
-
-```c
-#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-```
-
-### Auto pointer layer
-
-The pointer layer can be automatically enabled when moving the trackball. To enable or disable this behavior, add or remove the following define:
-
-```c
-#define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_ENABLE
-```
-
-By default, the layer is turned off 1 second after the last registered trackball movement:
-
-```c
-#define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_TIMEOUT_MS 1000
-```
-
-The trigger sensibility can also be tuned. The lower the value, the more sensible the trigger:
-
-```c
-#define DILEMMA_AUTO_POINTER_LAYER_TRIGGER_THRESHOLD 8
-```
diff --git a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/rules.mk b/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bastardkb/dilemma/3x5_2/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c
index 3decc51e846b..a186139835b8 100644
--- a/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c
+++ b/keyboards/bastardkb/dilemma/3x5_3/3x5_3.c
@@ -51,36 +51,36 @@ bool rgb_matrix_indicators_advanced_kb(uint8_t led_min, uint8_t led_max) {
uint8_t layer = get_highest_layer(layer_state);
if (layer > 0) {
- HSV hsv = rgb_matrix_get_hsv();
+ hsv_t hsv = rgb_matrix_get_hsv();
switch (get_highest_layer(layer_state)) {
case 1:
- hsv = (HSV){HSV_BLUE};
+ hsv = (hsv_t){HSV_BLUE};
break;
case 2:
- hsv = (HSV){HSV_AZURE};
+ hsv = (hsv_t){HSV_AZURE};
break;
case 3:
- hsv = (HSV){HSV_ORANGE};
+ hsv = (hsv_t){HSV_ORANGE};
break;
case 4:
- hsv = (HSV){HSV_GREEN};
+ hsv = (hsv_t){HSV_GREEN};
break;
case 5:
- hsv = (HSV){HSV_TEAL};
+ hsv = (hsv_t){HSV_TEAL};
break;
case 6:
- hsv = (HSV){HSV_PURPLE};
+ hsv = (hsv_t){HSV_PURPLE};
break;
case 7:
default:
- hsv = (HSV){HSV_RED};
+ hsv = (hsv_t){HSV_RED};
break;
};
if (hsv.v > rgb_matrix_get_val()) {
hsv.v = MIN(rgb_matrix_get_val() + 22, 255);
}
- RGB rgb = hsv_to_rgb(hsv);
+ rgb_t rgb = hsv_to_rgb(hsv);
for (uint8_t i = led_min; i < led_max; i++) {
if (HAS_FLAGS(g_led_config.flags[i], LED_FLAG_UNDERGLOW)) {
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h
deleted file mode 100644
index 790d6bf751dd..000000000000
--- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/config.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/**
- * Copyright 2021 Charly Delay (@0xcharly)
- * Copyright 2023 casuanoob (@casuanoob)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 8
-
-#define SPLIT_LAYER_STATE_ENABLE
-#define SPLIT_LED_STATE_ENABLE
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c
deleted file mode 100644
index 70c89647d114..000000000000
--- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/keymap.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/**
- * Copyright 2022 Charly Delay (@0xcharly)
- * Copyright 2023 casuanoob (@casuanoob)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum dilemma_keymap_layers {
- LAYER_BASE = 0,
- LAYER_FUNCTION,
- LAYER_NAVIGATION,
- LAYER_MEDIA,
- LAYER_POINTER,
- LAYER_NUMERAL,
- LAYER_SYMBOLS,
-};
-
-// Automatically enable sniping-mode on the pointer layer.
-// #define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-
-#define ESC_MED LT(LAYER_MEDIA, KC_ESC)
-#define SPC_NAV LT(LAYER_NAVIGATION, KC_SPC)
-#define TAB_FUN LT(LAYER_FUNCTION, KC_TAB)
-#define ENT_SYM LT(LAYER_SYMBOLS, KC_ENT)
-#define BSP_NUM LT(LAYER_NUMERAL, KC_BSPC)
-#define PT_Z LT(LAYER_POINTER, KC_Z)
-#define PT_SLSH LT(LAYER_POINTER, KC_SLSH)
-
-#ifndef POINTING_DEVICE_ENABLE
-# define DRGSCRL KC_NO
-# define DPI_MOD KC_NO
-# define S_D_MOD KC_NO
-# define SNIPING KC_NO
-#endif // !POINTING_DEVICE_ENABLE
-
-// clang-format off
-/** \brief QWERTY layout (3 rows, 10 columns). */
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [LAYER_BASE] = LAYOUT_split_3x5_3(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- LGUI_T(KC_A), LALT_T(KC_S), LCTL_T(KC_D), LSFT_T(KC_F), KC_G, KC_H, RSFT_T(KC_J), RCTL_T(KC_K), RALT_T(KC_L), RGUI_T(KC_QUOT),
- PT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, PT_SLSH,
- ESC_MED, TAB_FUN, SPC_NAV, ENT_SYM, BSP_NUM, KC_MUTE
- ),
-
-/*
- * Layers used on the Dilemma.
- *
- * These layers started off heavily inspired by the Miryoku layout, but trimmed
- * down and tailored for a stock experience that is meant to be fundation for
- * further personalization.
- *
- * See https://github.com/manna-harbour/miryoku for the original layout.
- */
-
-/**
- * \brief Function layer.
- *
- * Secondary right-hand layer has function keys mirroring the numerals on the
- * primary layer with extras on the pinkie column, plus system keys on the inner
- * column. App is on the tertiary thumb key and other thumb keys are duplicated
- * from the base layer to enable auto-repeat.
- */
- [LAYER_FUNCTION] = LAYOUT_split_3x5_3(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PSCR, KC_F7, KC_F8, KC_F9, KC_F12,
- KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_SCRL, KC_F4, KC_F5, KC_F6, KC_F11,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAUS, KC_F1, KC_F2, KC_F3, KC_F10,
- XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- ),
-
-/**
- * \brief Navigation layer.
- *
- * Primary right-hand layer (left home thumb) is navigation and editing. Cursor
- * keys are on the home position, line and page movement below, clipboard above,
- * caps lock and insert on the inner column. Thumb keys are duplicated from the
- * base layer to avoid having to layer change mid edit and to enable auto-repeat.
- */
- [LAYER_NAVIGATION] = LAYOUT_split_3x5_3(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_CAPS, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_INS, KC_HOME, KC_PGDN, KC_PGUP, KC_END,
- XXXXXXX, XXXXXXX, _______, KC_ENT, KC_BSPC, KC_DEL
- ),
-
-/**
- * \brief Media layer.
- *
- * Tertiary left- and right-hand layer is media and RGB control. This layer is
- * symmetrical to accomodate the left- and right-hand trackball.
- */
- [LAYER_MEDIA] = LAYOUT_split_3x5_3(
- XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX, XXXXXXX,RGB_RMOD, RGB_TOG, RGB_MOD, XXXXXXX,
- KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT, KC_MPRV, KC_VOLD, KC_MUTE, KC_VOLU, KC_MNXT,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, KC_MPLY, KC_MSTP, KC_MSTP, KC_MPLY, KC_MUTE
- ),
-
-/** \brief Mouse emulation and pointer functions. */
- [LAYER_POINTER] = LAYOUT_split_3x5_3(
- QK_BOOT, EE_CLR, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, EE_CLR, QK_BOOT,
- KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
- _______, DRGSCRL, SNIPING, KC_BTN3, XXXXXXX, XXXXXXX, KC_BTN3, SNIPING, DRGSCRL, _______,
- KC_BTN3, KC_BTN2, KC_BTN1, KC_BTN1, KC_BTN2, KC_BTN3
- ),
-
-/**
- * \brief Numeral layout.
- *
- * Primary left-hand layer (right home thumb) is numerals and symbols. Numerals
- * are in the standard numpad locations with symbols in the remaining positions.
- * `KC_DOT` is duplicated from the base layer.
- */
- [LAYER_NUMERAL] = LAYOUT_split_3x5_3(
- KC_LBRC, KC_7, KC_8, KC_9, KC_RBRC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_SCLN, KC_4, KC_5, KC_6, KC_EQL, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
- KC_DOT, KC_1, KC_2, KC_3, KC_BSLS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_DOT, KC_MINS, KC_0, XXXXXXX, _______, XXXXXXX
- ),
-
-/**
- * \brief Symbols layer.
- *
- * Secondary left-hand layer has shifted symbols in the same locations to reduce
- * chording when using mods with shifted symbols. `KC_LPRN` is duplicated next to
- * `KC_RPRN`.
- */
- [LAYER_SYMBOLS] = LAYOUT_split_3x5_3(
- KC_LCBR, KC_AMPR, KC_ASTR, KC_LPRN, KC_RCBR, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_COLN, KC_DLR, KC_PERC, KC_CIRC, KC_PLUS, XXXXXXX, KC_LSFT, KC_LCTL, KC_LALT, KC_LGUI,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_PIPE, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- KC_LPRN, KC_GRV, KC_UNDS, _______, XXXXXXX, XXXXXXX
- ),
-};
-// clang-format on
-
-#ifdef POINTING_DEVICE_ENABLE
-# ifdef DILEMMA_AUTO_SNIPING_ON_LAYER
-layer_state_t layer_state_set_user(layer_state_t state) {
- dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER));
- return state;
-}
-# endif // DILEMMA_AUTO_SNIPING_ON_LAYER
-#endif // POINTING_DEVICE_ENABLE
-
-#ifdef ENCODER_MAP_ENABLE
-// clang-format off
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [LAYER_BASE] = {ENCODER_CCW_CW(KC_WH_D, KC_WH_U), ENCODER_CCW_CW(KC_VOLD, KC_VOLU)},
- [LAYER_FUNCTION] = {ENCODER_CCW_CW(KC_DOWN, KC_UP), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)},
- [LAYER_NAVIGATION] = {ENCODER_CCW_CW(KC_PGDN, KC_PGUP), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
- [LAYER_POINTER] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI)},
- [LAYER_NUMERAL] = {ENCODER_CCW_CW(RGB_VAD, RGB_VAI), ENCODER_CCW_CW(RGB_SPD, RGB_SPI)},
- [LAYER_SYMBOLS] = {ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)},
-};
-// clang-format on
-#endif // ENCODER_MAP_ENABLE
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md
deleted file mode 100644
index 4552f0948dc2..000000000000
--- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/readme.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Dilemma `via` keymap
-
-The Dilemma `via` keymap is based on a QWERTY layout with [home row mods](https://precondition.github.io/home-row-mods) and [Miryoku-inspired layers](https://github.com/manna-harbour/miryoku), and some features and changes specific to the Dilemma.
-
-This layout also supports VIA.
-
-## Customizing the keymap
-
-### Dynamic DPI scaling
-
-Use the following keycodes to change the default DPI:
-
-- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 16 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
-
-Use the following keycodes to change the sniping mode DPI:
-
-- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 4 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
-
-### Drag-scroll
-
-Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press.
-
-### Circular scroll
-
-By default, the firmware is configured to enable the circular scroll feature on Cirque trackpad.
-
-To disable this, add the following to your keymap:
-
-```c
-#undef POINTING_DEVICE_GESTURES_SCROLL_ENABLE
-```
-
-### Sniping
-
-Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press.
-
-Change the value of `DILEMMA_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer:
-
-```c
-#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-```
\ No newline at end of file
diff --git a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk b/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/bastardkb/dilemma/3x5_3/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c b/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c
index 2e5564f5e931..4ac52309880b 100644
--- a/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/dilemma/4x6_4/keymaps/default/keymap.c
@@ -46,11 +46,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS,
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX,
+ RM_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX,
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL,
+ RM_TOGG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL,
// ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT,
+ RM_PREV, XXXXXXX, XXXXXXX, XXXXXXX, EE_CLR, QK_BOOT, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT,
// ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
XXXXXXX, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______
// ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h
deleted file mode 100644
index 24322f990440..000000000000
--- a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/**
- * Copyright 2021 Charly Delay (@0xcharly)
- * Copyright 2023 casuanoob (@casuanoob)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 8
diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c
deleted file mode 100644
index 6ac228d7231f..000000000000
--- a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/keymap.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/**
- * Copyright 2021 Charly Delay (@0xcharly)
- * Copyright 2023 casuanoob (@casuanoob)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum dilemma_keymap_layers {
- LAYER_BASE = 0,
- LAYER_LOWER,
- LAYER_RAISE,
- LAYER_POINTER,
-};
-
-// Automatically enable sniping-mode on the pointer layer.
-// #define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-
-#define LOWER MO(LAYER_LOWER)
-#define RAISE MO(LAYER_RAISE)
-#define PT_Z LT(LAYER_POINTER, KC_Z)
-#define PT_SLSH LT(LAYER_POINTER, KC_SLSH)
-
-#ifndef POINTING_DEVICE_ENABLE
-# define DRGSCRL KC_NO
-# define DPI_MOD KC_NO
-# define S_D_MOD KC_NO
-# define SNIPING KC_NO
-#endif // !POINTING_DEVICE_ENABLE
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [LAYER_BASE] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_LCTL, PT_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, PT_SLSH, KC_LALT,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- KC_LALT, KC_BSPC, KC_SPC, LOWER, RAISE, KC_ENT, KC_DEL, KC_MUTE
- // ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
- ),
-
- [LAYER_LOWER] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_LBRC, KC_P7, KC_P8, KC_P9, KC_RBRC, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_TOG, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, KC_PPLS, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_PEQL,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PAST, KC_P1, KC_P2, KC_P3, KC_PSLS, KC_PDOT,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX
- // ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
- ),
-
- [LAYER_RAISE] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_MNXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_MPLY, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, KC_MUTE,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- KC_MPRV, KC_HOME, KC_PGUP, KC_PGDN, KC_END, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLD,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- XXXXXXX, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX
- // ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
- ),
-
- [LAYER_POINTER] = LAYOUT(
- // ╭──────────────────────────────────────────────────────╮ ╭──────────────────────────────────────────────────────╮
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, DPI_MOD, S_D_MOD, S_D_MOD, DPI_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, XXXXXXX, XXXXXXX, KC_RSFT, KC_RCTL, KC_RALT, KC_RGUI, XXXXXXX,
- // ├──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────┤
- XXXXXXX, _______, DRGSCRL, SNIPING, EE_CLR, QK_BOOT, QK_BOOT, EE_CLR, SNIPING, DRGSCRL, _______, XXXXXXX,
- // ╰──────────────────────────────────────────────────────┤ ├──────────────────────────────────────────────────────╯
- XXXXXXX, KC_BTN2, KC_BTN1, KC_BTN3, KC_BTN3, KC_BTN1, KC_BTN2, XXXXXXX
- // ╰───────────────────────────────────╯ ╰───────────────────────────────────╯
- ),
-};
-// clang-format on
-
-#ifdef POINTING_DEVICE_ENABLE
-# ifdef DILEMMA_AUTO_SNIPING_ON_LAYER
-layer_state_t layer_state_set_user(layer_state_t state) {
- dilemma_set_pointer_sniping_enabled(layer_state_cmp(state, DILEMMA_AUTO_SNIPING_ON_LAYER));
- return state;
-}
-# endif // DILEMMA_AUTO_SNIPING_ON_LAYER
-#endif // POINTING_DEVICE_ENABLEE
-
-#ifdef RGB_MATRIX_ENABLE
-// Forward-declare this helper function since it is defined in rgb_matrix.c.
-void rgb_matrix_update_pwm_buffers(void);
-#endif
-
-#ifdef ENCODER_MAP_ENABLE
-// clang-format off
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [LAYER_BASE] = {ENCODER_CCW_CW(KC_WH_U, KC_WH_D), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
- [LAYER_LOWER] = {ENCODER_CCW_CW(KC_UP, KC_DOWN), ENCODER_CCW_CW(KC_LEFT, KC_RGHT)},
- [LAYER_RAISE] = {ENCODER_CCW_CW(KC_PGUP, KC_PGDN), ENCODER_CCW_CW(KC_VOLU, KC_VOLD)},
- [LAYER_POINTER] = {ENCODER_CCW_CW(RGB_HUD, RGB_HUI), ENCODER_CCW_CW(RGB_SAD, RGB_SAI)},
-};
-// clang-format on
-#endif // ENCODER_MAP_ENABLE
diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md
deleted file mode 100644
index f3636c8a40e3..000000000000
--- a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/readme.md
+++ /dev/null
@@ -1,47 +0,0 @@
-# Dilemma Max `via` keymap
-
-The Dilemma Max `via` keymap is based on the original [Dactyl Manuform](../../../../../handwired/dactyl_manuform) default keymap, with some features and changes specific to the Dilemma.
-
-This layout also supports VIA.
-
-## Customizing the keymap
-
-### Dynamic DPI scaling
-
-Use the following keycodes to change the default DPI:
-
-- `POINTER_DEFAULT_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_DEFAULT_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 16 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
-
-Use the following keycodes to change the sniping mode DPI:
-
-- `POINTER_SNIPING_DPI_FORWARD`: increases the DPI; decreases when shifted;
-- `POINTER_SNIPING_DPI_REVERSE`: decreases the DPI; increases when shifted.
-
-There's a maximum of 4 possible values for the sniping mode DPI. See the [Dilemma documentation](../../README.md) for more information.
-
-### Drag-scroll
-
-Use the `DRAGSCROLL_MODE` keycode to enable drag-scroll on hold. Use the `DRAGSCROLL_TOGGLE` keycode to enable/disable drag-scroll on key press.
-
-### Circular scroll
-
-By default, the firmware is configured to enable the circular scroll feature on Cirque trackpad.
-
-To disable this, add the following to your keymap:
-
-```c
-#undef POINTING_DEVICE_GESTURES_SCROLL_ENABLE
-```
-
-### Sniping
-
-Use the `SNIPING_MODE` keycode to enable sniping mode on hold. Use the `SNIPING_TOGGLE` keycode to enable/disable sniping mode on key press.
-
-Change the value of `DILEMMA_AUTO_SNIPING_ON_LAYER` to automatically enable sniping mode on layer change. By default, sniping mode is enabled on the pointer layer:
-
-```c
-#define DILEMMA_AUTO_SNIPING_ON_LAYER LAYER_POINTER
-```
diff --git a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/rules.mk b/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/bastardkb/dilemma/4x6_4/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/bastardkb/dilemma/dilemma.c b/keyboards/bastardkb/dilemma/dilemma.c
index 7c87fdcadd61..b406e2652616 100644
--- a/keyboards/bastardkb/dilemma/dilemma.c
+++ b/keyboards/bastardkb/dilemma/dilemma.c
@@ -354,7 +354,6 @@ bool shutdown_kb(bool jump_to_bootloader) {
rgblight_setrgb(RGB_RED);
#endif // RGBLIGHT_ENABLE
#ifdef RGB_MATRIX_ENABLE
- void rgb_matrix_update_pwm_buffers(void);
rgb_matrix_set_color_all(RGB_RED);
rgb_matrix_update_pwm_buffers();
#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/bastardkb/scylla/blackpill/config.h b/keyboards/bastardkb/scylla/blackpill/config.h
index 1d86b474ee9d..bf7879edbeee 100644
--- a/keyboards/bastardkb/scylla/blackpill/config.h
+++ b/keyboards/bastardkb/scylla/blackpill/config.h
@@ -29,7 +29,6 @@
#define WS2812_EXTERNAL_PULLUP
#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1
#define WS2812_PWM_DMA_CHANNEL 3
-#define WS2812_PWM_TARGET_PERIOD 800000
/* Serial configuration for split keyboard. */
#define SERIAL_USART_TX_PIN A9
diff --git a/keyboards/bastardkb/scylla/keymaps/default/keymap.c b/keyboards/bastardkb/scylla/keymaps/default/keymap.c
index 10adac4126c5..8e9b0190d471 100644
--- a/keyboards/bastardkb/scylla/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/scylla/keymaps/default/keymap.c
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[2] = LAYOUT_split_4x6_5(KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
//---------------------------------------------------------//--------------------------------------------------------------//
- _______, _______, RGB_RMOD, RGB_TOG, RGB_MOD, KC_LBRC, KC_RBRC, _______, KC_NUM, KC_INS, KC_SCRL, KC_MUTE,
+ _______, _______, RM_PREV, RM_TOGG, RM_NEXT, KC_LBRC, KC_RBRC, _______, KC_NUM, KC_INS, KC_SCRL, KC_MUTE,
//---------------------------------------------------------//--------------------------------------------------------------//
_______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU,
//---------------------------------------------------------//--------------------------------------------------------------//
diff --git a/keyboards/bastardkb/skeletyl/blackpill/config.h b/keyboards/bastardkb/skeletyl/blackpill/config.h
index 1d86b474ee9d..bf7879edbeee 100644
--- a/keyboards/bastardkb/skeletyl/blackpill/config.h
+++ b/keyboards/bastardkb/skeletyl/blackpill/config.h
@@ -29,7 +29,6 @@
#define WS2812_EXTERNAL_PULLUP
#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1
#define WS2812_PWM_DMA_CHANNEL 3
-#define WS2812_PWM_TARGET_PERIOD 800000
/* Serial configuration for split keyboard. */
#define SERIAL_USART_TX_PIN A9
diff --git a/keyboards/bastardkb/skeletyl/keymaps/default/keymap.c b/keyboards/bastardkb/skeletyl/keymaps/default/keymap.c
index 56e56d9a434c..1f49629c888a 100644
--- a/keyboards/bastardkb/skeletyl/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/skeletyl/keymaps/default/keymap.c
@@ -60,9 +60,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,-----------------------------------------------------. ,-----------------------------------------------------.
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RM_HUEU, RM_SATU, RM_VALU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RM_HUED, RM_SATD, RM_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_LGUI, KC_SPC, _______, _______, KC_ENT, KC_RALT
//`--------------------------' `--------------------------'
diff --git a/keyboards/bastardkb/tbk/config.h b/keyboards/bastardkb/tbk/config.h
deleted file mode 100644
index 8515cac5ef06..000000000000
--- a/keyboards/bastardkb/tbk/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright 2021 Quentin LEBASTARD
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define MASTER_RIGHT
diff --git a/keyboards/bastardkb/tbk/keyboard.json b/keyboards/bastardkb/tbk/keyboard.json
deleted file mode 100644
index 90e37478a1e3..000000000000
--- a/keyboards/bastardkb/tbk/keyboard.json
+++ /dev/null
@@ -1,111 +0,0 @@
-{
- "keyboard_name": "The Bastard Keyboard",
- "url": "https://bastardkb.com/",
- "usb": {
- "device_version": "0.0.1",
- "pid": "0x1828"
- },
- "rgblight": {
- "led_count": 38,
- "split_count": [19, 19],
- "animations": {
- "breathing": true,
- "rainbow_mood": true,
- "rainbow_swirl": true,
- "snake": true,
- "knight": true,
- "christmas": true,
- "static_gradient": true,
- "rgb_test": true,
- "alternating": true,
- "twinkle": true
- }
- },
- "ws2812": {
- "pin": "D2"
- },
- "features": {
- "bootmagic": true,
- "command": false,
- "console": false,
- "extrakey": true,
- "mousekey": true,
- "nkro": false,
- "rgblight": true
- },
- "matrix_pins": {
- "cols": ["B4", "E6", "C6", "B1", "B3", "B2"],
- "rows": ["D7", "B5", "F7", "F6", "B6"]
- },
- "diode_direction": "ROW2COL",
- "split": {
- "enabled": true,
- "soft_serial_pin": "D0"
- },
- "processor": "atmega32u4",
- "bootloader": "atmel-dfu",
- "layouts": {
- "LAYOUT_split_4x6_5": {
- "layout": [
- {"matrix": [0, 0], "x": 0, "y": 0},
- {"matrix": [0, 1], "x": 1, "y": 0},
- {"matrix": [0, 2], "x": 2, "y": 0},
- {"matrix": [0, 3], "x": 3, "y": 0},
- {"matrix": [0, 4], "x": 4, "y": 0},
- {"matrix": [0, 5], "x": 5, "y": 0},
- {"matrix": [5, 5], "x": 11, "y": 0},
- {"matrix": [5, 4], "x": 12, "y": 0},
- {"matrix": [5, 3], "x": 13, "y": 0},
- {"matrix": [5, 2], "x": 14, "y": 0},
- {"matrix": [5, 1], "x": 15, "y": 0},
- {"matrix": [5, 0], "x": 16, "y": 0},
- {"matrix": [1, 0], "x": 0, "y": 1},
- {"matrix": [1, 1], "x": 1, "y": 1},
- {"matrix": [1, 2], "x": 2, "y": 1},
- {"matrix": [1, 3], "x": 3, "y": 1},
- {"matrix": [1, 4], "x": 4, "y": 1},
- {"matrix": [1, 5], "x": 5, "y": 1},
- {"matrix": [6, 5], "x": 11, "y": 1},
- {"matrix": [6, 4], "x": 12, "y": 1},
- {"matrix": [6, 3], "x": 13, "y": 1},
- {"matrix": [6, 2], "x": 14, "y": 1},
- {"matrix": [6, 1], "x": 15, "y": 1},
- {"matrix": [6, 0], "x": 16, "y": 1},
- {"matrix": [2, 0], "x": 0, "y": 2},
- {"matrix": [2, 1], "x": 1, "y": 2},
- {"matrix": [2, 2], "x": 2, "y": 2},
- {"matrix": [2, 3], "x": 3, "y": 2},
- {"matrix": [2, 4], "x": 4, "y": 2},
- {"matrix": [2, 5], "x": 5, "y": 2},
- {"matrix": [7, 5], "x": 11, "y": 2},
- {"matrix": [7, 4], "x": 12, "y": 2},
- {"matrix": [7, 3], "x": 13, "y": 2},
- {"matrix": [7, 2], "x": 14, "y": 2},
- {"matrix": [7, 1], "x": 15, "y": 2},
- {"matrix": [7, 0], "x": 16, "y": 2},
- {"matrix": [3, 0], "x": 0, "y": 3},
- {"matrix": [3, 1], "x": 1, "y": 3},
- {"matrix": [3, 2], "x": 2, "y": 3},
- {"matrix": [3, 3], "x": 3, "y": 3},
- {"matrix": [3, 4], "x": 4, "y": 3},
- {"matrix": [3, 5], "x": 5, "y": 3},
- {"matrix": [8, 5], "x": 11, "y": 3},
- {"matrix": [8, 4], "x": 12, "y": 3},
- {"matrix": [8, 3], "x": 13, "y": 3},
- {"matrix": [8, 2], "x": 14, "y": 3},
- {"matrix": [8, 1], "x": 15, "y": 3},
- {"matrix": [8, 0], "x": 16, "y": 3},
- {"matrix": [4, 3], "x": 5, "y": 4},
- {"matrix": [4, 4], "x": 6, "y": 4},
- {"matrix": [4, 1], "x": 7, "y": 4},
- {"matrix": [9, 1], "x": 9, "y": 4},
- {"matrix": [9, 4], "x": 10, "y": 4},
- {"matrix": [9, 3], "x": 11, "y": 4},
- {"matrix": [4, 5], "x": 6, "y": 5},
- {"matrix": [4, 2], "x": 7, "y": 5},
- {"matrix": [9, 2], "x": 9, "y": 5},
- {"matrix": [9, 5], "x": 10, "y": 5}
- ]
- }
- }
-}
diff --git a/keyboards/bastardkb/tbk/keymaps/default/keymap.c b/keyboards/bastardkb/tbk/keymaps/default/keymap.c
deleted file mode 100644
index 3227076c076f..000000000000
--- a/keyboards/bastardkb/tbk/keymaps/default/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright 2021 Quentin LEBASTARD
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_split_4x6_5(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_LSFT, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_LCTL, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
-//-------------------------------------------------//-----------------------------------------------------------//
- KC_LCTL, KC_SPC, MO(1), MO(2), KC_ENT, KC_RGUI,
- KC_HOME, KC_BSPC, KC_DEL, KC_RALT
- ),
-
- [1] = LAYOUT_split_4x6_5(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
-//---------------------------------------------------------//-----------------------------------------------------------//
- QK_BOOT, _______, _______, _______, _______, KC_LBRC, KC_RBRC, KC_P7, KC_P8, KC_P9, _______, KC_PLUS,
-//---------------------------------------------------------//-----------------------------------------------------------//
- _______, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LPRN, KC_RPRN, KC_P4, KC_P5, KC_P6, KC_MINS, KC_PIPE,
-//---------------------------------------------------------//-----------------------------------------------------------//
- _______, _______, _______, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, KC_EQL, KC_UNDS,
-//---------------------------------------------------------//-----------------------------------------------------------//
- KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, KC_RGUI,
- KC_SPC, KC_BSPC, KC_RCTL, KC_ENT
- ),
-
- [2] = LAYOUT_split_4x6_5(
- KC_F12, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
-//---------------------------------------------------------//--------------------------------------------------------------//
- _______, _______, RGB_RMOD, RGB_TOG, RGB_MOD, KC_LBRC, KC_RBRC, _______, KC_NUM, KC_INS, KC_SCRL, KC_MUTE,
-//---------------------------------------------------------//--------------------------------------------------------------//
- _______, KC_LEFT, KC_UP, KC_DOWN, KC_RGHT, KC_LPRN, KC_RPRN, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_VOLU,
-//---------------------------------------------------------//--------------------------------------------------------------//
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
-//---------------------------------------------------------//--------------------------------------------------------------//
- KC_LCTL, KC_HOME, KC_TRNS, KC_TRNS, KC_RALT, QK_BOOT,
- KC_SPC, KC_BSPC, KC_RCTL, KC_ENT
- ),
-};
diff --git a/keyboards/bastardkb/tbk/readme.md b/keyboards/bastardkb/tbk/readme.md
deleted file mode 100644
index 0d552e5caf8d..000000000000
--- a/keyboards/bastardkb/tbk/readme.md
+++ /dev/null
@@ -1,22 +0,0 @@
-# The Bastard Keyboard
-
-A split ergonomic keyboard.
-
-* Keyboard Maintainer: [Bastard Keyboards](https://github.com/Bastardkb/)
-* Hardware Supported: elite-C V4
-* Hardware Availability: [Bastard Keyboards](https://bastardkb.com/)
-
-Make example for this keyboard (after setting up your build environment):
-
- make bastardkb/tbk:default
-
-See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
-
-See the [keyboard build instructions](https://docs.bastardkb.com)
-
-
-## Important information regarding the reset
-
-If you modify this firmware, make sure to always have a QK_BOOT key that can be triggered using only the master side ! This way you ensure that you can always flash the keyboard, even if you mess up.
-
-Otherwise if you're stuck, open the case and reset manually by shorting Gnd and Rst, or pressing the RST button.
diff --git a/keyboards/bastardkb/tbkmini/blackpill/config.h b/keyboards/bastardkb/tbkmini/blackpill/config.h
index 1d86b474ee9d..bf7879edbeee 100644
--- a/keyboards/bastardkb/tbkmini/blackpill/config.h
+++ b/keyboards/bastardkb/tbkmini/blackpill/config.h
@@ -29,7 +29,6 @@
#define WS2812_EXTERNAL_PULLUP
#define WS2812_PWM_DMA_STREAM STM32_DMA1_STREAM1
#define WS2812_PWM_DMA_CHANNEL 3
-#define WS2812_PWM_TARGET_PERIOD 800000
/* Serial configuration for split keyboard. */
#define SERIAL_USART_TX_PIN A9
diff --git a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c
index 551aea127f1b..d87e9c2a4400 100644
--- a/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c
+++ b/keyboards/bastardkb/tbkmini/keymaps/default/keymap.c
@@ -60,9 +60,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,-----------------------------------------------------. ,-----------------------------------------------------.
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RM_NEXT, RM_HUED, RM_SATD, RM_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_LGUI, KC_SPC, _______, _______, KC_ENT, KC_RALT
//`--------------------------' `--------------------------'
diff --git a/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c b/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c
index 8689794c8ca8..e27d17827ccd 100644
--- a/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c
+++ b/keyboards/bbrfkr/dynamis/keymaps/default/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SETTINGS] = LAYOUT_ansi(
QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, UG_TOGG, UG_NEXT, UG_PREV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
diff --git a/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c b/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c
index 4e35af679d7d..38a56f56f4c9 100644
--- a/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c
+++ b/keyboards/bbrfkr/dynamis/keymaps/iso/keymap.c
@@ -51,7 +51,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_SETTINGS] = LAYOUT_iso(
QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_NO, UG_TOGG, UG_NEXT, UG_PREV, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
diff --git a/keyboards/bbrfkr/dynamis/keymaps/via/keymap.c b/keyboards/bbrfkr/dynamis/keymaps/via/keymap.c
deleted file mode 100644
index 5412fa0df021..000000000000
--- a/keyboards/bbrfkr/dynamis/keymaps/via/keymap.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/* Copyright 2022 bbrfkr
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _QWERTY,
- _LOWER,
- _RAISE,
- _SETTINGS,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT_ansi(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_TAB, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LALT, MO(1), KC_SPC, KC_SPC, KC_ENT, MO(2), KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_LOWER] = LAYOUT_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_BTN3, KC_BTN2, KC_BTN1, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, MO(3), KC_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE
- ),
-
- [_RAISE] = LAYOUT_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LGUI, MO(3), KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_RGUI, KC_TRNS, KC_TRNS, KC_TRNS, KC_MUTE
- ),
-
- [_SETTINGS] = LAYOUT_ansi(
- QK_BOOT, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, RGB_TOG, RGB_MOD, RGB_RMOD, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO
- ),
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_QWERTY] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D), },
- [_LOWER] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
- [_RAISE] = { ENCODER_CCW_CW(RGB_MOD, RGB_RMOD) },
- [_SETTINGS] = { ENCODER_CCW_CW(KC_WH_U, KC_WH_D) },
-};
-#endif
diff --git a/keyboards/bbrfkr/dynamis/keymaps/via/rules.mk b/keyboards/bbrfkr/dynamis/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/bbrfkr/dynamis/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/bear_face/info.json b/keyboards/bear_face/info.json
index ad12468d56f7..90191299d87d 100644
--- a/keyboards/bear_face/info.json
+++ b/keyboards/bear_face/info.json
@@ -1,22 +1,18 @@
{
- "keyboard_name": "bear_face",
- "manufacturer": "chemicalwill",
- "url": "https://github.com/chemicalwill/bear_face_pcb",
- "maintainer": "chemicalwill",
- "debounce": 6,
+ "manufacturer": "will-hedges",
+ "url": "https://github.com/will-hedges",
+ "maintainer": "will-hedges",
"usb": {
"vid": "0xFEED",
- "pid": "0x09F5",
- "force_nkro": true
+ "pid": "0x09F5"
},
"features": {
"backlight": true,
- "bootmagic": false,
+ "bootmagic": true,
"command": false,
"console": false,
"extrakey": true,
- "mousekey": false,
- "nkro": true
+ "mousekey": false
},
"qmk": {
"locking": {
@@ -30,7 +26,8 @@
},
"diode_direction": "COL2ROW",
"backlight": {
- "driver": "timer",
+ "as_caps_lock": true,
+ "driver": "software",
"pin": "F7"
},
"processor": "atmega32u4",
diff --git a/keyboards/bear_face/rules.mk b/keyboards/bear_face/rules.mk
deleted file mode 100644
index f11303978e88..000000000000
--- a/keyboards/bear_face/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-DEFAULT_FOLDER = bear_face/v1
diff --git a/keyboards/bear_face/v1/keyboard.json b/keyboards/bear_face/v1/keyboard.json
index 8dedc0b1c7b7..8c60089bbbbe 100644
--- a/keyboards/bear_face/v1/keyboard.json
+++ b/keyboards/bear_face/v1/keyboard.json
@@ -1,9 +1,13 @@
{
+ "keyboard_name": "bear_face v1",
"usb": {
"device_version": "1.0.0"
},
+ "backlight": {
+ "on_state": 0
+ },
"layouts": {
- "LAYOUT_83_ansi": {
+ "LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
{"matrix": [0, 1], "x": 1.5, "y": 0},
diff --git a/keyboards/bear_face/v1/keymaps/default/keymap.c b/keyboards/bear_face/v1/keymaps/default/keymap.c
index fc92c783dbe4..22235f4af681 100644
--- a/keyboards/bear_face/v1/keymaps/default/keymap.c
+++ b/keyboards/bear_face/v1/keymaps/default/keymap.c
@@ -1,19 +1,5 @@
-/*
-Copyright 2020 chemicalwill
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
+/* Copyright 2024 will-hedges */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
#include QMK_KEYBOARD_H
@@ -26,15 +12,12 @@ enum layers {
#define FN1_CAPS LT(_FN1, KC_CAPS)
-//custom keycode enums
-enum custom_keycodes {
- BASE_QWER = SAFE_RANGE,
- BASE_COLE,
- BASE_DVOR
-};
+#define BASE_QWER PDF(_QWER)
+#define BASE_COLE PDF(_COLE)
+#define BASE_DVOR PDF(_DVOR)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_QWER] = LAYOUT_83_ansi(
+ [_QWER] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
@@ -43,7 +26,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
- [_COLE] = LAYOUT_83_ansi(
+ [_COLE] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
@@ -52,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
- [_DVOR] = LAYOUT_83_ansi(
+ [_DVOR] = LAYOUT(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGUP,
@@ -61,7 +44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
),
- [_FN1] = LAYOUT_83_ansi(
+ [_FN1] = LAYOUT(
_______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, KC_INS,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER,
_______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, BASE_COLE,
@@ -71,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
/*
- [_BLANK] = LAYOUT_83_ansi(
+ [_BLANK] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -81,37 +64,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
*/
};
-
-//macros to allow the user to set whatever default layer they want, even after reboot
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case BASE_QWER:
- if (record->event.pressed) {
- // when keycode BASE_QWER is pressed
- set_single_persistent_default_layer(_QWER);
- } else {
- // when keycode BASE_QWER is released
- }
- break;
-
- case BASE_COLE:
- if (record->event.pressed) {
- // when keycode BASE_COLE is pressed
- set_single_persistent_default_layer(_COLE);
- } else {
- // when keycode BASE_COLE is released
- }
- break;
-
- case BASE_DVOR:
- if (record->event.pressed) {
- // when keycode BASE_DVOR is pressed
- set_single_persistent_default_layer(_DVOR);
- } else {
- // when keycode BASE_DVOR is released
- }
- break;
- }
- return true;
-};
diff --git a/keyboards/bear_face/v1/v1.c b/keyboards/bear_face/v1/v1.c
deleted file mode 100644
index b64a63f0b430..000000000000
--- a/keyboards/bear_face/v1/v1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 chemicalwill
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include "quantum.h"
-
-void keyboard_pre_init_kb(void) {
- //Sets LED pin as output
- gpio_set_pin_output(F7);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- // Caps Lock LED indicator toggling code here
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(F7, led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/bear_face/v2/keyboard.json b/keyboards/bear_face/v2/keyboard.json
index 908165babb05..456c920066f9 100644
--- a/keyboards/bear_face/v2/keyboard.json
+++ b/keyboards/bear_face/v2/keyboard.json
@@ -1,8 +1,106 @@
{
+ "keyboard_name": "bear_face v2",
"usb": {
- "device_version": "2.0.0"
+ "device_version": "2.1.0"
+ },
+ "backlight": {
+ "on_state": 0
},
"layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
+ {"matrix": [0, 1], "x": 1.5, "y": 0},
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+ {"matrix": [0, 3], "x": 3.5, "y": 0},
+ {"matrix": [0, 4], "x": 4.5, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.5, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 14], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
+ {"matrix": [2, 14], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 12], "x": 12.75, "y": 3},
+ {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4},
+ {"matrix": [4, 3], "x": 3.25, "y": 4},
+ {"matrix": [4, 4], "x": 4.25, "y": 4},
+ {"matrix": [4, 5], "x": 5.25, "y": 4},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5},
+ {"matrix": [5, 10], "x": 11, "y": 5},
+ {"matrix": [5, 11], "x": 12, "y": 5},
+ {"matrix": [5, 12], "x": 13, "y": 5},
+ {"matrix": [5, 13], "x": 14, "y": 5},
+ {"matrix": [5, 14], "x": 15, "y": 5}
+ ]
+ },
"LAYOUT_83_ansi": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
diff --git a/keyboards/bear_face/v2/keymaps/default/keymap.c b/keyboards/bear_face/v2/keymaps/default/keymap.c
index 0d536b68f382..0f8aefb4b37c 100644
--- a/keyboards/bear_face/v2/keymaps/default/keymap.c
+++ b/keyboards/bear_face/v2/keymaps/default/keymap.c
@@ -1,19 +1,5 @@
-/*
-Copyright 2020 chemicalwill
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
+/* Copyright 2024 will-hedges */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
#include QMK_KEYBOARD_H
@@ -26,12 +12,9 @@ enum layers {
#define FN1_CAPS LT(_FN1, KC_CAPS)
-//custom keycode enums
-enum custom_keycodes {
- BASE_QWER = SAFE_RANGE,
- BASE_COLE,
- BASE_DVOR
-};
+#define BASE_QWER PDF(_QWER)
+#define BASE_COLE PDF(_COLE)
+#define BASE_DVOR PDF(_DVOR)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWER] = LAYOUT_83_ansi(
@@ -81,37 +64,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
*/
};
-
-//macros to allow the user to set whatever default layer they want, even after reboot
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case BASE_QWER:
- if (record->event.pressed) {
- // when keycode BASE_QWER is pressed
- set_single_persistent_default_layer(_QWER);
- } else {
- // when keycode BASE_QWER is released
- }
- break;
-
- case BASE_COLE:
- if (record->event.pressed) {
- // when keycode BASE_COLE is pressed
- set_single_persistent_default_layer(_COLE);
- } else {
- // when keycode BASE_COLE is released
- }
- break;
-
- case BASE_DVOR:
- if (record->event.pressed) {
- // when keycode BASE_DVOR is pressed
- set_single_persistent_default_layer(_DVOR);
- } else {
- // when keycode BASE_DVOR is released
- }
- break;
- }
- return true;
-};
diff --git a/keyboards/bear_face/v2/keymaps/default/readme.md b/keyboards/bear_face/v2/keymaps/default/readme.md
index 5f9e635dfec2..517baa5726c8 100644
--- a/keyboards/bear_face/v2/keymaps/default/readme.md
+++ b/keyboards/bear_face/v2/keymaps/default/readme.md
@@ -13,3 +13,7 @@ This layout replaces the stock layout on the Vortex Race 3.
* 'Reset' will put the keyboard into DFU mode
* 'APP' sends 'KC_APP'
* Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot)
+
+- New things in v2:
+ * Option of ANSI or ISO layout
+ * Optional stepped caps (will require compatible plate)
diff --git a/keyboards/bear_face/v2/keymaps/default_iso/keymap.c b/keyboards/bear_face/v2/keymaps/default_iso/keymap.c
index e9e6c837f4d3..69d672051075 100644
--- a/keyboards/bear_face/v2/keymaps/default_iso/keymap.c
+++ b/keyboards/bear_face/v2/keymaps/default_iso/keymap.c
@@ -1,19 +1,5 @@
-/*
-Copyright 2020 chemicalwill
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
+/* Copyright 2024 will-hedges */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
#include QMK_KEYBOARD_H
@@ -26,12 +12,9 @@ enum layers {
#define FN1_CAPS LT(_FN1, KC_CAPS)
-//custom keycode enums
-enum custom_keycodes {
- BASE_QWER = SAFE_RANGE,
- BASE_COLE,
- BASE_DVOR
-};
+#define BASE_QWER PDF(_QWER)
+#define BASE_COLE PDF(_COLE)
+#define BASE_DVOR PDF(_DVOR)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QWER] = LAYOUT_84_iso(
@@ -81,37 +64,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
*/
};
-
-//macros to allow the user to set whatever default layer they want, even after reboot
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case BASE_QWER:
- if (record->event.pressed) {
- // when keycode BASE_QWER is pressed
- set_single_persistent_default_layer(_QWER);
- } else {
- // when keycode BASE_QWER is released
- }
- break;
-
- case BASE_COLE:
- if (record->event.pressed) {
- // when keycode BASE_COLE is pressed
- set_single_persistent_default_layer(_COLE);
- } else {
- // when keycode BASE_COLE is released
- }
- break;
-
- case BASE_DVOR:
- if (record->event.pressed) {
- // when keycode BASE_DVOR is pressed
- set_single_persistent_default_layer(_DVOR);
- } else {
- // when keycode BASE_DVOR is released
- }
- break;
- }
- return true;
-};
diff --git a/keyboards/bear_face/v2/v2.c b/keyboards/bear_face/v2/v2.c
deleted file mode 100644
index b64a63f0b430..000000000000
--- a/keyboards/bear_face/v2/v2.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
-Copyright 2020 chemicalwill
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include "quantum.h"
-
-void keyboard_pre_init_kb(void) {
- //Sets LED pin as output
- gpio_set_pin_output(F7);
-
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- // Caps Lock LED indicator toggling code here
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(F7, led_state.caps_lock);
- }
- return res;
-}
diff --git a/keyboards/bear_face/v3/keyboard.json b/keyboards/bear_face/v3/keyboard.json
new file mode 100644
index 000000000000..0a0bda8df901
--- /dev/null
+++ b/keyboards/bear_face/v3/keyboard.json
@@ -0,0 +1,287 @@
+{
+ "keyboard_name": "bear_face v3",
+ "usb": {
+ "device_version": "3.2.0"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
+ {"matrix": [0, 1], "x": 1.5, "y": 0},
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+ {"matrix": [0, 3], "x": 3.5, "y": 0},
+ {"matrix": [0, 4], "x": 4.5, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.5, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 14], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
+ {"matrix": [2, 14], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 12], "x": 12.75, "y": 3},
+ {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4},
+ {"matrix": [4, 3], "x": 3.25, "y": 4},
+ {"matrix": [4, 4], "x": 4.25, "y": 4},
+ {"matrix": [4, 5], "x": 5.25, "y": 4},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5},
+ {"matrix": [5, 10], "x": 11, "y": 5},
+ {"matrix": [5, 11], "x": 12, "y": 5},
+ {"matrix": [5, 12], "x": 13, "y": 5},
+ {"matrix": [5, 13], "x": 14, "y": 5},
+ {"matrix": [5, 14], "x": 15, "y": 5}
+ ]
+ },
+ "LAYOUT_83_ansi": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
+ {"matrix": [0, 1], "x": 1.5, "y": 0},
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+ {"matrix": [0, 3], "x": 3.5, "y": 0},
+ {"matrix": [0, 4], "x": 4.5, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.5, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 14], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 13], "x": 13.5, "y": 2, "w": 1.5},
+ {"matrix": [2, 14], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 13], "x": 12.75, "y": 3, "w": 2.25},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4},
+ {"matrix": [4, 3], "x": 3.25, "y": 4},
+ {"matrix": [4, 4], "x": 4.25, "y": 4},
+ {"matrix": [4, 5], "x": 5.25, "y": 4},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5},
+ {"matrix": [5, 10], "x": 11, "y": 5},
+ {"matrix": [5, 11], "x": 12, "y": 5},
+ {"matrix": [5, 12], "x": 13, "y": 5},
+ {"matrix": [5, 13], "x": 14, "y": 5},
+ {"matrix": [5, 14], "x": 15, "y": 5}
+ ]
+ },
+ "LAYOUT_84_iso": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "w": 1.5},
+ {"matrix": [0, 1], "x": 1.5, "y": 0},
+ {"matrix": [0, 2], "x": 2.5, "y": 0},
+ {"matrix": [0, 3], "x": 3.5, "y": 0},
+ {"matrix": [0, 4], "x": 4.5, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.5, "y": 0},
+ {"matrix": [0, 10], "x": 10.5, "y": 0},
+ {"matrix": [0, 11], "x": 11.5, "y": 0},
+ {"matrix": [0, 12], "x": 12.5, "y": 0},
+ {"matrix": [0, 13], "x": 13.5, "y": 0},
+ {"matrix": [0, 14], "x": 14.5, "y": 0, "w": 1.5},
+
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2, "y": 1},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1},
+ {"matrix": [1, 5], "x": 5, "y": 1},
+ {"matrix": [1, 6], "x": 6, "y": 1},
+ {"matrix": [1, 7], "x": 7, "y": 1},
+ {"matrix": [1, 8], "x": 8, "y": 1},
+ {"matrix": [1, 9], "x": 9, "y": 1},
+ {"matrix": [1, 10], "x": 10, "y": 1},
+ {"matrix": [1, 11], "x": 11, "y": 1},
+ {"matrix": [1, 12], "x": 12, "y": 1},
+ {"matrix": [1, 13], "x": 13, "y": 1, "w": 2},
+ {"matrix": [1, 14], "x": 15, "y": 1},
+
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2},
+ {"matrix": [2, 2], "x": 2.5, "y": 2},
+ {"matrix": [2, 3], "x": 3.5, "y": 2},
+ {"matrix": [2, 4], "x": 4.5, "y": 2},
+ {"matrix": [2, 5], "x": 5.5, "y": 2},
+ {"matrix": [2, 6], "x": 6.5, "y": 2},
+ {"matrix": [2, 7], "x": 7.5, "y": 2},
+ {"matrix": [2, 8], "x": 8.5, "y": 2},
+ {"matrix": [2, 9], "x": 9.5, "y": 2},
+ {"matrix": [2, 10], "x": 10.5, "y": 2},
+ {"matrix": [2, 11], "x": 11.5, "y": 2},
+ {"matrix": [2, 12], "x": 12.5, "y": 2},
+ {"matrix": [2, 14], "x": 15, "y": 2},
+
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3},
+ {"matrix": [3, 2], "x": 2.75, "y": 3},
+ {"matrix": [3, 3], "x": 3.75, "y": 3},
+ {"matrix": [3, 4], "x": 4.75, "y": 3},
+ {"matrix": [3, 5], "x": 5.75, "y": 3},
+ {"matrix": [3, 6], "x": 6.75, "y": 3},
+ {"matrix": [3, 7], "x": 7.75, "y": 3},
+ {"matrix": [3, 8], "x": 8.75, "y": 3},
+ {"matrix": [3, 9], "x": 9.75, "y": 3},
+ {"matrix": [3, 10], "x": 10.75, "y": 3},
+ {"matrix": [3, 11], "x": 11.75, "y": 3},
+ {"matrix": [3, 12], "x": 12.75, "y": 3},
+ {"matrix": [3, 13], "x": 13.75, "y": 2, "w": 1.25, "h": 2},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4},
+ {"matrix": [4, 3], "x": 3.25, "y": 4},
+ {"matrix": [4, 4], "x": 4.25, "y": 4},
+ {"matrix": [4, 5], "x": 5.25, "y": 4},
+ {"matrix": [4, 6], "x": 6.25, "y": 4},
+ {"matrix": [4, 7], "x": 7.25, "y": 4},
+ {"matrix": [4, 8], "x": 8.25, "y": 4},
+ {"matrix": [4, 9], "x": 9.25, "y": 4},
+ {"matrix": [4, 10], "x": 10.25, "y": 4},
+ {"matrix": [4, 11], "x": 11.25, "y": 4},
+ {"matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4},
+
+ {"matrix": [5, 0], "x": 0, "y": 5, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5, "w": 1.25},
+ {"matrix": [5, 5], "x": 3.75, "y": 5, "w": 6.25},
+ {"matrix": [5, 9], "x": 10, "y": 5},
+ {"matrix": [5, 10], "x": 11, "y": 5},
+ {"matrix": [5, 11], "x": 12, "y": 5},
+ {"matrix": [5, 12], "x": 13, "y": 5},
+ {"matrix": [5, 13], "x": 14, "y": 5},
+ {"matrix": [5, 14], "x": 15, "y": 5}
+ ]
+ }
+ }
+}
diff --git a/keyboards/bear_face/v3/keymaps/default/keymap.c b/keyboards/bear_face/v3/keymaps/default/keymap.c
new file mode 100644
index 000000000000..0f8aefb4b37c
--- /dev/null
+++ b/keyboards/bear_face/v3/keymaps/default/keymap.c
@@ -0,0 +1,66 @@
+/* Copyright 2024 will-hedges */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWER,
+ _COLE,
+ _DVOR,
+ _FN1,
+};
+
+#define FN1_CAPS LT(_FN1, KC_CAPS)
+
+#define BASE_QWER PDF(_QWER)
+#define BASE_COLE PDF(_COLE)
+#define BASE_DVOR PDF(_DVOR)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWER] = LAYOUT_83_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ FN1_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_COLE] = LAYOUT_83_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_DVOR] = LAYOUT_83_ansi(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_PGUP,
+ FN1_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_83_ansi(
+ _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, BASE_COLE,
+ _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR,
+ _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+/*
+ [_BLANK] = LAYOUT_83_ansi(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+*/
+};
diff --git a/keyboards/bear_face/v3/keymaps/default/readme.md b/keyboards/bear_face/v3/keymaps/default/readme.md
new file mode 100644
index 000000000000..a86b77bb1917
--- /dev/null
+++ b/keyboards/bear_face/v3/keymaps/default/readme.md
@@ -0,0 +1,18 @@
+# default bear_face layout
+
+This layout replaces the stock layout on the Vortex Race 3.
+
+- Caps Lock indicator LED is enabled by default
+- Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1)
+- FORCE_NKRO enabled by default
+
+- Pn key is set to 'KC_NO' by default
+ * Might be a good place for a macro, or to put your PC to sleep, etc.
+
+- A combined function layer that mimics the sublegends on the stock caps (regardless of layout)
+ * 'Reset' will put the keyboard into DFU mode
+ * 'APP' sends 'KC_APP'
+ * Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot)
+
+- New things in v3:
+ * v3.1c PCB is compatible with both rev1 (Micro-USB) and rev2 (USB-C) stock cases
diff --git a/keyboards/bear_face/v3/keymaps/default_iso/keymap.c b/keyboards/bear_face/v3/keymaps/default_iso/keymap.c
new file mode 100644
index 000000000000..69d672051075
--- /dev/null
+++ b/keyboards/bear_face/v3/keymaps/default_iso/keymap.c
@@ -0,0 +1,66 @@
+/* Copyright 2024 will-hedges */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+
+#include QMK_KEYBOARD_H
+
+enum layers {
+ _QWER,
+ _COLE,
+ _DVOR,
+ _FN1,
+};
+
+#define FN1_CAPS LT(_FN1, KC_CAPS)
+
+#define BASE_QWER PDF(_QWER)
+#define BASE_COLE PDF(_COLE)
+#define BASE_DVOR PDF(_DVOR)
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_QWER] = LAYOUT_84_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_PGUP,
+ FN1_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_COLE] = LAYOUT_84_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_PGUP,
+ KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_DVOR] = LAYOUT_84_iso(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NO, KC_DEL,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_HOME,
+ KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_PGUP,
+ FN1_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_NUHS, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_84_iso(
+ _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_MPRV, KC_MPLY, KC_MNXT, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, KC_INS,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_CALC, BASE_QWER,
+ _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, QK_BOOT, _______, _______, _______, BASE_COLE,
+ _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, BASE_DVOR,
+ _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, KC_APP, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+
+/*
+ [_BLANK] = LAYOUT_84_iso(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+*/
+};
diff --git a/keyboards/bear_face/v3/keymaps/default_iso/readme.md b/keyboards/bear_face/v3/keymaps/default_iso/readme.md
new file mode 100644
index 000000000000..a86b77bb1917
--- /dev/null
+++ b/keyboards/bear_face/v3/keymaps/default_iso/readme.md
@@ -0,0 +1,18 @@
+# default bear_face layout
+
+This layout replaces the stock layout on the Vortex Race 3.
+
+- Caps Lock indicator LED is enabled by default
+- Layer Tap on Caps Lock (tap for Caps Lock, hold for _FN1)
+- FORCE_NKRO enabled by default
+
+- Pn key is set to 'KC_NO' by default
+ * Might be a good place for a macro, or to put your PC to sleep, etc.
+
+- A combined function layer that mimics the sublegends on the stock caps (regardless of layout)
+ * 'Reset' will put the keyboard into DFU mode
+ * 'APP' sends 'KC_APP'
+ * Base layer toggles for QWERTY, COLEMAK, and DVORAK layouts (will persist after reboot)
+
+- New things in v3:
+ * v3.1c PCB is compatible with both rev1 (Micro-USB) and rev2 (USB-C) stock cases
diff --git a/keyboards/beatervan/keymaps/default/keymap.c b/keyboards/beatervan/keymaps/default/keymap.c
index a99b9c9e513b..ef88ae920745 100644
--- a/keyboards/beatervan/keymaps/default/keymap.c
+++ b/keyboards/beatervan/keymaps/default/keymap.c
@@ -24,11 +24,9 @@ enum layers {
_L3,
};
-enum custom_keycodes {
- DVORAK = SAFE_RANGE,
- QWERTY,
- COLEMAK
-};
+#define QWERTY PDF(_QW)
+#define DVORAK PDF(_DV)
+#define COLEMAK PDF(_CM)
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_QW] = LAYOUT( /* Qwerty */
@@ -68,26 +66,3 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, KC_LSFT, KC_B, KC_SPC, KC_C, _______, _______, _______
)
};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch(keycode) {
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DV);
- }
- return false;
- case QWERTY:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_QW);
- }
- return false;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_CM);
- }
- return false;
- default:
- return true;
- }
- return true;
-};
diff --git a/keyboards/beatervan/keymaps/via/keymap.c b/keyboards/beatervan/keymaps/via/keymap.c
deleted file mode 100644
index 99b2f175075a..000000000000
--- a/keyboards/beatervan/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2020 OJtheTiny
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
- #include QMK_KEYBOARD_H
-
- const uint16_t PROGMEM keymaps [][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Default Layer*/
- [0] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_QUOT, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_TAB, KC_RALT, KC_RGUI, KC_RCTL
- ),
- /* Num Layer */
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- /* F-Layer */
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- /* Lock Layer */
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/beatervan/keymaps/via/rules.mk b/keyboards/beatervan/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/beatervan/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/beekeeb/piantor/keyboard.json b/keyboards/beekeeb/piantor/keyboard.json
index e4ecd4207e55..77bfc3678cc8 100644
--- a/keyboards/beekeeb/piantor/keyboard.json
+++ b/keyboards/beekeeb/piantor/keyboard.json
@@ -40,6 +40,9 @@
["GP15", "GP14", "GP16", null, null, null]
]
}
+ },
+ "serial": {
+ "driver": "vendor"
}
},
"community_layouts": [
diff --git a/keyboards/beekeeb/piantor/rules.mk b/keyboards/beekeeb/piantor/rules.mk
deleted file mode 100644
index 161ec22b16e2..000000000000
--- a/keyboards/beekeeb/piantor/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/beekeeb/piantor_pro/keyboard.json b/keyboards/beekeeb/piantor_pro/keyboard.json
index c85247550e21..ad4890ae684d 100644
--- a/keyboards/beekeeb/piantor_pro/keyboard.json
+++ b/keyboards/beekeeb/piantor_pro/keyboard.json
@@ -24,7 +24,10 @@
"vid": "0xBEEB"
},
"split": {
- "enabled": true
+ "enabled": true,
+ "serial": {
+ "driver": "vendor"
+ }
},
"community_layouts": [ "split_3x6_3" ],
"layouts": {
diff --git a/keyboards/beekeeb/piantor_pro/rules.mk b/keyboards/beekeeb/piantor_pro/rules.mk
deleted file mode 100644
index 161ec22b16e2..000000000000
--- a/keyboards/beekeeb/piantor_pro/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/bemeier/bmek/keymaps/default/keymap.c b/keyboards/bemeier/bmek/keymaps/default/keymap.c
index 5ca4a3c8b215..f49223dfff4b 100755
--- a/keyboards/bemeier/bmek/keymaps/default/keymap.c
+++ b/keyboards/bemeier/bmek/keymaps/default/keymap.c
@@ -69,8 +69,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
└─────┴──────┴────────────────┘ └────────────────┴──────┴─────┘
*/
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPI, RGB_SPD, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(2), RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ XXXXXXX, XXXXXXX, UG_TOGG, UG_NEXT, UG_PREV, UG_HUEU, UG_HUED, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, UG_SPDU, UG_SPDD, UG_SATU, UG_SATD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(2), UG_VALU, UG_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX
) };
diff --git a/keyboards/bemeier/bmek/keymaps/via/README.md b/keyboards/bemeier/bmek/keymaps/via/README.md
deleted file mode 100755
index 30d54301fb18..000000000000
--- a/keyboards/bemeier/bmek/keymaps/via/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# Default VIA Keymap
-Compile the firmware with this keymap for use the BMEK with the [VIA configurator](https://caniusevia.com/).
-Layout options can be configured in VIA (see first screenshot below).
-
-## 0: Base Layer
-![Base Layer](https://i.imgur.com/tBu50SS.png)
-
-## 1: Nav Layer
-![Nav Layer](https://i.imgur.com/ZzEow3t.png)
-
-## 2: NUM Block
-![NUM Block](https://i.imgur.com/vzjZIa1.png)
-
-## 4: FW Config
-![FW Config](https://i.imgur.com/L7QynAb.png)
-
-## Alternative Preconfigured Layouts
-TODO: Provide (links to) some alternative via keymaps after VIA support is landed upstream.
diff --git a/keyboards/bemeier/bmek/keymaps/via/config.h b/keyboards/bemeier/bmek/keymaps/via/config.h
deleted file mode 100755
index 1deca961a0cb..000000000000
--- a/keyboards/bemeier/bmek/keymaps/via/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2020 bemeier
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 20
diff --git a/keyboards/bemeier/bmek/keymaps/via/keymap.c b/keyboards/bemeier/bmek/keymaps/via/keymap.c
deleted file mode 100755
index b8e729754704..000000000000
--- a/keyboards/bemeier/bmek/keymaps/via/keymap.c
+++ /dev/null
@@ -1,114 +0,0 @@
-/* Copyright 2020 bemeier
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
-/* Default layer
-┌─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
-│ F13 │ │ ESC │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │ ` │
-├─────┤ ├─────┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┘ ┌─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴─────┤
-│ F14 │ │ TAB │ Q │ W │ E │ R │ T │ │ Y │ U │ I │ O │ P │ [ │ ] │ BSPC │
-├─────┤ ├───────┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ └─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴───────┤
-│ F15 │ │ CTRL │ A │ S │ D │ F │ G │ │ H │ J │ K │ L │ ; │ ' │ ENTER │
-├─────┤ ├───────┬┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ ┌┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴──────┬────┤
-│ F16 │ │ SHFT │`│ Z │ X │ C │ V │ B │ │ B │ N │ M │ , │ . │ / │ SHFT │ Fn │
-└─────┘ └───────┴─┼─────┼─────┴┬────┴─────┴─────┤ ├─────┴─────┴────┬┴─────┼─────┼─────┴───────┴────┘
- │ GUI │ ALT │ SPACE │ │ SPACE/Fn_1 │ ALT │ CTL │
- └─────┴──────┴────────────────┘ └────────────────┴──────┴─────┘
-*/
- KC_F13, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_F14, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_F15, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_F16, KC_LSFT, KC_GRV, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LGUI, KC_LALT, KC_SPC, LT(1, KC_SPC), KC_RALT, KC_RCTL
-), [1] = LAYOUT_all(
-/* Function Layer 1: Nav
-┌─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
-│ RST │ │ │ F1 │ F2 │ F3 │ F4 │ F5 │ F6 │ │ F7 │ F8 │ F9 │ F10 │ F11 │ F12 │ INS │ DEL │
-├─────┤ ├─────┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┘ ┌─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴─────┤
-│ │ │ │ END │ ^ │HOME │PGUP │ │ │ │ │ │ │ |> │ << │ >> │ │
-├─────┤ ├───────┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ └─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴───────┤
-│ │ │ │ <- │ v │ -> │PGDN │ │ │ <- │ v │ ^ │ -> │ o) │ o)} │ │
-├─────┤ ├───────┬┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ ┌┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴──────┬────┤
-│ │ │ │ │ │ │ CFG │ │ NUM │ │ │ │ │LDSKT│RDSKT│ Ø │ │ │
-└─────┘ └───────┴─┼─────┼─────┴┬────┴─────┴─────┤ ├─────┴─────┴────┬┴─────┼─────┼─────┴───────┴────┘
- │ │ │ │ │ │ │ │
- └─────┴──────┴────────────────┘ └────────────────┴──────┴─────┘
-*/
- QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- _______, _______, KC_END, KC_UP, KC_HOME, KC_PGUP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MPLY, KC_MPRV, KC_MNXT, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_VOLD, KC_VOLU, _______,
- _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, TG(4), XXXXXXX, XXXXXXX, TG(2), XXXXXXX, XXXXXXX, LCTL(LGUI(KC_LEFT)), LCTL(LGUI(KC_RGHT)), KC_MUTE, _______, _______,
- _______, _______, _______, _______, _______, _______
-), [2] = LAYOUT_all(
-/* Function Layer 2: Numpad example
-┌─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
-│ │ │ │ │ │ │ │ │ │ │ 7 │ 8 │ 9 │ 0 │ - │ + │ │ │
-├─────┤ ├─────┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┘ ┌─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴─────┤
-│ │ │ │ │ │ │ │ │ │ 4 │ 5 │ 6 │ │ / │ * │ │ │
-├─────┤ ├───────┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ └─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴───────┤
-│ │ │ │ │ │ │ │ │ │ 1 │ 2 │ 3 │ │ │ │ KP_ENTER │
-├─────┤ ├───────┬┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ ┌┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴──────┬────┤
-│ │ │ │ │ │ │ │ │ │ │ ___ │ 0 │ . │ │ │ │ │ │
-└─────┘ └───────┴─┼─────┼─────┴┬────┴─────┴─────┤ ├─────┴─────┴────┬┴─────┼─────┼─────┴───────┴────┘
- │ │ │ │ │ │ │ │
- └─────┴──────┴────────────────┘ └────────────────┴──────┴─────┘
-*/
- _______, _______, _______, _______, _______, _______, _______, _______, KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_0, KC_PMNS, KC_PPLS, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_KP_4, KC_KP_5, KC_KP_6, XXXXXXX, KC_PSLS, KC_PAST, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_KP_1, KC_KP_2, KC_KP_3, XXXXXXX, _______, _______, KC_PENT,
- _______, _______, _______, _______, _______, _______, _______, _______, TG(2), KC_KP_0, KC_PDOT, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______
-), [3] = LAYOUT_all(
-/* Function Layer 3
-┌─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
-│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
-├─────┤ ├─────┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┘ ┌─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴─────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
-├─────┤ ├───────┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ └─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴───────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
-├─────┤ ├───────┬┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ ┌┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴──────┬────┤
-│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
-└─────┘ └───────┴─┼─────┼─────┴┬────┴─────┴─────┤ ├─────┴─────┴────┬┴─────┼─────┼─────┴───────┴────┘
- │ │ │ │ │ │ │ │
- └─────┴──────┴────────────────┘ └────────────────┴──────┴─────┘
-*/
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______
-), [4] = LAYOUT_all(
-/* Function Layer 4: Firmware Config
-┌─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┐
-│ RST │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
-├─────┤ ├─────┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┘ ┌─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴───┬─┴─────┤
-│ │ │ │ RGB │RGB+ │RGB- │HUE+ │HUE- │ │ │ │ │ │ │ │ │ │
-├─────┤ ├───────┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ └─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴───────┤
-│ │ │ │ │SPD+ │SPD- │SAT+ │SAT- │ │ │ │ │ │ │ │ │
-├─────┤ ├───────┬┴┬────┴┬────┴┬────┴┬────┴┬────┴┐ ┌┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴──────┬────┤
-│ │ │ │ │ │ │ ___ │VAL+ │VAL- │ │ │ │ │ │ │ │ │ │
-└─────┘ └───────┴─┼─────┼─────┴┬────┴─────┴─────┤ ├─────┴─────┴────┬┴─────┼─────┼─────┴───────┴────┘
- │ │ │ │ │ │ │ │
- └─────┴──────┴────────────────┘ └────────────────┴──────┴─────┘
-*/
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, RGB_TOG, RGB_MOD, RGB_RMOD, RGB_HUI, RGB_HUD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, RGB_SPI, RGB_SPD, RGB_SAI, RGB_SAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, TG(4), RGB_VAI, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
- XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX
-) };
diff --git a/keyboards/bemeier/bmek/keymaps/via/rules.mk b/keyboards/bemeier/bmek/keymaps/via/rules.mk
deleted file mode 100755
index 1e5b99807cb7..000000000000
--- a/keyboards/bemeier/bmek/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bestway/keymaps/via/keymap.c b/keyboards/bestway/keymaps/via/keymap.c
deleted file mode 100644
index ae87243f2406..000000000000
--- a/keyboards/bestway/keymaps/via/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright 2022 LXF-YZP(yuezp)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RALT, MO(1), KC_APP, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[1] = LAYOUT_all(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
diff --git a/keyboards/bestway/keymaps/via/rules.mk b/keyboards/bestway/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/bestway/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/biacco42/ergo42/keymaps/default-illustrator/config.h b/keyboards/biacco42/ergo42/keymaps/default-illustrator/config.h
deleted file mode 100644
index f0717a463284..000000000000
--- a/keyboards/biacco42/ergo42/keymaps/default-illustrator/config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
diff --git a/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h b/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h
index 2469b627e266..169a67d536a3 100644
--- a/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h
+++ b/keyboards/biacco42/ergo42/keymaps/default-underglow/config.h
@@ -20,12 +20,6 @@ along with this program. If not, see .
#pragma once
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
// Underglow
#undef RGBLIGHT_LED_COUNT
#define RGBLIGHT_LED_COUNT 14 // Number of LEDs
diff --git a/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c b/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c
index 0710cd1ebea1..1ebbfc219ea0 100644
--- a/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c
+++ b/keyboards/biacco42/ergo42/keymaps/default-underglow/keymap.c
@@ -87,8 +87,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[RGB] = LAYOUT(
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, TAP_ANIM,XXXXXXX,
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_HUI, RGB_SAD, RGB_VAD, RGB_RST, XXXXXXX,
+ XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, TAP_ANIM,XXXXXXX,
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, RGB_RST, XXXXXXX,
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
)
@@ -98,7 +98,7 @@ bool isTapAnim = false;
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case RGB_MOD:
+ case QK_UNDERGLOW_MODE_NEXT:
if (record->event.pressed) {
isTapAnim = false;
}
diff --git a/keyboards/biacco42/ergo42/keymaps/default/config.h b/keyboards/biacco42/ergo42/keymaps/default/config.h
deleted file mode 100644
index f0717a463284..000000000000
--- a/keyboards/biacco42/ergo42/keymaps/default/config.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-This is the c configuration file for the keymap
-
-Copyright 2012 Jun Wako
-Copyright 2015 Jack Humbert
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* Select hand configuration */
-
-#define MASTER_LEFT
-// #define MASTER_RIGHT
-// #define EE_HANDS
-
diff --git a/keyboards/biacco42/ergo42/rev1/keyboard.json b/keyboards/biacco42/ergo42/rev1/keyboard.json
index b3a53bb3a4ca..c75e9d1c511c 100644
--- a/keyboards/biacco42/ergo42/rev1/keyboard.json
+++ b/keyboards/biacco42/ergo42/rev1/keyboard.json
@@ -33,7 +33,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0"
+ "serial": {
+ "pin": "D0"
+ }
},
"processor": "atmega32u4",
"bootloader": "caterina",
diff --git a/keyboards/biacco42/meishi2/keymaps/via/keymap.c b/keyboards/biacco42/meishi2/keymaps/via/keymap.c
deleted file mode 100644
index be706ea09a63..000000000000
--- a/keyboards/biacco42/meishi2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2019 Biacco42
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT( /* Base */
- LCTL(KC_Z), LCTL(KC_X), LCTL(KC_C), LCTL(KC_V)
- ),
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/biacco42/meishi2/keymaps/via/rules.mk b/keyboards/biacco42/meishi2/keymaps/via/rules.mk
deleted file mode 100644
index c859353a464c..000000000000
--- a/keyboards/biacco42/meishi2/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = no
diff --git a/keyboards/binepad/bn003/keymaps/via/keymap.c b/keyboards/binepad/bn003/keymaps/via/keymap.c
deleted file mode 100644
index e0ffb3f80b19..000000000000
--- a/keyboards/binepad/bn003/keymaps/via/keymap.c
+++ /dev/null
@@ -1,24 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_0,
- KC_1,
- KC_2
- ),
- [1] = LAYOUT(
- KC_NO,
- KC_NO,
- KC_NO
- ),
- [2] = LAYOUT(
- KC_NO,
- KC_NO,
- KC_NO
- ),
- [3] = LAYOUT(
- KC_NO,
- KC_NO,
- KC_NO
- )
-};
diff --git a/keyboards/binepad/bn003/keymaps/via/rules.mk b/keyboards/binepad/bn003/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/binepad/bn003/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/binepad/bn006/keymaps/via/keymap.c b/keyboards/binepad/bn006/keymaps/via/keymap.c
deleted file mode 100755
index 1ee98f890c44..000000000000
--- a/keyboards/binepad/bn006/keymaps/via/keymap.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2022 Binepad (@binpad) */
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌───┬───┬───┐
- * │ A │ B │ C │
- * ├───┼───┼───┤
- * │ D │ E │ F │
- * └───┴───┴───┘
- */
- [0] = LAYOUT_ortho_2x3(
- KC_MPLY, KC_MUTE, KC_VOLU,
- KC_MPRV, KC_MNXT, KC_VOLD
- ),
-
- [1] = LAYOUT_ortho_2x3(
- _______, _______, _______,
- _______, _______, _______
- ),
-
- [2] = LAYOUT_ortho_2x3(
- _______, _______, _______,
- _______, _______, _______
- ),
-
- [3] = LAYOUT_ortho_2x3(
- _______, _______, _______,
- _______, _______, _______
- )
-};
diff --git a/keyboards/binepad/bn006/keymaps/via/rules.mk b/keyboards/binepad/bn006/keymaps/via/rules.mk
deleted file mode 100644
index 78ee487f4526..000000000000
--- a/keyboards/binepad/bn006/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# Copyright 2022 Binepad (@binpad)
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-VIA_ENABLE = yes
diff --git a/keyboards/binepad/bn009/keymaps/via/keymap.json b/keyboards/binepad/bn009/keymaps/via/keymap.json
deleted file mode 100644
index 1790cf9328a2..000000000000
--- a/keyboards/binepad/bn009/keymaps/via/keymap.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "config": {
- "features": {
- "via": true
- }
- },
- "keyboard": "binepad/bn009/r2",
- "version": 1,
- "author": "binepad",
- "notes": "This file is a keymap.json file for binepad/bn009r2",
- "keymap": "via",
- "layout": "LAYOUT_ortho_3x3",
- "layers": [
- [
- "KC_7", "KC_8", "KC_9",
- "KC_4", "KC_5", "KC_6",
- "KC_1", "KC_2", "KC_3"
- ],
- [
- "KC_NO", "KC_NO", "KC_NO",
- "KC_NO", "KC_NO", "KC_NO",
- "KC_NO", "KC_NO", "KC_NO"
- ],
- [
- "KC_NO", "KC_NO", "KC_NO",
- "KC_NO", "KC_NO", "KC_NO",
- "KC_NO", "KC_NO", "KC_NO"
- ],
- [
- "KC_NO", "KC_NO", "KC_NO",
- "KC_NO", "KC_NO", "KC_NO",
- "KC_NO", "KC_NO", "KC_NO"
- ]
- ]
-}
diff --git a/keyboards/binepad/bnk8/config.h b/keyboards/binepad/bnk8/config.h
new file mode 100644
index 000000000000..40eea2db812c
--- /dev/null
+++ b/keyboards/binepad/bnk8/config.h
@@ -0,0 +1,7 @@
+// Copyright 2024 binepad (@binepad)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+// Timing for SK6812
+#define WS2812_T1H 650
diff --git a/keyboards/binepad/bnk8/keyboard.json b/keyboards/binepad/bnk8/keyboard.json
new file mode 100755
index 000000000000..550aa7796172
--- /dev/null
+++ b/keyboards/binepad/bnk8/keyboard.json
@@ -0,0 +1,88 @@
+{
+ "manufacturer": "binepad",
+ "keyboard_name": "BNK8",
+ "maintainer": "binepad",
+ "bootloader": "stm32duino",
+ "bootloader_instructions": "Hold down the key at (0x0) in the matrix (the top left key) and plug in the keyboard.",
+ "diode_direction": "COL2ROW",
+ "encoder": {
+ "rotary": [
+ {"pin_a": "A7", "pin_b": "A0", "resolution": 2}
+ ]
+ },
+ "features": {
+ "bootmagic": true,
+ "encoder": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true
+ },
+ "matrix_pins": {
+ "cols": ["B3", "B4", "C13"],
+ "rows": ["C14", "B13", "B12"]
+ },
+ "processor": "STM32F103",
+ "rgb_matrix": {
+ "animations": {
+ "breathing": true,
+ "cycle_all": true,
+ "cycle_left_right": true,
+ "cycle_pinwheel": true,
+ "cycle_up_down": true,
+ "jellybean_raindrops": true,
+ "riverflow": true,
+ "solid_reactive": true,
+ "solid_reactive_simple": true,
+ "solid_splash": true,
+ "splash": true,
+ "starlight": true,
+ "starlight_dual_hue": true,
+ "starlight_dual_sat": true
+ },
+ "driver": "ws2812",
+ "layout": [
+ {"matrix": [0, 0], "x": 80, "y": 0, "flags": 4},
+ {"matrix": [0, 1], "x": 112, "y": 0, "flags": 4},
+ {"matrix": [1, 0], "x": 80, "y": 32, "flags": 4},
+ {"matrix": [1, 1], "x": 112, "y": 32, "flags": 4},
+ {"matrix": [1, 2], "x": 144, "y": 32, "flags": 4},
+ {"matrix": [2, 0], "x": 80, "y": 64, "flags": 4},
+ {"matrix": [2, 1], "x": 112, "y": 64, "flags": 4},
+ {"matrix": [2, 2], "x": 144, "y": 64, "flags": 4}
+ ],
+ "led_process_limit": 9,
+ "max_brightness": 180,
+ "sleep": true
+ },
+ "url": "https://www.binepad.com/product-page/bnk8",
+ "usb": {
+ "device_version": "1.0.0",
+ "vid": "0x4249",
+ "pid": "0x4E41"
+ },
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 1024
+ }
+ },
+ "ws2812": {
+ "pin": "C15"
+ },
+ "community_layouts": ["ortho_3x3"],
+ "layouts": {
+ "LAYOUT_ortho_3x3": {
+ "layout": [
+ {"label": "1", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "2", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "Knob", "matrix": [0, 2], "x": 2, "y": 0, "encoder": 0},
+ {"label": "3", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "4", "matrix": [1, 1], "x": 1, "y": 1},
+ {"label": "5", "matrix": [1, 2], "x": 2, "y": 1},
+ {"label": "6", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "7", "matrix": [2, 1], "x": 1, "y": 2},
+ {"label": "8", "matrix": [2, 2], "x": 2, "y": 2}
+ ]
+ }
+ }
+}
diff --git a/keyboards/binepad/bnk8/keymaps/default/keymap.json b/keyboards/binepad/bnk8/keymaps/default/keymap.json
new file mode 100644
index 000000000000..51b5e0661974
--- /dev/null
+++ b/keyboards/binepad/bnk8/keymaps/default/keymap.json
@@ -0,0 +1,40 @@
+{
+ "keyboard": "binepad/bnk8",
+ "version": 1,
+ "author": "binepad",
+ "notes": "Copyright 2024 Binepad (@binepad) \n SPDX-License-Identifier: GPL-2.0-or-later \n This file is a keymap.json file for binepad/bnk8",
+ "keymap": "default",
+ "layout": "LAYOUT_ortho_3x3",
+ "layers": [
+ [
+ "KC_P1", "KC_P2", "KC_MUTE",
+ "KC_P3", "KC_P4", "KC_P5",
+ "KC_P6", "KC_P7", "LT(1, KC_P8)"
+ ],
+ [
+ "RM_HUEU", "RM_SATU", "RM_SPDU",
+ "RM_HUED", "RM_SATD", "RM_SPDD",
+ "RM_TOGG", "RM_NEXT", "_______"
+
+ ]
+ ],
+ "config": {
+ "features": {
+ "encoder_map": true
+ }
+ },
+ "encoders": [
+ [
+ {
+ "ccw": "KC_VOLD",
+ "cw": "KC_VOLU"
+ }
+ ],
+ [
+ {
+ "ccw": "RM_VALD",
+ "cw": "RM_VALU"
+ }
+ ]
+ ]
+}
diff --git a/keyboards/binepad/bnk8/readme.md b/keyboards/binepad/bnk8/readme.md
new file mode 100755
index 000000000000..89ceb863a1d9
--- /dev/null
+++ b/keyboards/binepad/bnk8/readme.md
@@ -0,0 +1,26 @@
+# BINEPAD BNK8
+
+![BINEPAD BNK8](https://i.imgur.com/HFIZg48h.jpeg)
+
+A compact 8-key 3x3 macropad with a rotary encoder at the top right.
+
+* Keyboard Maintainer: [binepad](https://github.com/binepad)
+* Hardware Supported: BINPAD BNK8
+* Hardware Availability: [binepad.com](https://binepad.com/products/bnk8)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make binepad/bnk8:default
+
+Flashing example for this keyboard:
+
+ make binepad/bnk8:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key) and plug in the keyboard
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/binepad/bnk9/keymaps/default/keymap.c b/keyboards/binepad/bnk9/keymaps/default/keymap.c
index 9ae1e4541f62..60b021059927 100644
--- a/keyboards/binepad/bnk9/keymaps/default/keymap.c
+++ b/keyboards/binepad/bnk9/keymaps/default/keymap.c
@@ -11,10 +11,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_P7, KC_P8, LT(1, KC_P9)
),
[1] = LAYOUT(
- RGB_TOG,
- RGB_HUI, RGB_SAI, RGB_SPI,
- RGB_HUD, RGB_SAD, RGB_SPD,
- RGB_RMOD, RGB_MOD, _______
+ RM_TOGG,
+ RM_HUEU, RM_SATU, RM_SPDU,
+ RM_HUED, RM_SATD, RM_SPDD,
+ RM_PREV, RM_NEXT, _______
)
};
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
+ [1] = { ENCODER_CCW_CW(RM_VALD, RM_VALU) }
};
#endif
diff --git a/keyboards/binepad/bnk9/keymaps/via/keymap.c b/keyboards/binepad/bnk9/keymaps/via/keymap.c
deleted file mode 100644
index 9ae1e4541f62..000000000000
--- a/keyboards/binepad/bnk9/keymaps/via/keymap.c
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2023 Binepad (@binpad)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_MUTE,
- KC_P1, KC_P2, KC_P3,
- KC_P4, KC_P5, KC_P6,
- KC_P7, KC_P8, LT(1, KC_P9)
- ),
- [1] = LAYOUT(
- RGB_TOG,
- RGB_HUI, RGB_SAI, RGB_SPI,
- RGB_HUD, RGB_SAD, RGB_SPD,
- RGB_RMOD, RGB_MOD, _______
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(RGB_VAD, RGB_VAI) }
-};
-
-#endif
diff --git a/keyboards/binepad/bnk9/keymaps/via/rules.mk b/keyboards/binepad/bnk9/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/binepad/bnk9/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/binepad/bnr1/keymaps/via/config.h b/keyboards/binepad/bnr1/keymaps/via/config.h
deleted file mode 100644
index ed7a62296fc6..000000000000
--- a/keyboards/binepad/bnr1/keymaps/via/config.h
+++ /dev/null
@@ -1,11 +0,0 @@
-/* Copyright 2022 Binepad (@binpad) */
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-
-#pragma once
-
-#define TAPPING_TERM 175
-
-#ifdef DYNAMIC_KEYMAP_LAYER_COUNT
- #undef DYNAMIC_KEYMAP_LAYER_COUNT
-#endif
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2
diff --git a/keyboards/binepad/bnr1/keymaps/via/keymap.c b/keyboards/binepad/bnr1/keymaps/via/keymap.c
deleted file mode 100644
index 4e7b0cf6eb27..000000000000
--- a/keyboards/binepad/bnr1/keymaps/via/keymap.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/* Copyright 2022 Binepad (@binpad) */
-/* SPDX-License-Identifier: GPL-2.0-or-later */
-
-#include QMK_KEYBOARD_H
-
-enum {
- _L0,
- _L1
-} keyboard_layers;
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_L0] = LAYOUT_ortho_1x1(
- LT(_L1, KC_MUTE)
- ),
-
- [_L1] = LAYOUT_ortho_1x1(
- _______
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_L0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_L1] = { ENCODER_CCW_CW(KC_MS_WH_DOWN, KC_MS_WH_UP) }
-};
-
-#endif
diff --git a/keyboards/binepad/bnr1/keymaps/via/rules.mk b/keyboards/binepad/bnr1/keymaps/via/rules.mk
deleted file mode 100644
index 254ffa32e8b0..000000000000
--- a/keyboards/binepad/bnr1/keymaps/via/rules.mk
+++ /dev/null
@@ -1,6 +0,0 @@
-# Copyright 2022 Binepad (@binpad)
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-VIA_ENABLE = yes
-
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/binepad/pixie/keymaps/via/keymap.c b/keyboards/binepad/pixie/keymaps/via/keymap.c
deleted file mode 100644
index b49c4db6de3a..000000000000
--- a/keyboards/binepad/pixie/keymaps/via/keymap.c
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright 2023 Binepad (@binpad)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_MUTE, KC_MPLY,
- KC_MPRV, KC_MNXT
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = {
- ENCODER_CCW_CW(KC_VOLD, KC_VOLU),
- ENCODER_CCW_CW(KC_WH_U, KC_WH_D)
- }
-};
-
-#endif
diff --git a/keyboards/binepad/pixie/keymaps/via/rules.mk b/keyboards/binepad/pixie/keymaps/via/rules.mk
deleted file mode 100644
index 82b46f5873fc..000000000000
--- a/keyboards/binepad/pixie/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/bioi/f60/keyboard.json b/keyboards/bioi/f60/keyboard.json
index 9adbb2f48abc..8974a68e027b 100644
--- a/keyboards/bioi/f60/keyboard.json
+++ b/keyboards/bioi/f60/keyboard.json
@@ -53,7 +53,20 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
- "community_layouts": ["60_ansi", "60_ansi_tsangan", "60_ansi_split_bs_rshift", "60_hhkb", "60_tsangan_hhkb", "60_ansi_arrow", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_arrow",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_hhkb",
+ "60_iso",
+ "60_iso_split_bs_rshift",
+ "60_iso_tsangan"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -406,7 +419,7 @@
{"matrix": [4, 12], "x": 12.5, "y": 4}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/bioi/f60/keymaps/default/keymap.c b/keyboards/bioi/f60/keymaps/default/keymap.c
index b988a17ce52d..e9f61ea84548 100644
--- a/keyboards/bioi/f60/keymaps/default/keymap.c
+++ b/keyboards/bioi/f60/keymaps/default/keymap.c
@@ -26,8 +26,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_60_ansi(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
- KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, BL_TOGG, BL_UP, BL_DOWN, BL_BRTG, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
diff --git a/keyboards/bioi/f60/keymaps/via/keymap.c b/keyboards/bioi/f60/keymaps/via/keymap.c
deleted file mode 100644
index 6629b91a0417..000000000000
--- a/keyboards/bioi/f60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2021 kb-elmo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_APP, KC_RCTL
- ),
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_HOME, KC_UP, KC_END, KC_PGUP, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, BL_TOGG, BL_UP, BL_DOWN, BL_BRTG, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/bioi/f60/keymaps/via/rules.mk b/keyboards/bioi/f60/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/bioi/f60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/bioi/g60/g60.c b/keyboards/bioi/g60/g60.c
deleted file mode 100644
index 3fdfef8897a5..000000000000
--- a/keyboards/bioi/g60/g60.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2019 Basic I/O Instruments(Scott Wei)
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include "quantum.h"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(F0);
- gpio_write_pin_high(F0);
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(F0, !led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/bioi/g60/keyboard.json b/keyboards/bioi/g60/keyboard.json
index 8d3dd587707a..4140abfbe2f7 100644
--- a/keyboards/bioi/g60/keyboard.json
+++ b/keyboards/bioi/g60/keyboard.json
@@ -35,6 +35,10 @@
"pin": "B7",
"levels": 12
},
+ "indicators": {
+ "caps_lock": "F0",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
@@ -60,6 +64,9 @@
},
"processor": "atmega32u4",
"bootloader": "qmk-dfu",
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -278,7 +285,7 @@
{"label": "\u2192", "matrix": [4, 13], "x": 14, "y": 4}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
@@ -492,7 +499,7 @@
{"label": "\u2192", "matrix": [4, 13], "x": 14, "y": 4}
]
},
- "LAYOUT_60_tsangan_hhkb_iso": {
+ "LAYOUT_60_iso_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/bioi/g60/keymaps/default/keymap.c b/keyboards/bioi/g60/keymaps/default/keymap.c
index f55a2c47d14f..4209bd3e6b53 100644
--- a/keyboards/bioi/g60/keymaps/default/keymap.c
+++ b/keyboards/bioi/g60/keymaps/default/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LSFT, _______, RGB_TOG, RGB_MOD, BL_TOGG, BL_STEP, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
+ KC_LSFT, _______, UG_TOGG, UG_NEXT, BL_TOGG, BL_STEP, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______),
LAYOUT_all(
diff --git a/keyboards/bioi/g60/keymaps/via/config.h b/keyboards/bioi/g60/keymaps/via/config.h
deleted file mode 100644
index d934386e7988..000000000000
--- a/keyboards/bioi/g60/keymaps/via/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2019 Basic I/O Instruments(Scott Wei)
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 3
-#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
diff --git a/keyboards/bioi/g60/keymaps/via/keymap.c b/keyboards/bioi/g60/keymaps/via/keymap.c
deleted file mode 100644
index 53ced4971d6b..000000000000
--- a/keyboards/bioi/g60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2019 Basic I/O Instruments(Scott Wei)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_APP, KC_RCTL),
-
- // 1: Function Layer
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LSFT, _______, RGB_TOG, RGB_MOD, BL_TOGG, BL_STEP, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-};
diff --git a/keyboards/bioi/g60/keymaps/via/rules.mk b/keyboards/bioi/g60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bioi/g60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bioi/g60ble/keyboard.json b/keyboards/bioi/g60ble/keyboard.json
index 2d09fadff088..8b24556b37fc 100644
--- a/keyboards/bioi/g60ble/keyboard.json
+++ b/keyboards/bioi/g60ble/keyboard.json
@@ -60,7 +60,16 @@
},
"processor": "atmega32u4",
"bootloader": "qmk-dfu",
- "community_layouts": ["60_ansi", "60_iso", "60_hhkb", "60_ansi_split_bs_rshift", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_hhkb",
+ "60_iso"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -415,7 +424,7 @@
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/bioi/g60ble/keymaps/via/keymap.c b/keyboards/bioi/g60ble/keymaps/via/keymap.c
deleted file mode 100644
index 784ac7d2906a..000000000000
--- a/keyboards/bioi/g60ble/keymaps/via/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, LT(2, KC_SCLN), KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RGUI, KC_LEFT, KC_APP, KC_RCTL
-),
-
-[1] = LAYOUT_all(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, QK_BOOT, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_EJCT, _______, KC_ASTR, KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______,
- RGB_MOD, _______, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, _______, KC_PLUS, KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, BL_STEP, _______,
- RGB_TOG, RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, BL_TOGG
-),
-
-[2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, XXXXXXX, KC_HOME, KC_PGUP, KC_PGDN, KC_END, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-[3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-
-};
-// clang-format on
diff --git a/keyboards/bioi/g60ble/keymaps/via/rules.mk b/keyboards/bioi/g60ble/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bioi/g60ble/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bioi/morgan65/keyboard.json b/keyboards/bioi/morgan65/keyboard.json
index 8f83237f82f5..5606233f2ad3 100644
--- a/keyboards/bioi/morgan65/keyboard.json
+++ b/keyboards/bioi/morgan65/keyboard.json
@@ -35,6 +35,10 @@
"pin": "B6",
"levels": 12
},
+ "indicators": {
+ "caps_lock": "F0",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/bioi/morgan65/keymaps/default/keymap.c b/keyboards/bioi/morgan65/keymaps/default/keymap.c
index af89134a4f5d..0abc71d992cb 100644
--- a/keyboards/bioi/morgan65/keymaps/default/keymap.c
+++ b/keyboards/bioi/morgan65/keymaps/default/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LSFT, _______, RGB_TOG, RGB_MOD, BL_TOGG, BL_STEP, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
+ KC_LSFT, _______, UG_TOGG, UG_NEXT, BL_TOGG, BL_STEP, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/bioi/morgan65/keymaps/via/config.h b/keyboards/bioi/morgan65/keymaps/via/config.h
deleted file mode 100644
index 6dafe92cba03..000000000000
--- a/keyboards/bioi/morgan65/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
-Copyright 2019 Basic I/O Instruments(Scott Wei)
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-#define VIA_EEPROM_CUSTOM_CONFIG_SIZE 1
diff --git a/keyboards/bioi/morgan65/keymaps/via/keymap.c b/keyboards/bioi/morgan65/keymaps/via/keymap.c
deleted file mode 100644
index d3b0945070c4..000000000000
--- a/keyboards/bioi/morgan65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2020 Basic I/O Instruments(Scott Wei)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base Layer
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_F1,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_F2,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_F3,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_F4,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- // 1: Function Layer
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- QK_BOOT, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_LSFT, _______, RGB_TOG, RGB_MOD, BL_TOGG, BL_STEP, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/bioi/morgan65/keymaps/via/rules.mk b/keyboards/bioi/morgan65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bioi/morgan65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bioi/morgan65/morgan65.c b/keyboards/bioi/morgan65/morgan65.c
deleted file mode 100644
index 3fdfef8897a5..000000000000
--- a/keyboards/bioi/morgan65/morgan65.c
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
-Copyright 2019 Basic I/O Instruments(Scott Wei)
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include "quantum.h"
-
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(F0);
- gpio_write_pin_high(F0);
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(F0, !led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/bioi/s65/keyboard.json b/keyboards/bioi/s65/keyboard.json
index c55852f31ccb..56d53b54cf5b 100644
--- a/keyboards/bioi/s65/keyboard.json
+++ b/keyboards/bioi/s65/keyboard.json
@@ -35,6 +35,10 @@
"pin": "B6",
"levels": 12
},
+ "indicators": {
+ "caps_lock": "F0",
+ "on_state": 0
+ },
"rgblight": {
"saturation_steps": 8,
"brightness_steps": 8,
diff --git a/keyboards/bioi/s65/keymaps/via/keymap.c b/keyboards/bioi/s65/keymaps/via/keymap.c
deleted file mode 100644
index e8e01661ec93..000000000000
--- a/keyboards/bioi/s65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2020 Basic I/O Instruments(Scott Wei)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // 0: Base LayerKC_W
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NONUS_HASH, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPACE, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- // 1: Function Layer
- [1] = LAYOUT_all(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
-};
diff --git a/keyboards/bioi/s65/keymaps/via/rules.mk b/keyboards/bioi/s65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bioi/s65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bioi/s65/s65.c b/keyboards/bioi/s65/s65.c
deleted file mode 100644
index e632f31eeb63..000000000000
--- a/keyboards/bioi/s65/s65.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
-Copyright 2019 Basic I/O Instruments(Scott Wei)
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include "quantum.h"
-void keyboard_pre_init_kb(void) {
- gpio_set_pin_output(F0);
- gpio_write_pin_high(F0);
- keyboard_pre_init_user();
-}
-
-bool led_update_kb(led_t led_state) {
- if (led_update_user(led_state)) {
- gpio_write_pin(F0, !led_state.caps_lock);
- }
- return true;
-}
diff --git a/keyboards/black_hellebore/keymaps/via/keymap.c b/keyboards/black_hellebore/keymaps/via/keymap.c
deleted file mode 100644
index cba8bd9be9d8..000000000000
--- a/keyboards/black_hellebore/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright 2023 MATTMCCA (@MATTMCCA)
- * SPDX-License-Identifier: GPL-2.0-only
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_60_ansi(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
- ),
-
- [1] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
diff --git a/keyboards/black_hellebore/keymaps/via/rules.mk b/keyboards/black_hellebore/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/black_hellebore/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/black_hellebore/mcuconf.h b/keyboards/black_hellebore/mcuconf.h
index ccb216946c93..51dc999135de 100644
--- a/keyboards/black_hellebore/mcuconf.h
+++ b/keyboards/black_hellebore/mcuconf.h
@@ -18,8 +18,5 @@
#include_next
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/blackplum/keymaps/default/keymap.c b/keyboards/blackplum/keymaps/default/keymap.c
index c118c18980c7..3101d1159e5c 100644
--- a/keyboards/blackplum/keymaps/default/keymap.c
+++ b/keyboards/blackplum/keymaps/default/keymap.c
@@ -1,16 +1,8 @@
#include QMK_KEYBOARD_H
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BASE 0
-#define _FN 1
-
-
-
-enum custom_keycodes {
- TG_GUI = SAFE_RANGE
+enum layer_names {
+ _BASE,
+ _FN
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
@@ -24,20 +16,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_68_ansi(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPLY, KC_HOME,
- _______, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, KC_MUTE, KC_END,
- _______, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_NEXT, UG_HUEU, UG_SATU, UG_VALU, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, KC_MUTE, KC_END,
+ _______, UG_TOGG, UG_HUED, UG_SATD, UG_VALD, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, TG_GUI,_______, QK_BOOT, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
+ _______, GU_TOGG, _______, QK_BOOT, _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
)
};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if(record->event.pressed) {
- switch(keycode) {
- case TG_GUI:
- keymap_config.no_gui ^= 1;
- return false;
- }
- }
- return true;
-}
diff --git a/keyboards/blackplum/keymaps/via/keymap.c b/keyboards/blackplum/keymaps/via/keymap.c
deleted file mode 100644
index e542892b37d6..000000000000
--- a/keyboards/blackplum/keymaps/via/keymap.c
+++ /dev/null
@@ -1,38 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_68_ansi(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL , KC_LGUI , KC_LALT , KC_SPC , KC_RALT , MO(1) , KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- [1] = LAYOUT_68_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_MPLY, KC_HOME,
- KC_TRNS, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUSE, KC_TRNS, KC_MUTE, KC_END,
- KC_TRNS, RGB_TOG, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
- ),
-
- [2] = LAYOUT_68_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_68_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
-
-
diff --git a/keyboards/blackplum/keymaps/via/rules.mk b/keyboards/blackplum/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/blackplum/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/blank/blank01/keyboard.json b/keyboards/blank/blank01/keyboard.json
index f8af736bef88..672a292def34 100644
--- a/keyboards/blank/blank01/keyboard.json
+++ b/keyboards/blank/blank01/keyboard.json
@@ -32,8 +32,11 @@
},
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/blank/blank01/keymaps/default/keymap.c b/keyboards/blank/blank01/keymaps/default/keymap.c
index 2e2a863f278b..03f8987fa7e3 100644
--- a/keyboards/blank/blank01/keymaps/default/keymap.c
+++ b/keyboards/blank/blank01/keymaps/default/keymap.c
@@ -18,7 +18,7 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// Default layer
- [0] = LAYOUT_60_tsangan_hhkb(
+ [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
// Fn1 Layer
- [1] = LAYOUT_60_tsangan_hhkb(
+ [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
diff --git a/keyboards/blank/blank01/keymaps/via/keymap.c b/keyboards/blank/blank01/keymaps/via/keymap.c
deleted file mode 100644
index 7f42ff0e3587..000000000000
--- a/keyboards/blank/blank01/keymaps/via/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2021 gkeyboard
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- // Default layer
- [0] = LAYOUT_60_tsangan_hhkb(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
-
- // Fn1 Layer
- [1] = LAYOUT_60_tsangan_hhkb(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_INS, KC_HOME, KC_PGUP, KC_TRNS,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_END, KC_PGDN, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- // Fn2 Layer
- [2] = LAYOUT_60_tsangan_hhkb(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- // Fn3 Layer
- [3] = LAYOUT_60_tsangan_hhkb(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/blank/blank01/keymaps/via/rules.mk b/keyboards/blank/blank01/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/blank/blank01/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/blank_tehnologii/manibus/keyboard.json b/keyboards/blank_tehnologii/manibus/keyboard.json
index f6cd41758db5..eeabe64f36ee 100644
--- a/keyboards/blank_tehnologii/manibus/keyboard.json
+++ b/keyboards/blank_tehnologii/manibus/keyboard.json
@@ -24,12 +24,14 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D0",
"matrix_pins": {
"right": {
"cols": ["B6", "B5", "D6", "D5", "D3", "D7", "B4"],
"rows": ["F5", "F1", "B2", "B1", "C6"]
}
+ },
+ "serial": {
+ "pin": "D0"
}
},
"processor": "atmega32u4",
diff --git a/keyboards/blank_tehnologii/manibus/keymaps/via/keymap.c b/keyboards/blank_tehnologii/manibus/keymaps/via/keymap.c
deleted file mode 100644
index 3ce379f8de16..000000000000
--- a/keyboards/blank_tehnologii/manibus/keymaps/via/keymap.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright 2021 SamuraiKek
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- _QWERTY,
- _FN1
-};
-
-#define FN1 MO(_FN1)
-/*
- L00, L01, L02, L03, L04, L05, R00, R01, R02, R03, R04, R05,
- L10, L11, L12, L13, L14, L15, R10, R11, R12, R13, R14, R15,
- L20, L21, L22, L23, L24, L25, R20, R21, R22, R23, R24, R25,
- L30, L31, L32, L33, L34, L35, R30, R31, R32, R33, R34, R35,
- L40, L41, L42, L43, L44, L45, L46, R40, R41, R42, R43, R44, R45, R46,
-
- [_UNIVERSAL] = LAYOUT(
- // ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- // ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- // └────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-
-*/
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_QWERTY] = LAYOUT(
-// ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
-// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_EQL,
-// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
-// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_BSLS,
-// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- KC_LCTL, KC_HOME, KC_INS, KC_DEL, KC_LGUI, KC_SPC, KC_LALT, KC_ENT, KC_BSPC, FN1, KC_LBRC, KC_RBRC, KC_END, KC_GRV
-// └────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- ),
-
- [_FN1] = LAYOUT(
-// ┌────────┬────────┬────────┬────────┬────────┬────────┐ ┌────────┬────────┬────────┬────────┬────────┬────────┐
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
-// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, KC_UP, _______, KC_MPLY, KC_F12,
-// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT,KC_VOLD, KC_VOLU,
-// ├────────┼────────┼────────┼────────┼────────┼────────┤ ├────────┼────────┼────────┼────────┼────────┼────────┤
- _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_MPRV, KC_MNXT, _______, _______,
-// ├────────┼────────┼────────┼────────┼────────┼────────┼────────┐ ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
- _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGDN, _______
-// └────────┴────────┴────────┴────────┴────────┴────────┴────────┘ └────────┴────────┴────────┴────────┴────────┴────────┴────────┘
- )
-};
diff --git a/keyboards/blank_tehnologii/manibus/keymaps/via/rules.mk b/keyboards/blank_tehnologii/manibus/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/blank_tehnologii/manibus/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/blaster75/keymaps/via/keymap.c b/keyboards/blaster75/keymaps/via/keymap.c
deleted file mode 100644
index a63cfcf8ec15..000000000000
--- a/keyboards/blaster75/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2021 by Altain
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_INS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LWIN, KC_LALT, KC_SPC, KC_RALT, KC_RWIN, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/blaster75/keymaps/via/rules.mk b/keyboards/blaster75/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/blaster75/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/blockboy/ac980mini/keymaps/default/keymap.c b/keyboards/blockboy/ac980mini/keymaps/default/keymap.c
index b5541ed23e2b..0194281ebfa4 100644
--- a/keyboards/blockboy/ac980mini/keymaps/default/keymap.c
+++ b/keyboards/blockboy/ac980mini/keymaps/default/keymap.c
@@ -40,14 +40,14 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
// RGB Control
[1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, RGB_SPI, _______, _______,
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RM_TOGG, RM_SPDU, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______,
- _______, _______, _______, _______, _______, MO(2), _______, RGB_MOD, RGB_HUI, RGB_SAI, _______, _______, _______
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, _______, _______, _______,
+ _______, _______, _______, _______, _______, MO(2), _______, RM_NEXT, RM_HUEU, RM_SATU, _______, _______, _______
),
[2] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/blockboy/ac980mini/keymaps/via/keymap.c b/keyboards/blockboy/ac980mini/keymaps/via/keymap.c
deleted file mode 100644
index ee1718484c5d..000000000000
--- a/keyboards/blockboy/ac980mini/keymaps/via/keymap.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Copyright 2021 QMK
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /*
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ ┌───┬───┬───┬───┐
- * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ Backsp│ │Num│ / │ * │ - │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ ├───┼───┼───┼───┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │ \ │ │ 7 │ 8 │ 9 │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ├───┼───┼───┤ + │
- * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │ │ 4 │ 5 │ 6 │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┘ ├───┼───┼───┼───┤
- * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │ ┌───┐ │ 1 │ 2 │ 3 │ │
- * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴──┬┴──┬┴──┬───┘ │ ↑ │ └───┼───┼───┤Ent│
- * │Ctrl│GUI │Alt │ Space │Alt│GUI│Ctl│ ┌───┼───┼───┐ │ 0 │ . │ │
- * └────┴────┴────┴────────────────────────┴───┴───┴───┘ │ ← │ ↓ │ → │ └───┴───┴───┘
- * └───┴───┴───┘
- */
- [0] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
- ),
- // RGB Control
- [1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, RGB_TOG, RGB_SPI, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, _______, _______, _______,
- _______, _______, _______, _______, _______, MO(2), _______, RGB_MOD, RGB_HUI, RGB_SAI, _______, _______, _______
- ),
- [2] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-
-/*
- [x] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-*/
diff --git a/keyboards/blockboy/ac980mini/keymaps/via/rules.mk b/keyboards/blockboy/ac980mini/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/blockboy/ac980mini/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/blockey/keymaps/default/keymap.c b/keyboards/blockey/keymaps/default/keymap.c
index 5715881f841d..5c48c57856c4 100644
--- a/keyboards/blockey/keymaps/default/keymap.c
+++ b/keyboards/blockey/keymaps/default/keymap.c
@@ -30,8 +30,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
+ _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______,
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, _______,
_______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
),
diff --git a/keyboards/bluebell/swoop/keyboard.json b/keyboards/bluebell/swoop/keyboard.json
index 5cc29818b868..08f61ac20dd0 100644
--- a/keyboards/bluebell/swoop/keyboard.json
+++ b/keyboards/bluebell/swoop/keyboard.json
@@ -42,13 +42,15 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D2",
"encoder": {
"right": {
"rotary": [
{"pin_a": "B5", "pin_b": "B4"}
]
}
+ },
+ "serial": {
+ "pin": "D2"
}
},
"processor": "atmega32u4",
diff --git a/keyboards/boardrun/bizarre/keymaps/via/keymap.c b/keyboards/boardrun/bizarre/keymaps/via/keymap.c
deleted file mode 100644
index d36fefca85bb..000000000000
--- a/keyboards/boardrun/bizarre/keymaps/via/keymap.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /*Bizarre Base Layer (defaults for "any" layout)
- * +-------+ +-----------------------+ +-------------------------------+ +-------------------------------+ +---------------------------------------+
- * ¦ HOME ¦ ¦ ESC ¦ `~ ¦ 1 ¦ ¦ 2 ¦ 3 ¦ 4 ¦ 5 ¦ ¦ 6 ¦ 7 ¦ 8 ¦ 9 ¦ ¦ 0 ¦ - ¦ = ¦ BKSP ¦ DEL ¦
- * +-------¦ +-----------------------+ +-------+-------+-------+-------¦ +-------+-------+-------+-------¦ +---------------------------------------+
- * ¦ END ¦ ¦ TAB ¦ Q ¦ ¦ W ¦ E ¦ R ¦ T ¦ ¦ Y ¦ U ¦ I ¦ O ¦ ¦ P ¦ [ ¦ ] ¦ \ ANSI ¦
- * +-------+ +-----------------------+ +-------+-------+-------+-------¦ +-------+-------+-------+-------¦ +-----------------------------------¦
- * ¦ CAPS ¦ A ¦ ¦ S ¦ D ¦ F ¦ G ¦ ¦ H ¦ J ¦ K ¦ L ¦ ¦ ; ¦ ' ¦ # ISO ¦ ENTER ¦
- * +---------------------------+ +-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------¦ +-----------------------+---------+
- * ¦ LSHIFT ¦ \ ISO ¦ Z ¦ ¦ X ¦ C ¦ V ¦ B ¦ LGUI ¦ ¦ MO ¦ N ¦ M ¦ , ¦ . ¦ ¦ / ¦ RSHIFT ¦ UP ¦
- * +-----------------+-------+ +-----------------------+---------------¦ +---------------------------------------+ +---------------------+-------+-------+
- * ¦ LCTRL ¦ ¦ LALT ¦ SPACE ¦ ¦ SPACE ¦ ¦ RCTRL ¦ LEFT ¦ DOWN ¦ RIGHT ¦
- * +-----------+ +---------------------------+ +---------------------+ +-----------------------------------+
- */
-
- [0] = LAYOUT_all(
- KC_HOME, KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC,KC_DEL,
- KC_END, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT,KC_NUHS,KC_ENT,
- KC_LSFT, KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LGUI, MO(1), KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT
- ),
-
- /*Bizarre Function Layer
- * +-------+ +-----------------------+ +-------------------------------+ +-------------------------------+ +---------------------------------------+
- * ¦ QK_BOOT ¦ ¦ ¦ ¦ F1 ¦ ¦ F2 ¦ F3 ¦ F4 ¦ F5 ¦ ¦ F6 ¦ F7 ¦ F8 ¦ F9 ¦ ¦ F10 ¦ F11 ¦ F12 ¦ DEL ¦ ¦
- * +-------¦ +-----------------------+ +-------+-------+-------+-------¦ +-------+-------+-------+-------¦ +---------------------------------------+
- * ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ INS ¦ ¦ ¦ PRINT ¦ ¦ ¦ ¦
- * +-------+ +-----------------------+ +-------+-------+-------+-------¦ +-------+-------+-------+-------¦ +-----------------------------------¦
- * ¦ ¦ ¦ ¦ SCRLL ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦
- * +---------------------------+ +-------+-------+-------+-------+-------+ +-------+-------+-------+-------+-------¦ +-----------------------+---------+
- * ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ PAUSE ¦ RGUI ¦ ¦ ¦ ¦ MENU ¦ ¦ ¦ ¦ ¦ ¦ PGUP ¦
- * +-----------------+-------+ +-----------------------+---------------¦ +---------------------------------------+ +---------------------+-------+-------+
- * ¦ ¦ ¦ ¦ ¦ ¦ RALT ¦ ¦ ¦ HOME ¦ PGDN ¦ END ¦
- * +-----------+ +---------------------------+ +---------------------+ +-----------------------------------+
- */
-
- [1] = LAYOUT_all(
- QK_BOOT, _______,_______,KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, _______, _______, _______,_______,QK_BOOT,_______, _______,_______,KC_INS ,_______, KC_PSCR,_______,_______,_______,
- _______, _______, KC_SCRL,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______,
- _______, _______,_______, _______,_______,_______,KC_PAUS,KC_RGUI, _______,_______,KC_MENU,_______,_______, _______,_______, KC_PGUP,
- _______, _______, _______, KC_RALT, _______, KC_HOME,KC_PGDN,KC_END
- ),
-
- [2] = LAYOUT_all(
- _______, _______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______,_______,
- _______, _______, _______, _______,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______,
- _______, _______, _______,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______,
- _______, _______,_______, _______,_______,_______,_______,_______, _______,_______,_______,_______,_______, _______,_______, _______,
- _______, _______, _______, _______, _______, _______,_______,_______
- ),
-
- [3] = LAYOUT_all(
- _______, _______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______,_______,
- _______, _______, _______, _______,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______,
- _______, _______, _______,_______,_______,_______, _______,_______,_______,_______, _______,_______,_______,_______,
- _______, _______,_______, _______,_______,_______,_______,_______, _______,_______,_______,_______,_______, _______,_______, _______,
- _______, _______, _______, _______, _______, _______,_______,_______
- )
-
-
-};
diff --git a/keyboards/boardrun/bizarre/keymaps/via/rules.mk b/keyboards/boardrun/bizarre/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/boardrun/bizarre/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/boardrun/classic/keymaps/via/keymap.c b/keyboards/boardrun/classic/keymaps/via/keymap.c
deleted file mode 100644
index 67c388bb047a..000000000000
--- a/keyboards/boardrun/classic/keymaps/via/keymap.c
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base Layer
- * .--------------------------------------------------------------. .--------------------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | - | | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | TAB | Q | W | E | R | T | [ | | ] | Y | U | I | O | P | |\ |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | LCTRL | A | S | D | F | G | HOME | | PG UP | H | J | K | L | ; | ' |
- * |--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- * | LSHIFT | Z | X | C | V | B | END | | PG DN | N | M | , | . | / | ENTER |
- * '--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------'
- * | LGUI | DEL | ~` | LALT | SPACE | | MO | SPACE | | LEFT | DOWN | UP | RIGHT |
- * '--------------------------------------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_LGUI, KC_DEL, KC_GRV, KC_LALT, KC_SPC, KC_SPC, MO(1), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* Function Layer
- * .--------------------------------------------------------------. .--------------------------------------------------------------.
- * | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 |
- * |--------+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | | | | | | | | PRT SC | F12 |
- * |--------+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | | | | | | | | | QK_BOOT |
- * |--------+--------+--------+--------+--------+--------+--------+ +--------+--------+--------+--------+--------+--------+--------|
- * | | | | | | | | | | | MUTE | VOL DN | VOL UP | | |
- * '--------+--------+--------+--------+--------+-----------------+--------+--------+--------+--------+--------+--------+--------+-------'
- * | | | | | | | | | | | |
- * '--------------------------------------------------------------------------------------------------------------------'
- */
- [1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/boardrun/classic/keymaps/via/rules.mk b/keyboards/boardrun/classic/keymaps/via/rules.mk
deleted file mode 100644
index 43061db1dd46..000000000000
--- a/keyboards/boardrun/classic/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/boardsource/3x4/keymaps/via/keymap.c b/keyboards/boardsource/3x4/keymaps/via/keymap.c
deleted file mode 100644
index 5aeef391a1f4..000000000000
--- a/keyboards/boardsource/3x4/keymaps/via/keymap.c
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright 2022 @gwillad
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_0, KC_1, KC_4, KC_7,
- KC_ENT, KC_2, KC_5, KC_8,
- MO(1), KC_3, KC_6, KC_9
- ),
- [1] = LAYOUT(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, QK_BOOT
- ),
- [2] = LAYOUT(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- ),
- [3] = LAYOUT(
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______
- )
-};
diff --git a/keyboards/boardsource/3x4/keymaps/via/rules.mk b/keyboards/boardsource/3x4/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/boardsource/3x4/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/boardsource/4x12/keymaps/via/keymap.c b/keyboards/boardsource/4x12/keymaps/via/keymap.c
deleted file mode 100644
index 34887694875f..000000000000
--- a/keyboards/boardsource/4x12/keymaps/via/keymap.c
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2022 @gwillad
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-enum layers {
- _MAIN,
- _RAISE,
- _LOWER,
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
- [_RAISE] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
- [_LOWER] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- )
-};
diff --git a/keyboards/boardsource/4x12/keymaps/via/rules.mk b/keyboards/boardsource/4x12/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/boardsource/4x12/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/boardsource/5x12/keymaps/via/keymap.c b/keyboards/boardsource/5x12/keymaps/via/keymap.c
deleted file mode 100644
index bc67eae18e4c..000000000000
--- a/keyboards/boardsource/5x12/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright 2022 @gwillad
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-enum layers {
- _MAIN,
- _RAISE,
- _LOWER,
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
- [_RAISE] = LAYOUT_ortho_5x12(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
- KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
- [_LOWER] = LAYOUT_ortho_5x12(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
- [3] = LAYOUT_ortho_5x12(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/boardsource/5x12/keymaps/via/rules.mk b/keyboards/boardsource/5x12/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/boardsource/5x12/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/boardsource/beiwagon/keymaps/default/keymap.c b/keyboards/boardsource/beiwagon/keymaps/default/keymap.c
index 584ada483041..4f799550e1c3 100644
--- a/keyboards/boardsource/beiwagon/keymaps/default/keymap.c
+++ b/keyboards/boardsource/beiwagon/keymaps/default/keymap.c
@@ -32,8 +32,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_0, KC_PENT,RAISE
),
[_RAISE] = LAYOUT(
- KC_7, KC_8, RGB_TOG,
- KC_4, KC_5, RGB_MOD,
+ KC_7, KC_8, RM_TOGG,
+ KC_4, KC_5, RM_NEXT,
KC_1, KC_2, KC_3,
KC_0, KC_PENT,_______
)
diff --git a/keyboards/boardsource/beiwagon/keymaps/via/keymap.c b/keyboards/boardsource/beiwagon/keymaps/via/keymap.c
deleted file mode 100644
index ca068adab4c9..000000000000
--- a/keyboards/boardsource/beiwagon/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2022 Boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _MAIN,
- _RAISE
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT(
- KC_7, KC_8, KC_9,
- KC_4, KC_5, KC_6,
- KC_1, KC_2, KC_3,
- KC_0, KC_PENT,RAISE
- ),
- [_RAISE] = LAYOUT(
- KC_7, KC_8, RGB_TOG,
- KC_4, KC_5, RGB_MOD,
- KC_1, KC_2, KC_3,
- KC_0, KC_PENT,_______
- ),
- [2] = LAYOUT(
- _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______
- ),
- [3] = LAYOUT(
- _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______,
- _______, _______, _______
- )
-};
diff --git a/keyboards/boardsource/beiwagon/keymaps/via/rules.mk b/keyboards/boardsource/beiwagon/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/boardsource/beiwagon/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/boardsource/equals/48/keymaps/via/keymap.c b/keyboards/boardsource/equals/48/keymaps/via/keymap.c
deleted file mode 100644
index 3c3427d12255..000000000000
--- a/keyboards/boardsource/equals/48/keymaps/via/keymap.c
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2022 @boardsource
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-enum layers {
- _MAIN,
- _RAISE,
- _LOWER
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
- [_RAISE] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
- [_LOWER] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
-
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY),
-
-};
diff --git a/keyboards/boardsource/equals/48/keymaps/via/rules.mk b/keyboards/boardsource/equals/48/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/boardsource/equals/48/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/boardsource/equals/60/keymaps/default/keymap.c b/keyboards/boardsource/equals/60/keymaps/default/keymap.c
index 48e26a409474..b744ea6c4c33 100644
--- a/keyboards/boardsource/equals/60/keymaps/default/keymap.c
+++ b/keyboards/boardsource/equals/60/keymaps/default/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_RGHT, RGB_MOD, RGB_TOG
+ KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_RGHT, RM_NEXT, RM_TOGG
),
[_RAISE] = LAYOUT_ortho_5x12(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
diff --git a/keyboards/boardsource/equals/60/keymaps/via/keymap.c b/keyboards/boardsource/equals/60/keymaps/via/keymap.c
deleted file mode 100644
index 54528b8f600e..000000000000
--- a/keyboards/boardsource/equals/60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2023 Cole Smith (@boardsource)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-enum layers {
- _MAIN,
- _RAISE,
- _LOWER
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
- [_RAISE] = LAYOUT_ortho_5x12(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
- KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
- [_LOWER] = LAYOUT_ortho_5x12(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- )
-};
diff --git a/keyboards/boardsource/equals/60/keymaps/via/rules.mk b/keyboards/boardsource/equals/60/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/boardsource/equals/60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/boardsource/equals/avr/keymaps/default/keymap.c b/keyboards/boardsource/equals/avr/keymaps/default/keymap.c
index 99a049214b14..6cac7e1a0fe7 100644
--- a/keyboards/boardsource/equals/avr/keymaps/default/keymap.c
+++ b/keyboards/boardsource/equals/avr/keymaps/default/keymap.c
@@ -17,7 +17,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, CK_TOGG, RGB_MOD, RGB_TOG
+ KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, CK_TOGG, RM_NEXT, RM_TOGG
),
[_RAISE] = LAYOUT_ortho_5x12(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
diff --git a/keyboards/boardsource/equals/avr/keymaps/via/keymap.c b/keyboards/boardsource/equals/avr/keymaps/via/keymap.c
deleted file mode 100644
index 54528b8f600e..000000000000
--- a/keyboards/boardsource/equals/avr/keymaps/via/keymap.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2023 Cole Smith (@boardsource)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-enum layers {
- _MAIN,
- _RAISE,
- _LOWER
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PIPE, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
- [_RAISE] = LAYOUT_ortho_5x12(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- _______, KC_4, KC_5, KC_6, KC_PLUS, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, _______,
- KC_ENT, KC_7, KC_8, KC_9, KC_MINS, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_MUTE, _______, KC_BSLS,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
- [_LOWER] = LAYOUT_ortho_5x12(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11,
- _______, _______, _______, _______, _______, RGB_TOG, RGB_MOD, _______, KC_UP, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- )
-};
diff --git a/keyboards/boardsource/equals/avr/keymaps/via/rules.mk b/keyboards/boardsource/equals/avr/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/boardsource/equals/avr/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/boardsource/equals/equals.c b/keyboards/boardsource/equals/equals.c
index 074fa3df3e2d..78f9ce30b81c 100644
--- a/keyboards/boardsource/equals/equals.c
+++ b/keyboards/boardsource/equals/equals.c
@@ -49,6 +49,5 @@ void keyboard_post_init_kb(void) {
void housekeeping_task_kb(void) {
ui_task();
- housekeeping_task_user();
}
#endif // QUANTUM_PAINTER_ENABLE
diff --git a/keyboards/boardsource/lib/oled.c b/keyboards/boardsource/lib/oled.c
new file mode 100644
index 000000000000..c0fb6ab4a61b
--- /dev/null
+++ b/keyboards/boardsource/lib/oled.c
@@ -0,0 +1,20 @@
+// Copyright 2024 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "oled.h"
+
+void render_layer_state(void) {
+ switch (get_highest_layer(layer_state)) {
+ case 0:
+ oled_write_raw_P(layer0_img, sizeof(layer0_img));
+ break;
+ case 1:
+ oled_write_raw_P(layer1_img, sizeof(layer1_img));
+ break;
+ case 2:
+ oled_write_raw_P(layer2_img, sizeof(layer2_img));
+ break;
+ case 3:
+ oled_write_raw_P(layer3_img, sizeof(layer3_img));
+ break;
+ }
+}
diff --git a/keyboards/boardsource/lib/oled.h b/keyboards/boardsource/lib/oled.h
new file mode 100644
index 000000000000..4778be20b0df
--- /dev/null
+++ b/keyboards/boardsource/lib/oled.h
@@ -0,0 +1,183 @@
+// Copyright 2024 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#pragma once
+#include "quantum.h"
+
+void render_layer_state(void);
+
+// clang-format off
+static const char PROGMEM layer0_img[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
+ 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
+ 0xfc, 0x0e, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
+ 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
+ 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
+ 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
+ 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const char PROGMEM layer1_img[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
+ 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
+ 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
+ 0x3f, 0x70, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
+ 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
+ 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
+ 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const char PROGMEM layer2_img[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
+ 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
+ 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
+ 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x38, 0x1f, 0x07,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
+ 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
+ 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
+ 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const char PROGMEM layer3_img[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
+ 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
+ 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
+ 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
+ 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
+ 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
+ 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+
+static const char PROGMEM bs_logo_img[] = {
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60,
+ 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0x1e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0,
+ 0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff,
+ 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
+ 0x00, 0x1f, 0xff, 0xff, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x78, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01,
+ 0x01, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0x78, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03,
+ 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+};
+// clang-format on
diff --git a/keyboards/boardsource/lulu/avr/keyboard.json b/keyboards/boardsource/lulu/avr/keyboard.json
index 73f86a435f8f..ce9fa7c0a675 100644
--- a/keyboards/boardsource/lulu/avr/keyboard.json
+++ b/keyboards/boardsource/lulu/avr/keyboard.json
@@ -8,7 +8,9 @@
"rows": ["C6", "D7", "E6", "B4", "B5"]
},
"split": {
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"ws2812": {
"pin": "D3"
diff --git a/keyboards/boardsource/lulu/avr/rules.mk b/keyboards/boardsource/lulu/avr/rules.mk
new file mode 100644
index 000000000000..de6a3d8afcad
--- /dev/null
+++ b/keyboards/boardsource/lulu/avr/rules.mk
@@ -0,0 +1 @@
+SRC += lib/oled.c
diff --git a/keyboards/boardsource/lulu/keymaps/default/keymap.c b/keyboards/boardsource/lulu/keymaps/default/keymap.c
index cbee1401ed56..9c1ed869efde 100644
--- a/keyboards/boardsource/lulu/keymaps/default/keymap.c
+++ b/keyboards/boardsource/lulu/keymaps/default/keymap.c
@@ -65,7 +65,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
- * |------+------+------+------+------+------|RGB_TOG| | ] |------+------+------+------+------+------|
+ * |------+------+------+------+------+------|RM_TOGG| | ] |------+------+------+------+------+------|
* | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
* `-----------------------------------------/ / \ \-----------------------------------------'
* | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
@@ -74,10 +74,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_RAISE] = LAYOUT(
- RGB_MOD, RGB_RMOD,RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
+ RM_NEXT, RM_PREV, RM_SATU, RM_SATD, RM_VALU, RM_VALD, _______, _______, _______, _______, _______, _______,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
+ KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RM_TOGG, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, _______, _______, _______, _______, _______, _______, _______
),
/* ADJUST
diff --git a/keyboards/boardsource/lulu/keymaps/via/keymap.c b/keyboards/boardsource/lulu/keymaps/via/keymap.c
deleted file mode 100644
index bf5ffc7a9be6..000000000000
--- a/keyboards/boardsource/lulu/keymaps/via/keymap.c
+++ /dev/null
@@ -1,113 +0,0 @@
-// Copyright 2022 Cole Smith
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _QWERTY,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-#define RAISE MO(_RAISE)
-#define LOWER MO(_LOWER)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* QWERTY
- * ,-----------------------------------------. ,-----------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | ` |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | | Y | U | I | O | P | - |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * |LCTRL | A | S | D | F | G |-------. ,-------| H | J | K | L | ; | ' |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * |LShift| Z | X | C | V | B |-------| |-------| N | M | , | . | / |RShift|
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
- [_QWERTY] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_MINS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_ENT, RAISE, KC_BSPC, KC_RGUI
-),
-/* LOWER
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | ! | @ | # | $ | % |-------. ,-------| ^ | & | * | ( | ) | - |
- * |------+------+------+------+------+------| [ | | ] |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | _ | + | { | } | | |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-[_LOWER] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_TILD,
- _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* RAISE
- * ,-----------------------------------------. ,-----------------------------------------.
- * |MOD | MODR | S+ | S- | B+ | B- | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | F1 | F2 | F3 | F4 | F5 | F6 |-------. ,-------| | Left | Down | Up |Right | |
- * |------+------+------+------+------+------|RGB_TOG| | ] |------+------+------+------+------+------|
- * | F7 | F8 | F9 | F10 | F11 | F12 |-------| |-------| + | - | = | [ | ] | \ |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
-
-[_RAISE] = LAYOUT(
- RGB_MOD, RGB_RMOD,RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, _______, _______,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, XXXXXXX, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, XXXXXXX,
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, RGB_TOG, _______, KC_PLUS, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, _______
-),
-/* ADJUST
- * ,-----------------------------------------. ,-----------------------------------------.
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
- * |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | |-------. ,-------| | |RGB ON| HUE+ | SAT+ | VAL+ |
- * |------+------+------+------+------+------| | | |------+------+------+------+------+------|
- * | | | | | | |-------| |-------| | | MODE | HUE- | SAT- | VAL- |
- * `-----------------------------------------/ / \ \-----------------------------------------'
- * | LAlt | LGUI |LOWER | /Space / \Enter \ |RAISE |BackSP| RGUI |
- * | | | |/ / \ \ | | | |
- * `----------------------------' '------''--------------------'
- */
- [_ADJUST] = LAYOUT(
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_QWERTY] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) },
- [_LOWER] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD), ENCODER_CCW_CW(RGB_VAD, RGB_VAI) },
- [_RAISE] = { ENCODER_CCW_CW(RGB_SAD, RGB_SAI), ENCODER_CCW_CW(RGB_HUD, RGB_HUI) },
- [_ADJUST] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }
-};
-#endif
diff --git a/keyboards/boardsource/lulu/keymaps/via/rules.mk b/keyboards/boardsource/lulu/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/boardsource/lulu/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/boardsource/lulu/lulu.c b/keyboards/boardsource/lulu/lulu.c
index 8d011268c4b1..b20228a7d7fc 100644
--- a/keyboards/boardsource/lulu/lulu.c
+++ b/keyboards/boardsource/lulu/lulu.c
@@ -1,6 +1,7 @@
// Copyright 2022 Cole Smith
// SPDX-License-Identifier: GPL-2.0-or-later
#include "quantum.h"
+#include "lib/oled.h"
#ifdef ENCODER_ENABLE
bool encoder_update_kb(uint8_t index, bool clockwise) {
@@ -24,225 +25,20 @@ bool encoder_update_kb(uint8_t index, bool clockwise) {
#ifdef OLED_ENABLE
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
- if (!is_keyboard_master()) {
- return OLED_ROTATION_180;
- }
- return rotation;
-}
-
-void render_layer1_logo(void){
- static const char PROGMEM layer_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
- 0xfc, 0x0e, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(layer_logo, sizeof(layer_logo));
-}
-
-void render_layer2_logo(void){
- static const char PROGMEM layer_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
- 0x3f, 0x70, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(layer_logo, sizeof(layer_logo));
-}
-
-void render_layer3_logo(void){
- static const char PROGMEM layer_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x38, 0x1f, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(layer_logo, sizeof(layer_logo));
-}
-
-void render_layer4_logo(void){
- static const char PROGMEM layer_logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(layer_logo, sizeof(layer_logo));
-}
-
-void render_logo(void) {
- static const char PROGMEM logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0x60, 0x60, 0x60,
- 0x60, 0x60, 0xc0, 0xc0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0xe0, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xfc, 0x1e, 0x07, 0x03, 0x01, 0x00, 0x00, 0x00, 0x80, 0xc0,
- 0x80, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff,
- 0xe0, 0xc0, 0x80, 0x80, 0xc0, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x00, 0x00,
- 0x00, 0x1f, 0xff, 0xff, 0xc0, 0xc0, 0x80, 0xc0, 0xc0, 0xe0, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x1f, 0x78, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x01,
- 0x01, 0x00, 0x00, 0x80, 0x80, 0xc0, 0xe0, 0x78, 0x3f, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x03, 0x03, 0x03, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
- oled_write_raw_P(logo, sizeof(logo));
-}
-
-void process_layer_state(void) {
- switch (get_highest_layer(layer_state)) {
- case 0:
- render_layer1_logo();
- break;
- case 1:
- render_layer2_logo();
- break;
- case 2:
- render_layer3_logo();
- break;
- case 3:
- render_layer4_logo();
- break;
+ if (!is_keyboard_master()) {
+ return OLED_ROTATION_180;
}
+ return rotation;
}
bool oled_task_kb(void) {
- if (!oled_task_user()) { return false; }
+ if (!oled_task_user()) {
+ return false;
+ }
if (is_keyboard_master()) {
- process_layer_state();
+ render_layer_state();
} else {
- render_logo();
+ oled_write_raw_P(bs_logo_img, sizeof(bs_logo_img));
}
return false;
}
diff --git a/keyboards/boardsource/lulu/rp2040/keyboard.json b/keyboards/boardsource/lulu/rp2040/keyboard.json
index a1e8db89a9c1..db0b7a50c639 100644
--- a/keyboards/boardsource/lulu/rp2040/keyboard.json
+++ b/keyboards/boardsource/lulu/rp2040/keyboard.json
@@ -10,6 +10,11 @@
{"pin_a": "GP8", "pin_b": "GP9"}
]
},
+ "split": {
+ "serial": {
+ "driver": "vendor"
+ }
+ },
"ws2812": {
"pin": "GP29",
"driver": "vendor"
diff --git a/keyboards/boardsource/lulu/rp2040/rules.mk b/keyboards/boardsource/lulu/rp2040/rules.mk
index 161ec22b16e2..de6a3d8afcad 100644
--- a/keyboards/boardsource/lulu/rp2040/rules.mk
+++ b/keyboards/boardsource/lulu/rp2040/rules.mk
@@ -1 +1 @@
-SERIAL_DRIVER = vendor
+SRC += lib/oled.c
diff --git a/keyboards/boardsource/microdox/keymaps/via/keymap.c b/keyboards/boardsource/microdox/keymaps/via/keymap.c
deleted file mode 100644
index 644fd0de41ae..000000000000
--- a/keyboards/boardsource/microdox/keymaps/via/keymap.c
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2022 jack (@waffle87)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_split_3x5_3(
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- SFT_T(KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, SFT_T(KC_SCLN),
- CTL_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, CTL_T(KC_SLSH),
- LT(3, KC_LGUI), MO(1), KC_SPC, KC_BSPC, MO(2), KC_ENT
- ),
-
- [1] = LAYOUT_split_3x5_3(
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
- KC_ESC, KC_TAB, KC_CAPS, KC_TILD, KC_GRV, KC_QUOT, KC_DQUO, KC_MPRV, KC_MPLY, KC_MNXT,
- KC_LGUI, KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, KC_RALT
- ),
-
- [2] = LAYOUT_split_3x5_3(
- KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_PSCR, KC_DEL, KC_INS, KC_HOME, KC_END,
- KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_LEFT, KC_DOWN, KC_RIGHT, KC_UP, KC_VOLU,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_VOLD,
- KC_PGDN, KC_TRNS, KC_SPC, KC_ENT, KC_TRNS, KC_PGUP
- ),
- [3] = LAYOUT_split_3x5_3(
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_TOG, RGB_HUD, RGB_HUI, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_MOD, RGB_SAD, RGB_SAI, XXXXXXX, XXXXXXX,
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, RGB_RMOD, RGB_VAD, RGB_VAI, XXXXXXX, XXXXXXX,
- KC_TRNS, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX
- )
-};
diff --git a/keyboards/boardsource/microdox/keymaps/via/rules.mk b/keyboards/boardsource/microdox/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/boardsource/microdox/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/boardsource/microdox/v1/keyboard.json b/keyboards/boardsource/microdox/v1/keyboard.json
index d35a58777eb0..f13f9435720c 100644
--- a/keyboards/boardsource/microdox/v1/keyboard.json
+++ b/keyboards/boardsource/microdox/v1/keyboard.json
@@ -10,7 +10,9 @@
"device_version": "1.0.0"
},
"split": {
- "soft_serial_pin": "D2"
+ "serial": {
+ "pin": "D2"
+ }
},
"rgblight": {
"sleep": true,
diff --git a/keyboards/boardsource/microdox/v2/keyboard.json b/keyboards/boardsource/microdox/v2/keyboard.json
index 94577059c523..d733af7a03fa 100644
--- a/keyboards/boardsource/microdox/v2/keyboard.json
+++ b/keyboards/boardsource/microdox/v2/keyboard.json
@@ -19,7 +19,6 @@
]
},
"split": {
- "soft_serial_pin": "D3",
"matrix_pins": {
"right": {
"cols": ["F4", "B1", "D7", "C6", "B3"],
@@ -32,6 +31,9 @@
{"pin_a": "B6", "pin_b": "B2"}
]
}
+ },
+ "serial": {
+ "pin": "D3"
}
},
"rgb_matrix": {
diff --git a/keyboards/boardsource/sessanta/keymaps/default/keymap.json b/keyboards/boardsource/sessanta/keymaps/default/keymap.json
index b99333c46d77..d8fb2f8e4a99 100644
--- a/keyboards/boardsource/sessanta/keymaps/default/keymap.json
+++ b/keyboards/boardsource/sessanta/keymaps/default/keymap.json
@@ -12,8 +12,8 @@
],
[
"QK_BOOT", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_F13",
- "QK_RBT", "RGB_MOD", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_TOG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
- "EE_CLR", "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "QK_RBT", "RM_NEXT", "RM_VALU", "RM_HUEU", "RM_SATU", "RM_TOGG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "EE_CLR", "RM_PREV", "RM_VALD", "RM_HUED", "RM_SATD", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______"
]
diff --git a/keyboards/boardsource/sessanta/keymaps/via/keymap.json b/keyboards/boardsource/sessanta/keymaps/via/keymap.json
deleted file mode 100644
index 68e8e5fb2085..000000000000
--- a/keyboards/boardsource/sessanta/keymaps/via/keymap.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- "keyboard": "boardsource/sessanta",
- "keymap": "via",
- "layout": "LAYOUT_all",
- "config": {
- "features": {
- "via": true
- }
- },
- "layers": [
- [
- "KC_GRV", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "KC_MINS", "KC_EQL", "KC_BSPC",
- "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_LBRC", "KC_RBRC", "KC_BSLS",
- "KC_CAPS", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT", "KC_ENT", "KC_VOLU",
- "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_RSFT", "KC_MPLY",
- "KC_LCTL", "KC_LGUI", "KC_LALT", "KC_SPC", "KC_SPC", "KC_SPC", "KC_SPC", "KC_SPC", "MO(1)", "KC_RALT", "KC_RGUI", "KC_RCTL", "KC_VOLD"
- ],
- [
- "QK_BOOT", "KC_F1", "KC_F2", "KC_F3", "KC_F4", "KC_F5", "KC_F6", "KC_F7", "KC_F8", "KC_F9", "KC_F10", "KC_F11", "KC_F12", "KC_F13",
- "QK_RBT", "RGB_MOD", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_TOG", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
- "EE_CLR", "RGB_RMOD", "RGB_VAD", "RGB_HUD", "RGB_SAD", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
- "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
- "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______"
- ]
- ]
-}
diff --git a/keyboards/boardsource/technik_o/keymaps/default/keymap.c b/keyboards/boardsource/technik_o/keymaps/default/keymap.c
index a43d930c4f3a..42992691905d 100644
--- a/keyboards/boardsource/technik_o/keymaps/default/keymap.c
+++ b/keyboards/boardsource/technik_o/keymaps/default/keymap.c
@@ -30,7 +30,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ RM_TOGG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
[_RAISE] = LAYOUT_ortho_4x12(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
@@ -42,7 +42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ RM_NEXT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
)
};
diff --git a/keyboards/boardsource/technik_o/keymaps/via/keymap.c b/keyboards/boardsource/technik_o/keymaps/via/keymap.c
deleted file mode 100644
index 3070e1ef5313..000000000000
--- a/keyboards/boardsource/technik_o/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright 2022 Boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _MAIN,
- _RAISE,
- _LOWER,
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- RGB_TOG, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
- [_RAISE] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
- [_LOWER] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- RGB_MOD, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
- [3] = LAYOUT_ortho_4x12(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/boardsource/technik_o/keymaps/via/rules.mk b/keyboards/boardsource/technik_o/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/boardsource/technik_o/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/boardsource/technik_s/keymaps/default/keymap.c b/keyboards/boardsource/technik_s/keymaps/default/keymap.c
index bae6438d15c7..9c215f99e24f 100644
--- a/keyboards/boardsource/technik_s/keymaps/default/keymap.c
+++ b/keyboards/boardsource/technik_s/keymaps/default/keymap.c
@@ -30,12 +30,12 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
KC_LSFT,KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT ,
- RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT
+ RM_TOGG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT
),
[_RAISE] = LAYOUT(
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
- RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
+ RM_NEXT, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
),
[_LOWER] = LAYOUT(
diff --git a/keyboards/boardsource/technik_s/keymaps/via/keymap.c b/keyboards/boardsource/technik_s/keymaps/via/keymap.c
deleted file mode 100644
index efdc1fd44aeb..000000000000
--- a/keyboards/boardsource/technik_s/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright 2022 Boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _MAIN,
- _RAISE,
- _LOWER,
-};
-
-#define LOWER MO(_LOWER)
-#define RAISE MO(_RAISE)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_MAIN] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
- KC_LSFT,KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_UP, KC_ENT ,
- RGB_TOG, KC_LCTL, KC_LALT, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- [_RAISE] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR,
- RGB_MOD, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
- ),
- [_LOWER] = LAYOUT(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD
- ),
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/boardsource/technik_s/keymaps/via/rules.mk b/keyboards/boardsource/technik_s/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/boardsource/technik_s/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/boardsource/the_mark/keymaps/default/keymap.c b/keyboards/boardsource/the_mark/keymaps/default/keymap.c
index a50367b140a7..21354419bb09 100644
--- a/keyboards/boardsource/the_mark/keymaps/default/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/default/keymap.c
@@ -24,8 +24,8 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, RGB_TOG,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, RGB_MOD,
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, UG_TOGG,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, UG_NEXT,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(_FN),
KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
diff --git a/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c
index 69f15cfea030..0c0d95f67460 100644
--- a/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/default_ansi/keymap.c
@@ -24,8 +24,8 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, RGB_TOG,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, RGB_MOD,
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, UG_TOGG,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, UG_NEXT,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(_FN),
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
diff --git a/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c
index bb9fd272a739..ed4414801f7f 100644
--- a/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/default_ansi_split_bs_space/keymap.c
@@ -25,8 +25,8 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT_ansi_split_bs_space(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, RGB_TOG,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, RGB_MOD,
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, UG_TOGG,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, UG_NEXT,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, MO(_FN),
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
diff --git a/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c
index 9892e3d60a8f..8ff232d4f5d5 100644
--- a/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/default_iso/keymap.c
@@ -24,8 +24,8 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT_iso(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, RGB_TOG,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, RGB_MOD,
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, UG_TOGG,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, UG_NEXT,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, MO(_FN),
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_LCTL, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
diff --git a/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c b/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c
index c6dccc08e848..3b8e09b29245 100644
--- a/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c
+++ b/keyboards/boardsource/the_mark/keymaps/default_iso_split_bs_space/keymap.c
@@ -25,8 +25,8 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Base */
[_BASE] = LAYOUT_iso_split_bs_space(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, RGB_TOG,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, RGB_MOD,
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, UG_TOGG,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, UG_NEXT,
KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, MO(_FN),
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
diff --git a/keyboards/boardsource/the_mark/keymaps/via/keymap.c b/keyboards/boardsource/the_mark/keymaps/via/keymap.c
deleted file mode 100644
index 60e65bc60c35..000000000000
--- a/keyboards/boardsource/the_mark/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2022 Boardsource
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, RGB_TOG,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_GRV, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_HOME,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY, KC_VOLD, KC_VOLU, KC_MUTE, KC_END,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/boardsource/the_mark/keymaps/via/rules.mk b/keyboards/boardsource/the_mark/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/boardsource/the_mark/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/boardsource/the_q/keyboard.json b/keyboards/boardsource/the_q/keyboard.json
new file mode 100644
index 000000000000..b48b5e080b47
--- /dev/null
+++ b/keyboards/boardsource/the_q/keyboard.json
@@ -0,0 +1,142 @@
+{
+ "manufacturer": "Boardsource",
+ "keyboard_name": "The Q",
+ "maintainer": "waffle87",
+ "development_board": "promicro",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgb_matrix": true,
+ "oled": true
+ },
+ "matrix_pins": {
+ "rows": ["B2", "B3", "B1", "F7", "F6", "F5", "F4"],
+ "cols": ["D4", "C6", "D7", "E6", "B4", "B5"]
+ },
+ "url": "https://boardsource.xyz",
+ "usb": {
+ "device_version": "1.0.0",
+ "pid": "0x7552",
+ "vid": "0x4273"
+ },
+ "ws2812": {
+ "pin": "B6"
+ },
+ "rgb_matrix": {
+ "animations": {
+ "alphas_mods": true,
+ "band_sat": true,
+ "band_val": true,
+ "breathing": true,
+ "gradient_left_right": true,
+ "gradient_up_down": true
+ },
+ "default": {
+ "animation": "alphas_mods"
+ },
+ "max_brightness": 150,
+ "driver": "ws2812",
+ "layout": [
+ {"x": 112, "y": 10, "flags": 2},
+ {"x": 181, "y": 5, "flags": 2},
+ {"x": 215, "y": 53, "flags": 2},
+ {"x": 112, "y": 64, "flags": 2},
+ {"x": 26, "y": 53, "flags": 2},
+ {"x": 43, "y": 5, "flags": 2},
+ {"matrix": [0, 1], "x": 17, "y": 0, "flags": 4},
+ {"matrix": [1, 1], "x": 17, "y": 42, "flags": 4},
+ {"matrix": [2, 1], "x": 17, "y": 21, "flags": 4},
+ {"matrix": [2, 2], "x": 34, "y": 21, "flags": 4},
+ {"matrix": [1, 2], "x": 34, "y": 42, "flags": 4},
+ {"matrix": [0, 2], "x": 34, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 52, "y": 0, "flags": 4},
+ {"matrix": [1, 3], "x": 52, "y": 42, "flags": 4},
+ {"matrix": [2, 3], "x": 52, "y": 21, "flags": 4},
+ {"matrix": [2, 4], "x": 69, "y": 21, "flags": 4},
+ {"matrix": [1, 4], "x": 69, "y": 42, "flags": 4},
+ {"matrix": [0, 4], "x": 69, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 86, "y": 0, "flags": 4},
+ {"matrix": [1, 5], "x": 86, "y": 42, "flags": 4},
+ {"matrix": [2, 5], "x": 86, "y": 21, "flags": 4},
+ {"matrix": [3, 0], "x": 69, "y": 20, "flags": 1},
+ {"matrix": [3, 1], "x": 86, "y": 20, "flags": 1},
+ {"matrix": [3, 2], "x": 103, "y": 64, "flags": 1},
+ {"matrix": [3, 3], "x": 120, "y": 64, "flags": 1},
+ {"matrix": [3, 4], "x": 138, "y": 20, "flags": 1},
+ {"matrix": [3, 5], "x": 155, "y": 20, "flags": 1},
+ {"matrix": [4, 5], "x": 138, "y": 21, "flags": 4},
+ {"matrix": [5, 5], "x": 138, "y": 42, "flags": 4},
+ {"matrix": [6, 5], "x": 138, "y": 0, "flags": 4},
+ {"matrix": [6, 4], "x": 155, "y": 0, "flags": 4},
+ {"matrix": [5, 4], "x": 155, "y": 42, "flags": 4},
+ {"matrix": [4, 4], "x": 155, "y": 21, "flags": 4},
+ {"matrix": [4, 3], "x": 172, "y": 21, "flags": 4},
+ {"matrix": [5, 3], "x": 172, "y": 42, "flags": 4},
+ {"matrix": [6, 3], "x": 172, "y": 0, "flags": 4},
+ {"matrix": [6, 2], "x": 189, "y": 0, "flags": 4},
+ {"matrix": [5, 2], "x": 189, "y": 42, "flags": 4},
+ {"matrix": [4, 2], "x": 189, "y": 21, "flags": 4},
+ {"matrix": [4, 1], "x": 206, "y": 21, "flags": 4},
+ {"matrix": [5, 1], "x": 206, "y": 42, "flags": 4},
+ {"matrix": [6, 1], "x": 206, "y": 0, "flags": 4},
+ {"matrix": [6, 0], "x": 224, "y": 0, "flags": 1},
+ {"matrix": [5, 0], "x": 224, "y": 42, "flags": 1},
+ {"matrix": [4, 0], "x": 224, "y": 21, "flags": 1},
+ {"matrix": [2, 0], "x": 0, "y": 21, "flags": 1},
+ {"matrix": [1, 0], "x": 0, "y": 42, "flags": 1},
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1}
+ ]
+ },
+ "community_layouts": ["split_3x6_3"],
+ "layouts": {
+ "LAYOUT_split_3x6_3": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0.25},
+ {"matrix": [0, 1], "x": 1, "y": 0.25},
+ {"matrix": [0, 2], "x": 2, "y": 0.125},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0.125},
+ {"matrix": [0, 5], "x": 5, "y": 0.25},
+ {"matrix": [6, 5], "x": 8, "y": 0.25},
+ {"matrix": [6, 4], "x": 9, "y": 0.125},
+ {"matrix": [6, 3], "x": 10, "y": 0},
+ {"matrix": [6, 2], "x": 11, "y": 0.125},
+ {"matrix": [6, 1], "x": 12, "y": 0.25},
+ {"matrix": [6, 0], "x": 13, "y": 0.25},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.125},
+ {"matrix": [1, 3], "x": 3, "y": 1},
+ {"matrix": [1, 4], "x": 4, "y": 1.125},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [5, 5], "x": 8, "y": 1.25},
+ {"matrix": [5, 4], "x": 9, "y": 1.125},
+ {"matrix": [5, 3], "x": 10, "y": 1},
+ {"matrix": [5, 2], "x": 11, "y": 1.125},
+ {"matrix": [5, 1], "x": 12, "y": 1.25},
+ {"matrix": [5, 0], "x": 13, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25},
+ {"matrix": [2, 1], "x": 1, "y": 2.25},
+ {"matrix": [2, 2], "x": 2, "y": 2.125},
+ {"matrix": [2, 3], "x": 3, "y": 2},
+ {"matrix": [2, 4], "x": 4, "y": 2.125},
+ {"matrix": [2, 5], "x": 5, "y": 2.25},
+ {"matrix": [4, 5], "x": 8, "y": 2.25},
+ {"matrix": [4, 4], "x": 9, "y": 2.125},
+ {"matrix": [4, 3], "x": 10, "y": 2},
+ {"matrix": [4, 2], "x": 11, "y": 2.125},
+ {"matrix": [4, 1], "x": 12, "y": 2.25},
+ {"matrix": [4, 0], "x": 13, "y": 2.25},
+ {"matrix": [3, 0], "x": 3.5, "y": 3.25},
+ {"matrix": [3, 1], "x": 4.5, "y": 3.5},
+ {"matrix": [3, 2], "x": 5.5, "y": 3.75},
+ {"matrix": [3, 3], "x": 7.5, "y": 3.75},
+ {"matrix": [3, 4], "x": 8.5, "y": 3.5},
+ {"matrix": [3, 5], "x": 9.5, "y": 3.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/boardsource/the_q/keymaps/default/keymap.json b/keyboards/boardsource/the_q/keymaps/default/keymap.json
new file mode 100644
index 000000000000..5cd91661d035
--- /dev/null
+++ b/keyboards/boardsource/the_q/keymaps/default/keymap.json
@@ -0,0 +1,25 @@
+{
+ "keyboard": "boardsource/the_q",
+ "keymap": "default",
+ "layout": "LAYOUT_split_3x6_3",
+ "layers": [
+ [
+ "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC",
+ "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT",
+ "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC",
+ "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT"
+ ],
+ [
+ "_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______",
+ "_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______"
+ ],
+ [
+ "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RM_VALU", "RM_HUEU", "RM_SATU", "RM_NEXT", "RM_TOGG", "_______",
+ "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RM_VALD", "RM_HUED", "RM_SATD", "RM_PREV", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
+ "_______", "_______", "_______", "_______", "_______", "_______"
+ ]
+ ]
+}
diff --git a/keyboards/boardsource/the_q/readme.md b/keyboards/boardsource/the_q/readme.md
new file mode 100644
index 000000000000..9ec8fe8eda55
--- /dev/null
+++ b/keyboards/boardsource/the_q/readme.md
@@ -0,0 +1,23 @@
+# The Q
+
+* Keyboard Maintainer: [waffle87](https://github.com/waffle87)
+* Hardware Supported: The Q PCB w/ Pro Micro style microcontroller
+* Hardware Availability: [boardsource.xyz](https://boardsource.xyz)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make boardsource/the_q:default
+
+Flashing example for this keyboard:
+
+ mke boardsource/the_q:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (top left key)
+* **Physical reset button**: Briefly press the button on the front of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT`
diff --git a/keyboards/boardsource/the_q/rules.mk b/keyboards/boardsource/the_q/rules.mk
new file mode 100644
index 000000000000..de6a3d8afcad
--- /dev/null
+++ b/keyboards/boardsource/the_q/rules.mk
@@ -0,0 +1 @@
+SRC += lib/oled.c
diff --git a/keyboards/boardsource/the_q/the_q.c b/keyboards/boardsource/the_q/the_q.c
new file mode 100644
index 000000000000..09294569114a
--- /dev/null
+++ b/keyboards/boardsource/the_q/the_q.c
@@ -0,0 +1,14 @@
+// Copyright 2024 jack (@waffle87)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include "quantum.h"
+#include "lib/oled.h"
+
+#ifdef OLED_ENABLE
+bool oled_task_kb(void) {
+ if (!oled_task_user()) {
+ return false;
+ }
+ render_layer_state();
+ return false;
+}
+#endif
diff --git a/keyboards/boardsource/unicorne/keyboard.json b/keyboards/boardsource/unicorne/keyboard.json
index 4fb63de9e326..da1c3a787ee1 100644
--- a/keyboards/boardsource/unicorne/keyboard.json
+++ b/keyboards/boardsource/unicorne/keyboard.json
@@ -20,7 +20,10 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "GP0",
+ "serial": {
+ "driver": "vendor",
+ "pin": "GP0"
+ },
"transport": {
"sync": {
"layer_state": true
diff --git a/keyboards/boardsource/unicorne/keymaps/default/keymap.json b/keyboards/boardsource/unicorne/keymaps/default/keymap.json
index 1980bc3c873e..1aa291777883 100644
--- a/keyboards/boardsource/unicorne/keymaps/default/keymap.json
+++ b/keyboards/boardsource/unicorne/keymaps/default/keymap.json
@@ -16,8 +16,8 @@
"_______", "_______", "_______", "_______", "_______", "_______"
],
[
- "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_MOD", "RGB_TOG", "_______",
- "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RGB_VAD", "RGB_HUD", "RGB_SAD", "RGB_RMOD", "CK_TOGG", "_______",
+ "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RM_VALU", "RM_HUEU", "RM_SATU", "RM_NEXT", "RM_TOGG", "_______",
+ "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RM_VALD", "RM_HUED", "RM_SATD", "RM_PREV", "CK_TOGG", "_______",
"_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
"_______", "_______", "_______", "_______", "_______", "_______"
]
diff --git a/keyboards/boardsource/unicorne/keymaps/via/keymap.json b/keyboards/boardsource/unicorne/keymaps/via/keymap.json
deleted file mode 100644
index 230fc6e36204..000000000000
--- a/keyboards/boardsource/unicorne/keymaps/via/keymap.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "keyboard": "boardsource/unicorne",
- "keymap": "via",
- "layout": "LAYOUT_split_3x6_3",
- "config": {
- "features": {
- "via": true
- }
- },
- "layers": [
- [
- "KC_TAB", "KC_Q", "KC_W", "KC_E", "KC_R", "KC_T", "KC_Y", "KC_U", "KC_I", "KC_O", "KC_P", "KC_BSPC",
- "KC_LCTL", "KC_A", "KC_S", "KC_D", "KC_F", "KC_G", "KC_H", "KC_J", "KC_K", "KC_L", "KC_SCLN", "KC_QUOT",
- "KC_LSFT", "KC_Z", "KC_X", "KC_C", "KC_V", "KC_B", "KC_N", "KC_M", "KC_COMM", "KC_DOT", "KC_SLSH", "KC_ESC",
- "KC_LGUI", "MO(1)", "KC_SPC", "KC_ENT", "MO(2)", "KC_RALT"
- ],
- [
- "_______", "KC_1", "KC_2", "KC_3", "KC_4", "KC_5", "KC_6", "KC_7", "KC_8", "KC_9", "KC_0", "_______",
- "_______", "KC_EXLM", "KC_AT", "KC_HASH", "KC_DLR", "KC_PERC", "KC_CIRC", "KC_AMPR", "KC_ASTR", "KC_LPRN", "KC_RPRN", "_______",
- "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
- "_______", "_______", "_______", "_______", "_______", "_______"
- ],
- [
- "QK_BOOT", "_______", "_______", "_______", "_______", "_______", "RGB_VAI", "RGB_HUI", "RGB_SAI", "RGB_MOD", "RGB_TOG", "_______",
- "EE_CLR", "_______", "_______", "_______", "_______", "_______", "RGB_VAD", "RGB_HUD", "RGB_SAD", "RGB_RMOD", "CK_TOGG", "_______",
- "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______", "_______",
- "_______", "_______", "_______", "_______", "_______", "_______"
- ]
- ]
-}
diff --git a/keyboards/boardsource/unicorne/rules.mk b/keyboards/boardsource/unicorne/rules.mk
index 48b30dcd51a7..53d7e1b6816b 100644
--- a/keyboards/boardsource/unicorne/rules.mk
+++ b/keyboards/boardsource/unicorne/rules.mk
@@ -1,2 +1,2 @@
-SERIAL_DRIVER = vendor
POINTING_DEVICE_DRIVER = analog_joystick
+SRC += lib/oled.c
diff --git a/keyboards/boardsource/unicorne/unicorne.c b/keyboards/boardsource/unicorne/unicorne.c
index 22cd1e4a37d8..f9dac8d3efbc 100644
--- a/keyboards/boardsource/unicorne/unicorne.c
+++ b/keyboards/boardsource/unicorne/unicorne.c
@@ -1,6 +1,7 @@
-// Copyright 2023 jack (@waffle87)
+// Copyright 2024 jack (@waffle87)
// SPDX-License-Identifier: GPL-2.0-or-later
-#include "unicorne.h"
+#include "quantum.h"
+#include "lib/oled.h"
#ifdef OLED_ENABLE
oled_rotation_t oled_init_kb(oled_rotation_t rotation) {
@@ -15,22 +16,9 @@ bool oled_task_kb(void) {
return false;
}
if (is_keyboard_master()) {
- switch (get_highest_layer(layer_state)) {
- case 0:
- oled_write_raw(layer_zero, sizeof(layer_zero));
- break;
- case 1:
- oled_write_raw(layer_one, sizeof(layer_one));
- break;
- case 2:
- oled_write_raw(layer_two, sizeof(layer_two));
- break;
- case 3:
- oled_write_raw(layer_three, sizeof(layer_three));
- break;
- }
+ render_layer_state();
} else {
- oled_write_raw(logo, sizeof(logo));
+ oled_write_raw_P(bs_logo_img, sizeof(bs_logo_img));
}
return false;
}
diff --git a/keyboards/boardsource/unicorne/unicorne.h b/keyboards/boardsource/unicorne/unicorne.h
deleted file mode 100644
index 68bbeeb18ab1..000000000000
--- a/keyboards/boardsource/unicorne/unicorne.h
+++ /dev/null
@@ -1,194 +0,0 @@
-// Copyright 2023 jack (@waffle87)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-#include "quantum.h"
-
-#ifdef OLED_ENABLE
-// clang-format off
-static const char PROGMEM logo[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xc0, 0xc0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0,
- 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x01, 0xe3, 0xe7, 0xe7, 0xe3,
- 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0x00,
- 0x80, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0xc0, 0xe0, 0xe0, 0xe0, 0x00, 0x00, 0xe0, 0xe0, 0xe0, 0xe0,
- 0x80, 0xc0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0, 0xe0,
- 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xe0, 0xff, 0xff, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff,
- 0x01, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0x00, 0x00, 0x00, 0x7e, 0xff, 0xff, 0xff, 0xe7, 0xc1, 0x81, 0x81, 0x81, 0xc1, 0x00, 0x00, 0x7f,
- 0xff, 0xff, 0xff, 0xe3, 0xc1, 0x81, 0x81, 0xc1, 0xe3, 0xff, 0xff, 0xff, 0xff, 0x3c, 0x00, 0x00,
- 0xff, 0xff, 0xff, 0xff, 0xff, 0x03, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff,
- 0x03, 0x01, 0x01, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff,
- 0xcd, 0x8c, 0x8c, 0x8c, 0x8d, 0xcf, 0xcf, 0xcf, 0xcf, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07,
- 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03,
- 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x03, 0x03, 0x00, 0x00, 0x00,
- 0x00, 0x01, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x03,
- 0x07, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
-static const char PROGMEM layer_zero[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0,
- 0xfc, 0x0e, 0x07, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
-
-static const char PROGMEM layer_one[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f,
- 0x3f, 0x70, 0xe0, 0xc0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03,
- 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
-
-static const char PROGMEM layer_two[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xc0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80,
- 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0xc0, 0xc0, 0xe0, 0x70, 0x38, 0x1f, 0x07,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
-
-static const char PROGMEM layer_three[] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x18, 0x30, 0x60, 0xe0, 0xc0, 0x80,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0,
- 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc0, 0xc8, 0xf8, 0xf0, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x0f, 0x0f, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03,
- 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x03, 0x07, 0x0e, 0xfc, 0xf0,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0xf0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0xc0, 0x80, 0x00,
- 0xf0, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xf0, 0x60,
- 0xe0, 0xc0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x70, 0xe0, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0c, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x01, 0x03, 0x07,
- 0x07, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x0f, 0x00,
- 0x00, 0x01, 0x03, 0x07, 0x06, 0x0c, 0x0c, 0x0c, 0x0c, 0x07, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-// clang-format on
-#endif
diff --git a/keyboards/boardwalk/keymaps/via/keymap.c b/keyboards/boardwalk/keymaps/via/keymap.c
deleted file mode 100644
index 14526fe50f64..000000000000
--- a/keyboards/boardwalk/keymaps/via/keymap.c
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Layer shorthand
-enum layer_names {
- _BASE,
- _FN,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base Layer
- * .-----------------------------------------------------------------------------------------------------------------------------.
- * | ESC | 1 | 2 | 3 | 4 | 5 | - | = | 6 | 7 | 8 | 9 | 0 | BACKSP |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
- * | TAB | Q | W | E | R | T | [ | ] | Y | U | I | O | P | ' |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
- * | CAP LK | A | S | D | F | G | HOME | PG UP | H | J | K | L | ; | ENTER |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
- * | LSHIFT | Z | X | C | V | B | END | PG DN | N | M | , | . | / | RSHIFT |
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
- * | LCTRL | LGUI | FN | LALT | SPACE | SPACE | SPACE | SPACE | SPACE | LEFT | DOWN | UP | RIGHT | RCTRL |
- * '-----------------------------------------------------------------------------------------------------------------------------'
- */
- [_BASE] = LAYOUT_ortho_5x14(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_QUOT,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_HOME, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_END, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, MO(_FN), KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_RCTL
- ),
-
- /* Function Layer
- * .-----------------------------------------------------------------------------------------------------------------------------.
- * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | DEL |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
- * | | | MENU | | | | | | | | | | PRT SC | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
- * | | | | | | | | | | | | | | QK_BOOT |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
- * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | |
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
- * | | | | | | | | | | | | | | |
- * '-----------------------------------------------------------------------------------------------------------------------------'
- */
- [_FN] = LAYOUT_ortho_5x14(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Empty Layer
- * .-----------------------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
- * | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
- * | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
- * | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
- * | | | | | | | | | | | | | | |
- * '-----------------------------------------------------------------------------------------------------------------------------'
- */
- [2] = LAYOUT_ortho_5x14(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* Empty Layer
- * .-----------------------------------------------------------------------------------------------------------------------------.
- * | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------|
- * | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+--------|
- * | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+--------|
- * | | | | | | | | | | | | | | |
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+--------|
- * | | | | | | | | | | | | | | |
- * '-----------------------------------------------------------------------------------------------------------------------------'
- */
- [3] = LAYOUT_ortho_5x14(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/boardwalk/keymaps/via/rules.mk b/keyboards/boardwalk/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/boardwalk/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/bobpad/keymaps/via/keymap.c b/keyboards/bobpad/keymaps/via/keymap.c
deleted file mode 100644
index 61292299036a..000000000000
--- a/keyboards/bobpad/keymaps/via/keymap.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/* Copyright 2021 Ananya Kirti
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-
-#include QMK_KEYBOARD_H
-
-
-bool is_alt_tab_active = false;
-uint16_t alt_tab_timer = 0;
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_2x3(
- KC_MEDIA_STOP, KC_MEDIA_PLAY_PAUSE, KC_MUTE,
- KC_MEDIA_REWIND, KC_MEDIA_FAST_FORWARD, KC_PGDN
- ),
- [1] = LAYOUT_ortho_2x3(
- _______, _______, _______,
- _______, _______, _______
- ),
- [2] = LAYOUT_ortho_2x3(
- _______, _______, _______,
- _______, _______, _______
- ),
- [3] = LAYOUT_ortho_2x3(
- _______, _______, _______,
- _______, _______, _______
- ),
-};
-
-
-
-// D4 D0
-// C6 E6 D7
-
-void matrix_scan_user(void) {
- gpio_write_pin(C6, layer_state_is(1));
- gpio_write_pin(E6, layer_state_is(2));
- gpio_write_pin(D7, layer_state_is(3));
- gpio_write_pin(D4, layer_state_is(4));
- gpio_write_pin(D0, layer_state_is(5));
- if (is_alt_tab_active) {
- if (timer_elapsed(alt_tab_timer) > 1000) {
- unregister_code(KC_LWIN);
- is_alt_tab_active = false;
- }
- }
-}
-
-bool led_update_user(led_t led_state) {
- return false;
-};
-
-
-
-bool encoder_update_user(uint8_t index, bool clockwise) {
- if(IS_LAYER_ON(1)) { // on 1st layer
- if (clockwise) {
- if (!is_alt_tab_active) {
- is_alt_tab_active = true;
- register_code(KC_LWIN);
- }
- alt_tab_timer = timer_read();
- tap_code16(KC_TAB);
- } else {
- alt_tab_timer = timer_read();
- tap_code16(S(KC_TAB));
- }
- }
- // 2nd layer
- else if(IS_LAYER_ON(2)) {
- if (clockwise) {
- tap_code(KC_DOWN);
- } else {
- tap_code(KC_UP);
- }
- }
- else if(IS_LAYER_ON(3)) {
- if (clockwise) {
- tap_code(KC_BRIU);
- } else {
- tap_code(KC_BRID);
- }
- }
- // default layer
- else if(IS_LAYER_ON(0)) {
- if (clockwise) {
- tap_code(KC_VOLU);
- } else {
- tap_code(KC_VOLD);
- }
- }
- return false;
-}
diff --git a/keyboards/bobpad/keymaps/via/rules.mk b/keyboards/bobpad/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bobpad/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bolsa/bolsalice/keymaps/via/keymap.c b/keyboards/bolsa/bolsalice/keymaps/via/keymap.c
deleted file mode 100644
index 184d94a2cdfe..000000000000
--- a/keyboards/bolsa/bolsalice/keymaps/via/keymap.c
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2022 CMM.Studio Freather
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_alice(
- KC_INS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL
- ),
-
- [1] = LAYOUT_alice(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT_alice(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_alice(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/bolsa/bolsalice/keymaps/via/rules.mk b/keyboards/bolsa/bolsalice/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bolsa/bolsalice/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bolsa/damapad/keymaps/via/keymap.c b/keyboards/bolsa/damapad/keymaps/via/keymap.c
deleted file mode 100644
index 18ae31520780..000000000000
--- a/keyboards/bolsa/damapad/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright 2021 Matthew Dias
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_wkl(
- KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, KC_MSEL, KC_MUTE,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PGUP,
- KC_NO, KC_COPY, KC_PASTE, KC_PGDN
- ),
-
- [1] = LAYOUT_wkl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_wkl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_wkl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
-
diff --git a/keyboards/bolsa/damapad/keymaps/via/rules.mk b/keyboards/bolsa/damapad/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bolsa/damapad/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bop/keymaps/via/keymap.c b/keyboards/bop/keymaps/via/keymap.c
deleted file mode 100644
index 2879fb9654ab..000000000000
--- a/keyboards/bop/keymaps/via/keymap.c
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Copyright 2021 Nathan Blais
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* For build guide: go to https://github.com/blewis308/BOP-Keyboard
- * ,-----------------------------------------------------------------------------------------------------------------------.
- * | F1 | F5 | F9 | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | _ | + | del | { | } | | |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | F2 | F6 | F10 | esc | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |bkspc| home| end |pg up|
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | F3 | F7 | F11 | tab | q | w | e | r | t | y | u | i | o | p | [ | ] | \ | : | " |pg dn|
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | F4 | F8 | F12 |caplk| a | s | d | f | g | h | j | k | l | ; | ' |enter| | 7 | 8 | 9 |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----| 0 |-----+-----+-----|
- * |ptscr|scrlk|psbrk|shift| z | x | c | v | b | n | m | < | > | ? |shift| up | | 4 | 5 | 6 |
- * |-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----|
- * | cut | copy|paste|Lctrl|L gui|L alt| space |MO(1)| space | , | . | / | left| down|right| 1 | 2 | 3 |
- * `-----------------------------------------------------------------------------------------------------------------------'
- *
- * Notes: spaces and numpad 0 can be 1u instead of 2u also, this is already reflected in the keymap below
- */
- /* SUDSACK KEYMAP
- KC_PSCR, KC_SCRL, KC_PAUS, KC_INS , KC_CALC, KC_CUT , KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_HOME,
- KC_NUM , KC_PSLS, KC_PAST, KC_PMNS, KC_COPY, KC_PSTE, KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_UNDS, KC_BSLS, KC_PGUP,
- KC_P7 , KC_P8 , KC_P9 , KC_PPLS, KC_LBRC, KC_RBRC, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_BSPC, KC_DEL , KC_PGDN,
- KC_P4 , KC_P5 , KC_P6 , KC_PPLS, KC_VOLD, KC_VOLU, KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , LCTL(KC_TAB),
- KC_P1 , KC_P2 , KC_P3 , KC_PENT, KC_MUTE, KC_MPLY, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_RGUI ,
- KC_P0 , KC_P0 , KC_PDOT, KC_MPRV, KC_MNXT, KC_LCTL, KC_LGUI, KC_LALT, XXXXXXX, KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_SPC , KC_RALT, XXXXXXX, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT )
- */
- [0] = LAYOUT(
- KC_F1, KC_F5, KC_F9, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_UNDS, KC_PLUS, KC_DEL, KC_LCBR, KC_RCBR, KC_PIPE,
- KC_F2, KC_F6, KC_F10, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_PMNS, KC_PEQL, KC_BSPC, KC_HOME, KC_END, KC_PGUP,
- KC_F3, KC_F7, KC_F11, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_COLN, KC_DQUO, KC_PGDN,
- KC_F4, KC_F8, KC_F12, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_KP_0, KC_KP_7, KC_KP_8, KC_KP_9,
- KC_PSCR, KC_SCRL, KC_PAUS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_LABK, KC_RABK, KC_QUES, KC_RSFT, KC_UP, KC_KP_0, KC_KP_4, KC_KP_5, KC_KP_6,
- KC_CUT, KC_COPY, KC_PSTE, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, MO(1) , KC_SPC, KC_SPC, KC_PCMM, KC_PDOT, KC_SLSH, KC_LEFT, KC_DOWN, KC_RGHT, KC_KP_1, KC_KP_2, KC_KP_3),
-
- [1] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
-
- [2] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
-
- [3] = LAYOUT(
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO),
-};
diff --git a/keyboards/bop/keymaps/via/rules.mk b/keyboards/bop/keymaps/via/rules.mk
deleted file mode 100644
index 61e4c8383e4d..000000000000
--- a/keyboards/bop/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/boston/keymaps/default/keymap.c b/keyboards/boston/keymaps/default/keymap.c
index f30d472bde98..18173e66f87d 100644
--- a/keyboards/boston/keymaps/default/keymap.c
+++ b/keyboards/boston/keymaps/default/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MUTE, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_MPRV, KC_MPLY, KC_MNXT , KC_INS , KC_HOME, KC_PGUP,
KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUSE, KC_DEL , KC_END , KC_PGDN,
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_CALC, KC_NUM , KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, RGB_TOG, KC_P7 , KC_P8 , KC_P9 , KC_PEQL,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, UG_TOGG, KC_P7 , KC_P8 , KC_P9 , KC_PEQL,
KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_ENT , KC_MSEL, KC_P4 , KC_P5 , KC_P6 , KC_PPLS,
KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1 , KC_P2 , KC_P3 , KC_PENT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_APP , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_P0 , KC_PDOT
diff --git a/keyboards/boston/keymaps/default_ansi/keymap.c b/keyboards/boston/keymaps/default_ansi/keymap.c
index 9e05431736a4..96d207d56913 100644
--- a/keyboards/boston/keymaps/default_ansi/keymap.c
+++ b/keyboards/boston/keymaps/default_ansi/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MUTE, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MPRV, KC_MPLY, KC_MNXT, KC_INS, KC_HOME, KC_PGUP,
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL, KC_END, KC_PGDN,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_CALC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, RGB_TOG, KC_P7, KC_P8, KC_P9, KC_PEQL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, UG_TOGG, KC_P7, KC_P8, KC_P9, KC_PEQL,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MSEL, KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_P0, KC_PDOT
diff --git a/keyboards/boston/keymaps/default_iso/keymap.c b/keyboards/boston/keymaps/default_iso/keymap.c
index c4a7a4c2a4e1..f2d5170f3810 100644
--- a/keyboards/boston/keymaps/default_iso/keymap.c
+++ b/keyboards/boston/keymaps/default_iso/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MUTE, KC_F13, KC_F14, KC_F15, KC_F16, KC_F17, KC_F18, KC_F19, KC_F20, KC_F21, KC_F22, KC_F23, KC_F24, KC_MPRV, KC_MPLY, KC_MNXT, KC_INS, KC_HOME, KC_PGUP,
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL, KC_END, KC_PGDN,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_CALC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, RGB_TOG, KC_P7, KC_P8, KC_P9, KC_PEQL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, UG_TOGG, KC_P7, KC_P8, KC_P9, KC_PEQL,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_MSEL, KC_P4, KC_P5, KC_P6, KC_PPLS,
KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_P0, KC_PDOT
diff --git a/keyboards/boston/keymaps/rgb-light-layers/keymap.c b/keyboards/boston/keymaps/rgb-light-layers/keymap.c
index f8f1269c428f..aa40df0531bc 100644
--- a/keyboards/boston/keymaps/rgb-light-layers/keymap.c
+++ b/keyboards/boston/keymaps/rgb-light-layers/keymap.c
@@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_MUTE, KC_F13 , KC_F14 , KC_F15 , KC_F16 , KC_F17 , KC_F18 , KC_F19 , KC_F20 , KC_F21 , KC_F22 , KC_F23 , KC_F24 , KC_MPRV, KC_MPLY, KC_MNXT , KC_INS , KC_HOME, KC_PGUP,
KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_SCRL, KC_PAUSE, KC_DEL , KC_END , KC_PGDN,
KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC, KC_CALC, KC_NUM , KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, RGB_TOG, KC_P7 , KC_P8 , KC_P9 , KC_PEQL,
+ KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, UG_TOGG, KC_P7 , KC_P8 , KC_P9 , KC_PEQL,
KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_ENT , KC_MSEL, KC_P4 , KC_P5 , KC_P6 , KC_PPLS,
KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_P1 , KC_P2 , KC_P3 , KC_PENT,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_SPC , KC_SPC , KC_RALT, KC_APP , KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0 , KC_P0 , KC_PDOT
diff --git a/keyboards/boston_meetup/2019/config.h b/keyboards/boston_meetup/2019/config.h
index a7dd952cd6a5..d5a476d99918 100644
--- a/keyboards/boston_meetup/2019/config.h
+++ b/keyboards/boston_meetup/2019/config.h
@@ -85,6 +85,4 @@
#define DRV2605L_ZC_DET_TIME 0
#define DRV2605L_AUTO_CAL_TIME 3
-#define RGB_MATRIX_LED_COUNT 10
-
#define SOLENOID_PIN A14
diff --git a/keyboards/boston_meetup/2019/keymaps/default/keymap.c b/keyboards/boston_meetup/2019/keymaps/default/keymap.c
index b4d728064024..ea6555663669 100644
--- a/keyboards/boston_meetup/2019/keymaps/default/keymap.c
+++ b/keyboards/boston_meetup/2019/keymaps/default/keymap.c
@@ -78,9 +78,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[_RAISE] = LAYOUT(
KC_NUM,
- RGB_TOG, RGB_MOD, RGB_RMOD, XXXXXXX,
- _______, RGB_HUI, RGB_SAI, RGB_VAI,
- _______, RGB_HUD, RGB_SAD, RGB_VAD
+ RM_TOGG, RM_NEXT, RM_PREV, XXXXXXX,
+ _______, RM_HUEU, RM_SATU, RM_VALU,
+ _______, RM_HUED, RM_SATD, RM_VALD
),
diff --git a/keyboards/botanicalkeyboards/fm2u/keymaps/via/keymap.c b/keyboards/botanicalkeyboards/fm2u/keymaps/via/keymap.c
deleted file mode 100644
index 2adc87a13bef..000000000000
--- a/keyboards/botanicalkeyboards/fm2u/keymaps/via/keymap.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/* Copyright 2020 mechmerlin
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [0] = LAYOUT_2u(
- KC_B
- ),
-
- [1] = LAYOUT_2u(
- KC_TRNS
- ),
-
- [2] = LAYOUT_2u(
- KC_TRNS
- ),
-
- [3] = LAYOUT_2u(
- KC_TRNS
- )
-};
diff --git a/keyboards/botanicalkeyboards/fm2u/keymaps/via/rules.mk b/keyboards/botanicalkeyboards/fm2u/keymaps/via/rules.mk
deleted file mode 100644
index 44a2bc49cc51..000000000000
--- a/keyboards/botanicalkeyboards/fm2u/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
-CONSOLE_ENABLE = no
diff --git a/keyboards/box75/keymaps/via/keymap.c b/keyboards/box75/keymaps/via/keymap.c
deleted file mode 100755
index 0c8a67b04479..000000000000
--- a/keyboards/box75/keymaps/via/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC , KC_F1 , KC_F2 , KC_F3 , KC_F4 , KC_F5 , KC_F6 , KC_F7 , KC_F8 , KC_F9 , KC_F10 , KC_F11 , KC_F12 , KC_PSCR, KC_DEL ,
- KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_BSPC,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_HOME, KC_PGDN,
- KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_END ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______ ),
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______ )
-};
diff --git a/keyboards/box75/keymaps/via/rules.mk b/keyboards/box75/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/box75/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bpiphany/frosty_flake/keymaps/via/keymap.c b/keyboards/bpiphany/frosty_flake/keymaps/via/keymap.c
deleted file mode 100644
index 12d924238700..000000000000
--- a/keyboards/bpiphany/frosty_flake/keymaps/via/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
- /* Copyright 2021 Chance Monnette
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_tkl(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT,
- KC_LSFT,KC_NUBS,KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT ),
-
-[1] = LAYOUT_tkl(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______,
- _______,_______,_______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______,
- _______,_______,_______, _______, _______, _______ , _______, _______, _______, _______, _______
- ),
-
-[2] = LAYOUT_tkl(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______,_______, _______,
- _______,_______,_______, _______, _______, _______, _______, _______, _______, _______,_______, _______, _______, _______,
- _______,_______,_______, _______, _______, _______ , _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/bpiphany/frosty_flake/keymaps/via/rules.mk b/keyboards/bpiphany/frosty_flake/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/bpiphany/frosty_flake/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/bpiphany/pegasushoof/keymaps/via/keymap.c b/keyboards/bpiphany/pegasushoof/keymaps/via/keymap.c
deleted file mode 100644
index 74d46aa20977..000000000000
--- a/keyboards/bpiphany/pegasushoof/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*!
- * Copyright 2016 Daniel Svensson
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum custom_layers {
- KM_QWERTY,
- KM_MEDIA,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Layer 0: Standard ISO layer */
- [KM_QWERTY] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_MENU, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- /* Layer 1: Function layer */
- [KM_MEDIA] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WAKE, KC_PWR, KC_SLEP,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_VOLD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MPLY,
- _______, _______, _______, _______, _______, _______, QK_BOOT, _______, KC_MPRV, KC_MSTP, KC_MNXT
- )
-};
diff --git a/keyboards/bpiphany/pegasushoof/keymaps/via/rules.mk b/keyboards/bpiphany/pegasushoof/keymaps/via/rules.mk
deleted file mode 100644
index 137260ef203b..000000000000
--- a/keyboards/bpiphany/pegasushoof/keymaps/via/rules.mk
+++ /dev/null
@@ -1,9 +0,0 @@
-# Build Options
-# change to "no" to disable the options, or define them in the Makefile in
-# the appropriate keymap folder that will get included automatically
-#
-MOUSEKEY_ENABLE = no # Mouse keys
-CONSOLE_ENABLE = no # Console for debug
-COMMAND_ENABLE = no # Commands for debug and configuration
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/bpiphany/tiger_lily/keymaps/via/config.h b/keyboards/bpiphany/tiger_lily/keymaps/via/config.h
deleted file mode 100644
index 356dc9fdb488..000000000000
--- a/keyboards/bpiphany/tiger_lily/keymaps/via/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 Fehmer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#pragma once
-
-#define DYNAMIC_KEYMAP_LAYER_COUNT 3
\ No newline at end of file
diff --git a/keyboards/bpiphany/tiger_lily/keymaps/via/keymap.c b/keyboards/bpiphany/tiger_lily/keymaps/via/keymap.c
deleted file mode 100644
index 016965a2f471..000000000000
--- a/keyboards/bpiphany/tiger_lily/keymaps/via/keymap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Copyright 2021 Fehmer
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR,KC_SCRL,KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,KC_MINS, KC_EQL,KC_BSPC, KC_INS,KC_HOME,KC_PGUP, KC_NUM,KC_PSLS,KC_PAST,KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,KC_LBRC,KC_RBRC,KC_BSLS, KC_DEL, KC_END,KC_PGDN, KC_P7, KC_P8, KC_P9,KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L,KC_SCLN,KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6,
- KC_LSFT,KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M,KC_COMM, KC_DOT,KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3,KC_PENT,
- KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,KC_RGUI, KC_APP,KC_RCTL, KC_LEFT,KC_DOWN,KC_RGHT, KC_P0,KC_PDOT),
-[1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS),
-[2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS,
- KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS,KC_TRNS, KC_TRNS,KC_TRNS)
-};
\ No newline at end of file
diff --git a/keyboards/bpiphany/tiger_lily/keymaps/via/rules.mk b/keyboards/bpiphany/tiger_lily/keymaps/via/rules.mk
deleted file mode 100644
index a0b328e065f6..000000000000
--- a/keyboards/bpiphany/tiger_lily/keymaps/via/rules.mk
+++ /dev/null
@@ -1,10 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-MOUSEKEY_ENABLE = yes
-EXTRAKEY_ENABLE = yes
-CONSOLE_ENABLE = no
-COMMAND_ENABLE = yes
-NKRO_ENABLE = yes
-BACKLIGHT_ENABLE = no
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = no
diff --git a/keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c b/keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c
deleted file mode 100644
index 0b73184e01e0..000000000000
--- a/keyboards/bredworks/wyvern_hs/keymaps/via/keymap.c
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Copyright 2023 DeskDaily
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_PPLS, KC_P7, KC_P8, KC_P9, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_PPLS, KC_P4, KC_P5, KC_P6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_ENT, KC_P1, KC_P2, KC_P3, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
- KC_DEL, KC_P0, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_BSPC
- ),
- [1] = LAYOUT_all(
- _______, _______, _______, _______, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
\ No newline at end of file
diff --git a/keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk b/keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/bredworks/wyvern_hs/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/bschwind/key_ripper/keymaps/via/keymap.c b/keyboards/bschwind/key_ripper/keymaps/via/keymap.c
deleted file mode 100644
index 3a8107ad67ac..000000000000
--- a/keyboards/bschwind/key_ripper/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
-Copyright 2023 bschwind
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_UP,
- MO(1), KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/bschwind/key_ripper/keymaps/via/rules.mk b/keyboards/bschwind/key_ripper/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bschwind/key_ripper/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bt66tech/bt66tech60/keymaps/via/keymap.c b/keyboards/bt66tech/bt66tech60/keymaps/via/keymap.c
deleted file mode 100644
index 397bf2c06360..000000000000
--- a/keyboards/bt66tech/bt66tech60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/* Copyright 2020 bt66tech
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-// enum layer_names {
-// _BASE,
-// _FN,
-// _FN1
-// };
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
-
-[0] = LAYOUT_60_ansi(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, MO(1)
- ),
-
- [1] = LAYOUT_60_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_MS_ACCEL0, KC_MS_BTN1, KC_MS_UP, KC_MS_BTN2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_MS_ACCEL1, KC_MS_LEFT, KC_MS_DOWN,KC_MS_RIGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_MS_ACCEL2, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_UP, MO(2),
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS
- ),
-
- [2] = LAYOUT_60_ansi(
- BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN, BL_UP, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
diff --git a/keyboards/bt66tech/bt66tech60/keymaps/via/rules.mk b/keyboards/bt66tech/bt66tech60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/bt66tech/bt66tech60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/bubble75/hotswap/keymaps/default/keymap.c b/keyboards/bubble75/hotswap/keymaps/default/keymap.c
index 7ce1f6bf91c6..1f878ebe32eb 100644
--- a/keyboards/bubble75/hotswap/keymaps/default/keymap.c
+++ b/keyboards/bubble75/hotswap/keymaps/default/keymap.c
@@ -15,11 +15,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT(
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_HUD,
- _______, _______, _______, RGB_MOD, RGB_TOG, _______, RGB_SPD, RGB_VAD, RGB_SPI),
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SATU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUEU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU, RM_HUED,
+ _______, _______, _______, RM_NEXT, RM_TOGG, _______, RM_SPDD, RM_VALD, RM_SPDU),
[2] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/bubble75/hotswap/keymaps/via/keymap.c b/keyboards/bubble75/hotswap/keymaps/via/keymap.c
deleted file mode 100644
index 7ce1f6bf91c6..000000000000
--- a/keyboards/bubble75/hotswap/keymaps/via/keymap.c
+++ /dev/null
@@ -1,40 +0,0 @@
-// Copyright 2022 Velocifire
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_DEL,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
-
- [1] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI, RGB_HUD,
- _______, _______, _______, RGB_MOD, RGB_TOG, _______, RGB_SPD, RGB_VAD, RGB_SPI),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______)
-
-};
diff --git a/keyboards/bubble75/hotswap/keymaps/via/rules.mk b/keyboards/bubble75/hotswap/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/bubble75/hotswap/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/budgy/keyboard.json b/keyboards/budgy/keyboard.json
index 645336e8ad97..0dc45c9da000 100644
--- a/keyboards/budgy/keyboard.json
+++ b/keyboards/budgy/keyboard.json
@@ -37,6 +37,9 @@
["GP18", "GP17", null, null, null]
]
}
+ },
+ "serial": {
+ "driver": "vendor"
}
},
"community_layouts": ["split_3x5_2"],
diff --git a/keyboards/budgy/rules.mk b/keyboards/budgy/rules.mk
deleted file mode 100644
index 161ec22b16e2..000000000000
--- a/keyboards/budgy/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/buildakb/mw60/keyboard.json b/keyboards/buildakb/mw60/keyboard.json
index 9a8b7955a85b..9969768345be 100644
--- a/keyboards/buildakb/mw60/keyboard.json
+++ b/keyboards/buildakb/mw60/keyboard.json
@@ -23,7 +23,24 @@
"pid": "0x0004",
"vid": "0x4A56"
},
- "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_ansi_wkl",
+ "60_ansi_wkl_split_bs_rshift",
+ "60_hhkb",
+ "60_iso",
+ "60_iso_split_bs_rshift",
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift",
+ "60_iso_wkl",
+ "60_iso_wkl_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -805,7 +822,7 @@
{"label": "k413", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "k000", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "k001", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/buildakb/mw60/keymaps/via/keymap.c b/keyboards/buildakb/mw60/keymaps/via/keymap.c
deleted file mode 100644
index 4ad7d753ea5e..000000000000
--- a/keyboards/buildakb/mw60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2023 Maelkk
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL),
- [1] = LAYOUT_all(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-};
diff --git a/keyboards/buildakb/mw60/keymaps/via/rules.mk b/keyboards/buildakb/mw60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/buildakb/mw60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/buildakb/potato65/keymaps/default/keymap.c b/keyboards/buildakb/potato65/keymaps/default/keymap.c
index 6ee7a2cb3d8a..23fea829f542 100644
--- a/keyboards/buildakb/potato65/keymaps/default/keymap.c
+++ b/keyboards/buildakb/potato65/keymaps/default/keymap.c
@@ -30,9 +30,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_65_ansi_split_bs(
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_TOGG, UG_NEXT, UG_PREV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_HUEU, UG_SATU, UG_VALU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_HUED, UG_SATD, UG_VALD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/buildakb/potato65/keymaps/via/keymap.c b/keyboards/buildakb/potato65/keymaps/via/keymap.c
deleted file mode 100644
index 30df13dbc968..000000000000
--- a/keyboards/buildakb/potato65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2021 Maelkk
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_65_ansi_split_bs(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FN1] = LAYOUT_65_ansi_split_bs(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, RGB_TOG, RGB_MOD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_FN2] = LAYOUT_65_ansi_split_bs(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_FN3] = LAYOUT_65_ansi_split_bs(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/buildakb/potato65/keymaps/via/rules.mk b/keyboards/buildakb/potato65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/buildakb/potato65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/buildakb/potato65hs/keymaps/default/keymap.c b/keyboards/buildakb/potato65hs/keymaps/default/keymap.c
index 33e6d148373d..56f655447ecd 100644
--- a/keyboards/buildakb/potato65hs/keymaps/default/keymap.c
+++ b/keyboards/buildakb/potato65hs/keymaps/default/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_65_ansi_blocker(
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_TRNS,
+ KC_TRNS, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/buildakb/potato65hs/keymaps/via/keymap.c b/keyboards/buildakb/potato65hs/keymaps/via/keymap.c
deleted file mode 100644
index 298723785cf6..000000000000
--- a/keyboards/buildakb/potato65hs/keymaps/via/keymap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2021 Maelkk
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_65_ansi_blocker(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FN1] = LAYOUT_65_ansi_blocker(
- KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
- ),
- [_FN2] = LAYOUT_65_ansi_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_FN3] = LAYOUT_65_ansi_blocker(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
\ No newline at end of file
diff --git a/keyboards/buildakb/potato65hs/keymaps/via/rules.mk b/keyboards/buildakb/potato65hs/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/buildakb/potato65hs/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/buildakb/potato65s/keymaps/default/keymap.c b/keyboards/buildakb/potato65s/keymaps/default/keymap.c
index b792c1f89018..a184238bab53 100644
--- a/keyboards/buildakb/potato65s/keymaps/default/keymap.c
+++ b/keyboards/buildakb/potato65s/keymaps/default/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN] = LAYOUT_65_ansi_blocker_split_bs(
KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_TRNS,
+ KC_TRNS, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
diff --git a/keyboards/buildakb/potato65s/keymaps/via/keymap.c b/keyboards/buildakb/potato65s/keymaps/via/keymap.c
deleted file mode 100644
index 3a74a88d1534..000000000000
--- a/keyboards/buildakb/potato65s/keymaps/via/keymap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2021 Maelkk
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_65_ansi_blocker_split_bs(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_FN1] = LAYOUT_65_ansi_blocker_split_bs(
- KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_MUTE,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
- ),
- [_FN2] = LAYOUT_65_ansi_blocker_split_bs(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_FN3] = LAYOUT_65_ansi_blocker_split_bs(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
\ No newline at end of file
diff --git a/keyboards/buildakb/potato65s/keymaps/via/rules.mk b/keyboards/buildakb/potato65s/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/buildakb/potato65s/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/buzzard/rev1/keyboard.json b/keyboards/buzzard/rev1/keyboard.json
index dd17a82754ba..41c85de0fc31 100644
--- a/keyboards/buzzard/rev1/keyboard.json
+++ b/keyboards/buzzard/rev1/keyboard.json
@@ -30,7 +30,9 @@
"diode_direction": "COL2ROW",
"split": {
"enabled": true,
- "soft_serial_pin": "D2",
+ "serial": {
+ "pin": "D2"
+ },
"transport": {
"sync": {
"oled": true
diff --git a/keyboards/cablecardesigns/cypher/rev6/keymaps/default/keymap.c b/keyboards/cablecardesigns/cypher/rev6/keymaps/default/keymap.c
index 6cda88cbe832..e0db81551c63 100644
--- a/keyboards/cablecardesigns/cypher/rev6/keymaps/default/keymap.c
+++ b/keyboards/cablecardesigns/cypher/rev6/keymaps/default/keymap.c
@@ -54,8 +54,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_F1] = LAYOUT_all( /* Function Layer */
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, _______, _______, _______,
_______, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/cablecardesigns/cypher/rev6/keymaps/default_ansi/keymap.c b/keyboards/cablecardesigns/cypher/rev6/keymaps/default_ansi/keymap.c
index 9ca75c78c790..5816d5692980 100644
--- a/keyboards/cablecardesigns/cypher/rev6/keymaps/default_ansi/keymap.c
+++ b/keyboards/cablecardesigns/cypher/rev6/keymaps/default_ansi/keymap.c
@@ -54,8 +54,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_F1] = LAYOUT_ansi( /* Function Layer */
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
_______, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/cablecardesigns/cypher/rev6/keymaps/default_iso/keymap.c b/keyboards/cablecardesigns/cypher/rev6/keymaps/default_iso/keymap.c
index 00f5679701a3..2966638bab35 100644
--- a/keyboards/cablecardesigns/cypher/rev6/keymaps/default_iso/keymap.c
+++ b/keyboards/cablecardesigns/cypher/rev6/keymaps/default_iso/keymap.c
@@ -54,8 +54,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_F1] = LAYOUT_iso( /* Function Layer */
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
_______, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/cablecardesigns/cypher/rev6/keymaps/via/config.h b/keyboards/cablecardesigns/cypher/rev6/keymaps/via/config.h
deleted file mode 100644
index eda93545b41c..000000000000
--- a/keyboards/cablecardesigns/cypher/rev6/keymaps/via/config.h
+++ /dev/null
@@ -1,7 +0,0 @@
-// Copyright 2022 Cable Car Designs (@westfoxtrot)
-// SPDX-License-Identifier: GPL-2.0-or-later
-#pragma once
-
-#define RGBLIGHT_LAYERS
-#define RGBLIGHT_LAYERS_OVERRIDE_RGB_OFF
-#define RGBLIGHT_DEFAULT_VAL 0
\ No newline at end of file
diff --git a/keyboards/cablecardesigns/cypher/rev6/keymaps/via/keymap.c b/keyboards/cablecardesigns/cypher/rev6/keymaps/via/keymap.c
deleted file mode 100644
index ad849764d9f9..000000000000
--- a/keyboards/cablecardesigns/cypher/rev6/keymaps/via/keymap.c
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright 2022 Cable Car Designs (@westfoxtrot)
-// SPDX-License-Identifier: GPL-2.0-or-later
-/* VIA Layout > http://www.keyboard-layout-editor.com/#/gists/0e8d4957e77f3179aa09bd6e195f7afa */
-
-#include QMK_KEYBOARD_H
-
-const rgblight_segment_t PROGMEM my_capslock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {1, 1, HSV_GREEN}
-);
-
-const rgblight_segment_t PROGMEM my_numlock_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {2, 1, HSV_BLUE}
-);
-
-const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 1, HSV_RED}
-);
-
-const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- my_capslock_layer,
- my_numlock_layer,
- my_layer1_layer
-);
-
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = my_rgb_layers;
-}
-
-bool led_update_user(led_t led_state) {
- rgblight_set_layer_state(0, led_state.caps_lock);
- rgblight_set_layer_state(1, led_state.num_lock);
- return true;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(2, layer_state_cmp(state, 1));
- return state;
-}
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PEQL,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_BSPC
- ),
-
- [1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______, _______, _______, _______,
- _______, BL_TOGG, BL_STEP, BL_ON, BL_OFF, BL_UP, BL_DOWN, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/cablecardesigns/cypher/rev6/keymaps/via/rules.mk b/keyboards/cablecardesigns/cypher/rev6/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/cablecardesigns/cypher/rev6/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/cablecardesigns/phoenix/keymaps/via/keymap.c b/keyboards/cablecardesigns/phoenix/keymaps/via/keymap.c
deleted file mode 100644
index e008bee3b1d6..000000000000
--- a/keyboards/cablecardesigns/phoenix/keymaps/via/keymap.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2023 Yiancar-Designs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_all( /* Base */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT)
-};
diff --git a/keyboards/cablecardesigns/phoenix/keymaps/via/rules.mk b/keyboards/cablecardesigns/phoenix/keymaps/via/rules.mk
deleted file mode 100755
index 1e5b99807cb7..000000000000
--- a/keyboards/cablecardesigns/phoenix/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/caffeinated/serpent65/keymaps/via/keymap.c b/keyboards/caffeinated/serpent65/keymaps/via/keymap.c
deleted file mode 100644
index db5cc8fdd53b..000000000000
--- a/keyboards/caffeinated/serpent65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* Copyright 2021 jrfhoutx
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap BASE: (Base Layer) Default Layer
- * .---------------------------------------------------------------------.
- * |Esc | 1 | 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =| ~ | \ | Ins |
- * |---------------------------------------------------------------------|
- * |Tab | Q| W| E| R| T| Y| U| I| O| P| [ | ] | BkSpc | Del |
- * |---------------------------------------------------------------------|
- * |CAPS | A| S| D| F| G| H| J| K| L| ;| '| Return | PgUp|
- * |---------------------------------------------------------------------|
- * |Shift | Z| X| C| V| B| N| M| ,| .| /| Shift | Up | |
- * |---------------------------------------------------------------------|
- * | LCtrl | GUI | Alt | Space | Alt | MO(1) | L | Dn | R |
- * `---------------------------------------------------------------------'
- */
-[0] = LAYOUT_all( /* Serpent65 Base */
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_TRNS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
-[1] = LAYOUT_all( /* Serpent65 Base */
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-[2] = LAYOUT_all( /* Serpent65 Base */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-[3] = LAYOUT_all( /* Serpent65 Base */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/caffeinated/serpent65/keymaps/via/rules.mk b/keyboards/caffeinated/serpent65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/caffeinated/serpent65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/canary/canary60rgb/keymaps/default/keymap.c b/keyboards/canary/canary60rgb/keymaps/default/keymap.c
index 094595130fa4..f57f83b933f5 100644
--- a/keyboards/canary/canary60rgb/keymaps/default/keymap.c
+++ b/keyboards/canary/canary60rgb/keymaps/default/keymap.c
@@ -32,8 +32,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[2] = LAYOUT(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EE_CLR,
+ _______, RM_TOGG, RM_NEXT, RM_HUEU, RM_HUED, RM_SATU, RM_SATD, RM_VALU, RM_VALD, _______, _______, _______, _______, QK_BOOT,
+ _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDU, RM_SPDD, _______, _______, EE_CLR,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/canary/canary60rgb/keymaps/via/config.h b/keyboards/canary/canary60rgb/keymaps/via/config.h
deleted file mode 100644
index 2546add6da67..000000000000
--- a/keyboards/canary/canary60rgb/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2021 CANARYTEAM
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#undef ENABLE_RGB_MATRIX_PIXEL_FLOW
-#define DYNAMIC_KEYMAP_LAYER_COUNT 5
diff --git a/keyboards/canary/canary60rgb/keymaps/via/keymap.c b/keyboards/canary/canary60rgb/keymaps/via/keymap.c
deleted file mode 100644
index 91de0c734855..000000000000
--- a/keyboards/canary/canary60rgb/keymaps/via/keymap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2021 CANARYTEAM
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
- #include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, KC_CALC, _______, KC_INS, _______, KC_PSCR, KC_SCRL, KC_PAUS, QK_BOOT,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGUP, EE_CLR,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, KC_END, KC_PGDN, KC_VOLU, KC_MUTE,
- _______, _______, TO(3), _______, _______, _______, KC_MPRV, KC_VOLD, KC_MNXT
- ),
- [2] = LAYOUT(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPI, RGB_SPD, _______, _______, EE_CLR,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT(
- KC_NUM, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, _______, _______, _______, _______, KC_PSLS, KC_PAST, KC_PMNS, KC_PPLS, _______,
- _______, KC_P7, KC_P8, KC_P9, _______, _______, _______, _______, KC_P7, KC_P8, KC_P9, _______, _______, TO(0),
- _______, KC_P4, KC_P5, KC_P6, _______, _______, _______, _______, KC_P4, KC_P5, KC_P6, _______, KC_PENT,
- _______, KC_P1, KC_P2, KC_P3, _______, _______, _______, _______, KC_P1, KC_P2, KC_P3, _______, _______,
- _______, KC_P0, KC_PDOT, KC_PENT, KC_P0, KC_PDOT, _______, _______, _______
- ),
- [4] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- CTL_T(KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, RSFT_T(KC_SLSH), KC_UP, LT(2, KC_DEL),
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, TO(0), KC_LEFT, KC_DOWN, KC_RGHT
- )
-};
diff --git a/keyboards/canary/canary60rgb/keymaps/via/rules.mk b/keyboards/canary/canary60rgb/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/canary/canary60rgb/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/cannonkeys/adelie/keymaps/default/keymap.c b/keyboards/cannonkeys/adelie/keymaps/default/keymap.c
index 4e771dca7bf3..16df9d4c30d0 100644
--- a/keyboards/cannonkeys/adelie/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/adelie/keymaps/default/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_all(
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_TRNS, KC_HOME,
- RGB_TOG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TRNS, KC_END,
+ UG_TOGG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TRNS, KC_END,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_TRNS, KC_TRNS, KC_MINS, KC_PLUS, KC_ASTR, KC_TRNS, KC_EQL, KC_INS, KC_PSCR,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
diff --git a/keyboards/cannonkeys/adelie/keymaps/default_rwkl/keymap.c b/keyboards/cannonkeys/adelie/keymaps/default_rwkl/keymap.c
index 5089c8daf3c5..80da251a4639 100644
--- a/keyboards/cannonkeys/adelie/keymaps/default_rwkl/keymap.c
+++ b/keyboards/cannonkeys/adelie/keymaps/default_rwkl/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_rwkl(
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_TRNS, KC_HOME,
- RGB_TOG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TRNS, KC_END,
+ UG_TOGG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TRNS, KC_END,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_TRNS, KC_TRNS, KC_MINS, KC_PLUS, KC_ASTR, KC_TRNS, KC_EQL, KC_INS, KC_PSCR,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
diff --git a/keyboards/cannonkeys/adelie/keymaps/default_wkl/keymap.c b/keyboards/cannonkeys/adelie/keymaps/default_wkl/keymap.c
index 7263066a4ca1..051659130750 100644
--- a/keyboards/cannonkeys/adelie/keymaps/default_wkl/keymap.c
+++ b/keyboards/cannonkeys/adelie/keymaps/default_wkl/keymap.c
@@ -38,7 +38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_wkl(
KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_TRNS, KC_HOME,
- RGB_TOG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TRNS, KC_END,
+ UG_TOGG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TRNS, KC_END,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_TRNS, KC_TRNS, KC_MINS, KC_PLUS, KC_ASTR, KC_TRNS, KC_EQL, KC_INS, KC_PSCR,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
diff --git a/keyboards/cannonkeys/adelie/keymaps/via/keymap.c b/keyboards/cannonkeys/adelie/keymaps/via/keymap.c
deleted file mode 100644
index 4e771dca7bf3..000000000000
--- a/keyboards/cannonkeys/adelie/keymaps/via/keymap.c
+++ /dev/null
@@ -1,96 +0,0 @@
-/* Copyright 2020 Andrew Kannan
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_PGUP,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, TG(_FN3),
- KC_LCTL, KC_LGUI, KC_LALT, MO(_FN1), KC_SPC, KC_RALT, KC_RGUI, MO(_FN2), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- [_FN1] = LAYOUT_all(
- KC_GRV, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_TRNS, KC_TRNS, KC_LPRN, KC_RPRN, KC_TRNS, KC_HOME,
- RGB_TOG, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, KC_TRNS, KC_END,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT, KC_TRNS, KC_TRNS, KC_MINS, KC_PLUS, KC_ASTR, KC_TRNS, KC_EQL, KC_INS, KC_PSCR,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_all(
- KC_PWR, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MPRV, KC_MNXT, KC_DEL, KC_VOLU,
- KC_SLEP, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD,
- KC_WAKE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_MUTE,
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_SPC, KC_TRNS, KC_TRNS, KC_TRNS, MO(_FN1), KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-const rgblight_segment_t PROGMEM my_layer0_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 3, HSV_RED}
-);
-const rgblight_segment_t PROGMEM my_layer1_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 3, HSV_CYAN}
-);
-const rgblight_segment_t PROGMEM my_layer2_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 3, HSV_PURPLE}
-);
-const rgblight_segment_t PROGMEM my_layer3_layer[] = RGBLIGHT_LAYER_SEGMENTS(
- {0, 3, HSV_GREEN}
-);
-
-const rgblight_segment_t* const PROGMEM my_rgb_layers[] = RGBLIGHT_LAYERS_LIST(
- my_layer0_layer,
- my_layer1_layer,
- my_layer2_layer,
- my_layer3_layer
-);
-
-void keyboard_post_init_user(void) {
- // Enable the LED layers
- rgblight_layers = my_rgb_layers;
-}
-
-layer_state_t default_layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(0, layer_state_cmp(state, _BASE));
- return state;
-}
-
-layer_state_t layer_state_set_user(layer_state_t state) {
- rgblight_set_layer_state(1, layer_state_cmp(state, _FN1));
- rgblight_set_layer_state(2, layer_state_cmp(state, _FN2));
- rgblight_set_layer_state(3, layer_state_cmp(state, _FN3));
- return state;
-}
diff --git a/keyboards/cannonkeys/adelie/keymaps/via/rules.mk b/keyboards/cannonkeys/adelie/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/adelie/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/aella/keymaps/via/keymap.c b/keyboards/cannonkeys/aella/keymaps/via/keymap.c
deleted file mode 100644
index 5aa30a12c746..000000000000
--- a/keyboards/cannonkeys/aella/keymaps/via/keymap.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_SPC, MO(_FN1), KC_LGUI, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
- ),
-
-
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
diff --git a/keyboards/cannonkeys/aella/keymaps/via/rules.mk b/keyboards/cannonkeys/aella/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/aella/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/an_c/keyboard.json b/keyboards/cannonkeys/an_c/keyboard.json
index ea1279987106..29225da183f5 100644
--- a/keyboards/cannonkeys/an_c/keyboard.json
+++ b/keyboards/cannonkeys/an_c/keyboard.json
@@ -55,7 +55,10 @@
"resync": true
}
},
- "community_layouts": ["60_ansi", "60_tsangan_hhkb"],
+ "community_layouts": ["60_ansi", "60_ansi_tsangan_split_bs_rshift"],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -126,7 +129,7 @@
{"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/cannonkeys/an_c/keymaps/default/keymap.c b/keyboards/cannonkeys/an_c/keymaps/default/keymap.c
index d4d5faa9cc57..55b0fdf99a13 100644
--- a/keyboards/cannonkeys/an_c/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/an_c/keymaps/default/keymap.c
@@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_60_ansi(
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c
index adb33da25879..9d7991683585 100644
--- a/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c
+++ b/keyboards/cannonkeys/an_c/keymaps/tsangan/keymap.c
@@ -26,7 +26,7 @@ along with this program. If not, see .
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60_tsangan_hhkb(
+ [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
@@ -34,9 +34,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
- [_FN1] = LAYOUT_60_tsangan_hhkb(
+ [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/an_c/keymaps/via/keymap.c b/keyboards/cannonkeys/an_c/keymaps/via/keymap.c
deleted file mode 100644
index 07b2a9fa0c39..000000000000
--- a/keyboards/cannonkeys/an_c/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BASE 0
-#define _FN1 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL
- ),
-
- [_FN1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- )
-};
diff --git a/keyboards/cannonkeys/an_c/keymaps/via/rules.mk b/keyboards/cannonkeys/an_c/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/an_c/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/atlas/keymaps/default/keymap.c b/keyboards/cannonkeys/atlas/keymaps/default/keymap.c
index 808435247726..6c9b2613abcd 100644
--- a/keyboards/cannonkeys/atlas/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/atlas/keymaps/default/keymap.c
@@ -47,7 +47,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- RGB_MOD, KC_LCTL, KC_LALT, KC_LGUI, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
+ UG_NEXT, KC_LCTL, KC_LALT, KC_LGUI, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
),
/* Lower
* ,-----------------------------------------------------------------------------------.
@@ -84,11 +84,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-----------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, RGB_SAI, RGB_VAI, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_GRV, KC_1, RGB_SAD, RGB_VAD, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
+ KC_GRV, KC_1, UG_SATU, UG_VALU, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
+ KC_GRV, KC_1, UG_SATD, UG_VALD, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
)
}
;
diff --git a/keyboards/cannonkeys/atlas/keymaps/via/keymap.c b/keyboards/cannonkeys/atlas/keymaps/via/keymap.c
deleted file mode 100644
index 821756b0f367..000000000000
--- a/keyboards/cannonkeys/atlas/keymaps/via/keymap.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _RAISE,
- _LOWER,
- _EXTRA
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[_BASE] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- RGB_MOD, KC_LCTL, KC_LALT, KC_LGUI, MO(_LOWER), KC_SPC, KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-/* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |n
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_LOWER] = LAYOUT_ortho_5x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-/* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
-[_RAISE] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- RGB_TOG, RGB_MOD, BL_UP, BL_DOWN, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-[_EXTRA] = LAYOUT_ortho_5x12(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-)
-};
diff --git a/keyboards/cannonkeys/atlas/keymaps/via/rules.mk b/keyboards/cannonkeys/atlas/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/atlas/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/atlas_alps/keymaps/default/keymap.c b/keyboards/cannonkeys/atlas_alps/keymaps/default/keymap.c
index 7c4a9e5c5749..ff13d2e64dc2 100644
--- a/keyboards/cannonkeys/atlas_alps/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/atlas_alps/keymaps/default/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- RGB_TOG, KC_LGUI, KC_LALT, KC_PSCR, TT(1), KC_SPC, KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
+ UG_TOGG, KC_LGUI, KC_LALT, KC_PSCR, TT(1), KC_SPC, KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
),
/* 1
diff --git a/keyboards/cannonkeys/atlas_alps/keymaps/via/keymap.c b/keyboards/cannonkeys/atlas_alps/keymaps/via/keymap.c
deleted file mode 100644
index ca28cda8fa17..000000000000
--- a/keyboards/cannonkeys/atlas_alps/keymaps/via/keymap.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Copyright 2015-2017 Jack Humbert
- * Modified by Nasp for the Quark
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | OS | Alt | Layer | Space | Alt | RGB | Super |
- * `-----------------------------------------------------------------------------------'
- */
-[0] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- RGB_TOG, KC_LGUI, KC_LALT, KC_PSCR, TT(1), KC_SPC, KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RIGHT
-),
-
-/* 1
- * ,-----------------------------------------------------------------------------------.
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[1] = LAYOUT_ortho_5x12(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______,
- KC_NUBS, CALTDEL, TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* 2
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[2] = LAYOUT_ortho_5x12(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-
-/* 3
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-[3] = LAYOUT_ortho_5x12(
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
-),
-};
diff --git a/keyboards/cannonkeys/atlas_alps/keymaps/via/rules.mk b/keyboards/cannonkeys/atlas_alps/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/cannonkeys/atlas_alps/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/cannonkeys/bakeneko60_iso_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/bakeneko60_iso_hs/keymaps/via/keymap.c
deleted file mode 100644
index c3b045104271..000000000000
--- a/keyboards/cannonkeys/bakeneko60_iso_hs/keymaps/via/keymap.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60_iso(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL
- ),
-
- [_FN1] = LAYOUT_60_iso(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- [_FN2] = LAYOUT_60_iso(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN3] = LAYOUT_60_iso(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cannonkeys/bakeneko60_iso_hs/keymaps/via/rules.mk b/keyboards/cannonkeys/bakeneko60_iso_hs/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/bakeneko60_iso_hs/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/bakeneko65_iso_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/bakeneko65_iso_hs/keymaps/via/keymap.c
deleted file mode 100644
index f0c05d01e55b..000000000000
--- a/keyboards/cannonkeys/bakeneko65_iso_hs/keymaps/via/keymap.c
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_65_iso_blocker(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_65_iso_blocker(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
- ),
-
-
- [_FN2] = LAYOUT_65_iso_blocker(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-
- [_FN3] = LAYOUT_65_iso_blocker(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/bakeneko65_iso_hs/keymaps/via/rules.mk b/keyboards/cannonkeys/bakeneko65_iso_hs/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/bakeneko65_iso_hs/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/balance/keymaps/via/keymap.c b/keyboards/cannonkeys/balance/keymaps/via/keymap.c
deleted file mode 100644
index 1c5ec2a9437f..000000000000
--- a/keyboards/cannonkeys/balance/keymaps/via/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_MPLY, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGDN, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
- ),
-
- [_FN1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
diff --git a/keyboards/cannonkeys/balance/keymaps/via/rules.mk b/keyboards/cannonkeys/balance/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/balance/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/bastion60/keyboard.json b/keyboards/cannonkeys/bastion60/keyboard.json
index 07443b50b780..26cf507984cc 100644
--- a/keyboards/cannonkeys/bastion60/keyboard.json
+++ b/keyboards/cannonkeys/bastion60/keyboard.json
@@ -53,12 +53,16 @@
"60_ansi",
"60_ansi_split_bs_rshift",
"60_ansi_tsangan",
- "60_tsangan_hhkb",
+ "60_ansi_tsangan_split_bs_rshift",
"60_hhkb",
"60_iso",
"60_iso_split_bs_rshift",
- "60_iso_tsangan"
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift"
],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -260,7 +264,7 @@
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/cannonkeys/bastion60/keymaps/default/keymap.c b/keyboards/cannonkeys/bastion60/keymaps/default/keymap.c
index 9dbc210e199c..d89796a75b3f 100644
--- a/keyboards/cannonkeys/bastion60/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/bastion60/keymaps/default/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_all(
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/bastion60/keymaps/via/keymap.c b/keyboards/cannonkeys/bastion60/keymaps/via/keymap.c
deleted file mode 100644
index 9dbc210e199c..000000000000
--- a/keyboards/cannonkeys/bastion60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,32 +0,0 @@
-// Copyright 2023 Andrew Kannan
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL
- ),
-
- [_FN1] = LAYOUT_all(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- )
-};
diff --git a/keyboards/cannonkeys/bastion60/keymaps/via/rules.mk b/keyboards/cannonkeys/bastion60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/bastion60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/bastion65/keymaps/default/keymap.c b/keyboards/cannonkeys/bastion65/keymaps/default/keymap.c
index 111633864cf3..fd7ac27fc0ce 100644
--- a/keyboards/cannonkeys/bastion65/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/bastion65/keymaps/default/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_all(
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/bastion65/keymaps/via/keymap.c b/keyboards/cannonkeys/bastion65/keymaps/via/keymap.c
deleted file mode 100644
index 66b6c1c1f72e..000000000000
--- a/keyboards/cannonkeys/bastion65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- [_FN1] = LAYOUT_all(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- )
-
-};
diff --git a/keyboards/cannonkeys/bastion65/keymaps/via/rules.mk b/keyboards/cannonkeys/bastion65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/bastion65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/bastion75/keymaps/default/keymap.c b/keyboards/cannonkeys/bastion75/keymaps/default/keymap.c
index b0da09f0b8dc..63c09835df99 100644
--- a/keyboards/cannonkeys/bastion75/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/bastion75/keymaps/default/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_all(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/bastion75/keymaps/via/keymap.c b/keyboards/cannonkeys/bastion75/keymaps/via/keymap.c
deleted file mode 100644
index 493fea3c9a68..000000000000
--- a/keyboards/cannonkeys/bastion75/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(_FN1), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- [_FN1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- )
-
-};
diff --git a/keyboards/cannonkeys/bastion75/keymaps/via/rules.mk b/keyboards/cannonkeys/bastion75/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/bastion75/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/bastiontkl/keymaps/via/keymap.c b/keyboards/cannonkeys/bastiontkl/keymaps/via/keymap.c
deleted file mode 100644
index 0d57c828c2b3..000000000000
--- a/keyboards/cannonkeys/bastiontkl/keymaps/via/keymap.c
+++ /dev/null
@@ -1,28 +0,0 @@
-// Copyright 2023 Andrew Kannan
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-enum layer_names {
- _BASE,
- _FN1
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [_FN1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
diff --git a/keyboards/cannonkeys/bastiontkl/keymaps/via/rules.mk b/keyboards/cannonkeys/bastiontkl/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/bastiontkl/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/brutalv2_1800/keymaps/via/keymap.c b/keyboards/cannonkeys/brutalv2_1800/keymaps/via/keymap.c
deleted file mode 100644
index 1c4ad08ff16d..000000000000
--- a/keyboards/cannonkeys/brutalv2_1800/keymaps/via/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL, KC_INS, KC_PGUP, KC_PGDN,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
- ),
-
- [_FN1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_UP, BL_DOWN, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
diff --git a/keyboards/cannonkeys/brutalv2_1800/keymaps/via/rules.mk b/keyboards/cannonkeys/brutalv2_1800/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/brutalv2_1800/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/brutalv2_60/keyboard.json b/keyboards/cannonkeys/brutalv2_60/keyboard.json
index 3ee5f0d576b9..923be17c9af7 100644
--- a/keyboards/cannonkeys/brutalv2_60/keyboard.json
+++ b/keyboards/cannonkeys/brutalv2_60/keyboard.json
@@ -29,12 +29,16 @@
"60_ansi",
"60_ansi_split_bs_rshift",
"60_ansi_tsangan",
- "60_tsangan_hhkb",
+ "60_ansi_tsangan_split_bs_rshift",
"60_hhkb",
"60_iso",
"60_iso_split_bs_rshift",
- "60_iso_tsangan"
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift"
],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -300,7 +304,7 @@
{"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/cannonkeys/brutalv2_60/keymaps/via/keymap.c b/keyboards/cannonkeys/brutalv2_60/keymaps/via/keymap.c
deleted file mode 100644
index 4678bab52a5a..000000000000
--- a/keyboards/cannonkeys/brutalv2_60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2023 Andrew Kannan
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layers {
- _BASE,
- _FN1,
- _FN2,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN2),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL
- ),
-
- [_FN1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- [_FN2] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_HOME, KC_PGDN, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, DB_TOGG, QK_BOOT
- )
-};
diff --git a/keyboards/cannonkeys/brutalv2_60/keymaps/via/rules.mk b/keyboards/cannonkeys/brutalv2_60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/brutalv2_60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/brutalv2_65/keymaps/via/keymap.c b/keyboards/cannonkeys/brutalv2_65/keymaps/via/keymap.c
deleted file mode 100644
index 8a1ccb3b741a..000000000000
--- a/keyboards/cannonkeys/brutalv2_65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- [_FN2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/cannonkeys/brutalv2_65/keymaps/via/rules.mk b/keyboards/cannonkeys/brutalv2_65/keymaps/via/rules.mk
deleted file mode 100644
index 16d33cd89fe4..000000000000
--- a/keyboards/cannonkeys/brutalv2_65/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-
diff --git a/keyboards/cannonkeys/caerdroia/keymaps/via/keymap.c b/keyboards/cannonkeys/caerdroia/keymaps/via/keymap.c
deleted file mode 100644
index 4ada7ca5909f..000000000000
--- a/keyboards/cannonkeys/caerdroia/keymaps/via/keymap.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [_FN1] = LAYOUT(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/cannonkeys/caerdroia/keymaps/via/rules.mk b/keyboards/cannonkeys/caerdroia/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/caerdroia/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/cerberus/config.h b/keyboards/cannonkeys/cerberus/config.h
new file mode 100644
index 000000000000..84ea5d9acd01
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/config.h
@@ -0,0 +1,9 @@
+// Copyright 2024 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define WS2812_SPI_DRIVER SPID2
+#define WS2812_SPI_MOSI_PAL_MODE 0
+#define WS2812_SPI_SCK_PAL_MODE 0
+#define WS2812_SPI_SCK_PIN B13
diff --git a/keyboards/cannonkeys/cerberus/halconf.h b/keyboards/cannonkeys/cerberus/halconf.h
new file mode 100644
index 000000000000..d0f34b102cbf
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/halconf.h
@@ -0,0 +1,9 @@
+// Copyright 2024 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define HAL_USE_SPI TRUE
+
+#include_next
+
diff --git a/keyboards/cannonkeys/cerberus/hotswap/keyboard.json b/keyboards/cannonkeys/cerberus/hotswap/keyboard.json
new file mode 100644
index 000000000000..78890d942e75
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/hotswap/keyboard.json
@@ -0,0 +1,311 @@
+{
+ "keyboard_name": "Cerberus HS",
+ "usb": {
+ "pid": "0x0034"
+ },
+ "community_layouts": ["tkl_nofrow_ansi"],
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "~", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"label": "Space", "matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+ {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+ {"label": "Fn", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ },
+ "LAYOUT_tkl_nofrow_ansi": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"label": "Space", "matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+ {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+ {"label": "Fn", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ },
+ "LAYOUT_tkl_nofrow_ansi_tsangan": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 7},
+ {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ },
+ "LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "~", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 7},
+ {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cannonkeys/cerberus/hotswap/keymaps/default/keymap.c b/keyboards/cannonkeys/cerberus/hotswap/keymaps/default/keymap.c
new file mode 100644
index 000000000000..865dbff4003d
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/hotswap/keymaps/default/keymap.c
@@ -0,0 +1,26 @@
+// Copyright 2024 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+enum layer_names {
+ _BASE,
+ _FN1,
+};
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_LGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS,
+ UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, UG_SPDU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_HUED, UG_SATD, UG_VALD, UG_SPDD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_PREV, UG_NEXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
diff --git a/keyboards/cannonkeys/cerberus/hotswap/rules.mk b/keyboards/cannonkeys/cerberus/hotswap/rules.mk
new file mode 100644
index 000000000000..0ab54aaaf718
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/hotswap/rules.mk
@@ -0,0 +1,2 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
diff --git a/keyboards/cannonkeys/cerberus/info.json b/keyboards/cannonkeys/cerberus/info.json
new file mode 100644
index 000000000000..c260c2fcd590
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/info.json
@@ -0,0 +1,50 @@
+{
+ "manufacturer": "CannonKeys",
+ "maintainer": "awkannan",
+ "bootloader": "stm32-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": true,
+ "console": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "matrix_pins": {
+ "cols": ["B0", "C15", "C14", "A7", "A5", "C13", "A4", "A2", "A1", "A0", "B9", "B8", "B7", "A3", "B6", "B4", "B3", "A15"],
+ "rows": ["B11", "B10", "B2", "F0", "B5"]
+ },
+ "processor": "STM32F072",
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "rgblight": {
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ },
+ "led_count": 4
+ },
+ "url": "https://cannonkeys.com",
+ "usb": {
+ "device_version": "0.0.1",
+ "vid": "0xCA04"
+ },
+ "ws2812": {
+ "driver": "spi",
+ "pin": "B15"
+ }
+}
diff --git a/keyboards/cannonkeys/cerberus/mcuconf.h b/keyboards/cannonkeys/cerberus/mcuconf.h
new file mode 100644
index 000000000000..32f9fbd6db89
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/mcuconf.h
@@ -0,0 +1,9 @@
+// Copyright 2024 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next
+
+#undef STM32_SPI_USE_SPI2
+#define STM32_SPI_USE_SPI2 TRUE
diff --git a/keyboards/cannonkeys/cerberus/readme.md b/keyboards/cannonkeys/cerberus/readme.md
new file mode 100644
index 000000000000..848d746594dc
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/readme.md
@@ -0,0 +1,28 @@
+# Cerberus Keyboard by CannonKeys
+
+This folder contains firmware for both the Solderable and Hotswap version of Cerberus
+
+The hotswap PCB does not support per-key LEDs and has reduced layout support (no ISO)
+
+* Keyboard Maintainer: [Andrew Kannan](https://github.com/awkannan)
+* Hardware Supported: STM32F072CBT6
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cannonkeys/cerberus/hotswap:default
+ make cannonkeys/cerberus/solderable:default
+
+Flashing example for this keyboard:
+
+ make cannonkeys/cerberus/hotswap:default:flash
+ make cannonkeys/cerberus/solderable:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the top left key or Escape) and plug in the keyboard
+* **Physical reset button**: Toggle the switch on the back of the pcb to "1" and briefly press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cannonkeys/cerberus/solderable/config.h b/keyboards/cannonkeys/cerberus/solderable/config.h
new file mode 100644
index 000000000000..9e5e637de417
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/solderable/config.h
@@ -0,0 +1,8 @@
+// Copyright 2024 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#define BACKLIGHT_PWM_DRIVER PWMD3
+#define BACKLIGHT_PWM_CHANNEL 1
+#define BACKLIGHT_PAL_MODE 1
diff --git a/keyboards/cannonkeys/cerberus/solderable/halconf.h b/keyboards/cannonkeys/cerberus/solderable/halconf.h
new file mode 100644
index 000000000000..fc641ca42f9c
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/solderable/halconf.h
@@ -0,0 +1,10 @@
+// Copyright 2024 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+
+#pragma once
+
+#define HAL_USE_PWM TRUE
+
+#include_next
+
diff --git a/keyboards/cannonkeys/cerberus/solderable/keyboard.json b/keyboards/cannonkeys/cerberus/solderable/keyboard.json
new file mode 100644
index 000000000000..3797df385134
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/solderable/keyboard.json
@@ -0,0 +1,711 @@
+{
+ "keyboard_name": "Cerberus",
+ "backlight": {
+ "breathing": true,
+ "levels": 6,
+ "pin": "A6"
+ },
+ "features": {
+ "backlight": true
+ },
+ "indicators": {
+ "caps_lock": "F1",
+ "on_state": 0
+ },
+ "usb": {
+ "pid": "0x0031"
+ },
+ "community_layouts": ["tkl_nofrow_ansi", "tkl_nofrow_iso"],
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "2", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "4", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "5", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "6", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "7", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "8", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "9", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": "0", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "-", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "=", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Backspace", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "`", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "Page Up", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "[", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "]", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "\\", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "Page Down", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ";", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "'", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "#", "matrix": [2, 12], "x": 12.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 2, "w": 1.25},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"label": "\\", "matrix": [3, 1], "x": 1.25, "y": 3},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": ",", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ".", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "/", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"label": "GUI", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"label": "Space", "matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+ {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+ {"label": "Fn", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"label": "GUI", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ },
+ "LAYOUT_tkl_nofrow_ansi": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"label": "Space", "matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+ {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+ {"label": "Fn", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ },
+ "LAYOUT_tkl_nofrow_ansi_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "~", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"label": "Space", "matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+ {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+ {"label": "Fn", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ },
+ "LAYOUT_tkl_nofrow_ansi_tsangan": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 7},
+ {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ },
+ "LAYOUT_tkl_nofrow_ansi_tsangan_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "@", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "#", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "~", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "|", "matrix": [1, 14], "x": 13.5, "y": 1, "w": 1.5},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "\"", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 12.75, "y": 2, "w": 2.25},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 7},
+ {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ },
+ "LAYOUT_tkl_nofrow_iso": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "\"", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "\u00a3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "~", "matrix": [2, 12], "x": 12.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"label": "Space", "matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+ {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+ {"label": "Fn", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ },
+ "LAYOUT_tkl_nofrow_iso_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "\"", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "\u00a3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "\u00ac", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "~", "matrix": [2, 12], "x": 12.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"label": "Win", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"label": "Space", "matrix": [4, 5], "x": 3.75, "y": 4, "w": 6.25},
+ {"label": "Alt", "matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+ {"label": "Fn", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ },
+ "LAYOUT_tkl_nofrow_iso_tsangan": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "\"", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "\u00a3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "~", "matrix": [2, 12], "x": 12.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 2.75},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 7},
+ {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ },
+ "LAYOUT_tkl_nofrow_iso_tsangan_split_bs_rshift": {
+ "layout": [
+ {"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
+ {"label": "\"", "matrix": [0, 2], "x": 2, "y": 0},
+ {"label": "\u00a3", "matrix": [0, 3], "x": 3, "y": 0},
+ {"label": "$", "matrix": [0, 4], "x": 4, "y": 0},
+ {"label": "%", "matrix": [0, 5], "x": 5, "y": 0},
+ {"label": "^", "matrix": [0, 6], "x": 6, "y": 0},
+ {"label": "&", "matrix": [0, 7], "x": 7, "y": 0},
+ {"label": "*", "matrix": [0, 8], "x": 8, "y": 0},
+ {"label": "(", "matrix": [0, 9], "x": 9, "y": 0},
+ {"label": ")", "matrix": [0, 10], "x": 10, "y": 0},
+ {"label": "_", "matrix": [0, 11], "x": 11, "y": 0},
+ {"label": "+", "matrix": [0, 12], "x": 12, "y": 0},
+ {"label": "Bksp", "matrix": [0, 13], "x": 13, "y": 0},
+ {"label": "\u00ac", "matrix": [0, 14], "x": 14, "y": 0},
+ {"label": "Insert", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Home", "matrix": [0, 16], "x": 16.25, "y": 0},
+ {"label": "PgUp", "matrix": [0, 17], "x": 17.25, "y": 0},
+ {"label": "Tab", "matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 1], "x": 1.5, "y": 1},
+ {"label": "W", "matrix": [1, 2], "x": 2.5, "y": 1},
+ {"label": "E", "matrix": [1, 3], "x": 3.5, "y": 1},
+ {"label": "R", "matrix": [1, 4], "x": 4.5, "y": 1},
+ {"label": "T", "matrix": [1, 5], "x": 5.5, "y": 1},
+ {"label": "Y", "matrix": [1, 6], "x": 6.5, "y": 1},
+ {"label": "U", "matrix": [1, 7], "x": 7.5, "y": 1},
+ {"label": "I", "matrix": [1, 8], "x": 8.5, "y": 1},
+ {"label": "O", "matrix": [1, 9], "x": 9.5, "y": 1},
+ {"label": "P", "matrix": [1, 10], "x": 10.5, "y": 1},
+ {"label": "{", "matrix": [1, 11], "x": 11.5, "y": 1},
+ {"label": "}", "matrix": [1, 12], "x": 12.5, "y": 1},
+ {"label": "Delete", "matrix": [1, 15], "x": 15.25, "y": 1},
+ {"label": "End", "matrix": [1, 16], "x": 16.25, "y": 1},
+ {"label": "PgDn", "matrix": [1, 17], "x": 17.25, "y": 1},
+ {"label": "Caps Lock", "matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 1], "x": 1.75, "y": 2},
+ {"label": "S", "matrix": [2, 2], "x": 2.75, "y": 2},
+ {"label": "D", "matrix": [2, 3], "x": 3.75, "y": 2},
+ {"label": "F", "matrix": [2, 4], "x": 4.75, "y": 2},
+ {"label": "G", "matrix": [2, 5], "x": 5.75, "y": 2},
+ {"label": "H", "matrix": [2, 6], "x": 6.75, "y": 2},
+ {"label": "J", "matrix": [2, 7], "x": 7.75, "y": 2},
+ {"label": "K", "matrix": [2, 8], "x": 8.75, "y": 2},
+ {"label": "L", "matrix": [2, 9], "x": 9.75, "y": 2},
+ {"label": ":", "matrix": [2, 10], "x": 10.75, "y": 2},
+ {"label": "@", "matrix": [2, 11], "x": 11.75, "y": 2},
+ {"label": "~", "matrix": [2, 12], "x": 12.75, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+ {"label": "Shift", "matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"label": "|", "matrix": [3, 1], "x": 1.25, "y": 3},
+ {"label": "Z", "matrix": [3, 2], "x": 2.25, "y": 3},
+ {"label": "X", "matrix": [3, 3], "x": 3.25, "y": 3},
+ {"label": "C", "matrix": [3, 4], "x": 4.25, "y": 3},
+ {"label": "V", "matrix": [3, 5], "x": 5.25, "y": 3},
+ {"label": "B", "matrix": [3, 6], "x": 6.25, "y": 3},
+ {"label": "N", "matrix": [3, 7], "x": 7.25, "y": 3},
+ {"label": "M", "matrix": [3, 8], "x": 8.25, "y": 3},
+ {"label": "<", "matrix": [3, 9], "x": 9.25, "y": 3},
+ {"label": ">", "matrix": [3, 10], "x": 10.25, "y": 3},
+ {"label": "?", "matrix": [3, 11], "x": 11.25, "y": 3},
+ {"label": "Shift", "matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"label": "Fn", "matrix": [3, 14], "x": 14, "y": 3},
+ {"label": "\u2191", "matrix": [3, 16], "x": 16.25, "y": 3},
+ {"label": "Ctrl", "matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"label": "Win", "matrix": [4, 1], "x": 1.5, "y": 4},
+ {"label": "Alt", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 5], "x": 4, "y": 4, "w": 7},
+ {"label": "Alt", "matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+ {"label": "Menu", "matrix": [4, 12], "x": 12.5, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4, "w": 1.5},
+ {"label": "\u2190", "matrix": [4, 15], "x": 15.25, "y": 4},
+ {"label": "\u2193", "matrix": [4, 16], "x": 16.25, "y": 4},
+ {"label": "\u2192", "matrix": [4, 17], "x": 17.25, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cannonkeys/cerberus/solderable/keymaps/default/keymap.c b/keyboards/cannonkeys/cerberus/solderable/keymaps/default/keymap.c
new file mode 100644
index 000000000000..2b87af0e997c
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/solderable/keymaps/default/keymap.c
@@ -0,0 +1,25 @@
+// Copyright 2024 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include QMK_KEYBOARD_H
+enum layer_names {
+ _BASE,
+ _FN1,
+};
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ [_BASE] = LAYOUT_all(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_LGUI, KC_LCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+
+ [_FN1] = LAYOUT_all(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_PSCR, KC_SCRL, KC_PAUS,
+ UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, UG_SPDU, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, UG_HUED, UG_SATD, UG_VALD, UG_SPDD, BL_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ KC_TRNS, KC_TRNS, UG_PREV, UG_NEXT, KC_TRNS, BL_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
+ ),
+};
diff --git a/keyboards/cannonkeys/cerberus/solderable/matrix_diagram.md b/keyboards/cannonkeys/cerberus/solderable/matrix_diagram.md
new file mode 100644
index 000000000000..5beb866f7240
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/solderable/matrix_diagram.md
@@ -0,0 +1,24 @@
+# Matrix Diagram for Cerberus
+
+```
+ ┌───────┐
+ 2u Backspace │0D │
+ └───────┘
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┬───┬───┐
+│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │ │0F │0G │0H │
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ├───┼───┼───┤ ┌─────┐
+│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1E │ │1F │1G │1H │ │ │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ └───┴───┴───┘ ┌──┴┐2E │
+│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2E │ │2C │ │
+├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ ┌───┐ └───┴────┘
+│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3E │ │3G │ ISO Enter
+├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬┴───┤ ┌───┼───┼───┐
+│40 │41 │42 │45 │4A │4B │4C │4E │ │4F │4G │4H │
+└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ └───┴───┴───┘
+┌────────┐ ┌──────────┐
+│30 │ 2.25u LShift 2.75u RShift │3C │
+└────────┘ └──────────┘
+┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
+│40 │41 │42 │45 │4B │4C │4E │ Tsangan/WKL
+└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+```
diff --git a/keyboards/cannonkeys/cerberus/solderable/mcuconf.h b/keyboards/cannonkeys/cerberus/solderable/mcuconf.h
new file mode 100644
index 000000000000..931e93d66f06
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/solderable/mcuconf.h
@@ -0,0 +1,9 @@
+// Copyright 2024 Andrew Kannan
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include_next
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/cannonkeys/cerberus/solderable/rules.mk b/keyboards/cannonkeys/cerberus/solderable/rules.mk
new file mode 100644
index 000000000000..0ab54aaaf718
--- /dev/null
+++ b/keyboards/cannonkeys/cerberus/solderable/rules.mk
@@ -0,0 +1,2 @@
+# Wildcard to allow APM32 MCU
+DFU_SUFFIX_ARGS = -v FFFF -p FFFF
diff --git a/keyboards/cannonkeys/chimera65/keymaps/via/keymap.c b/keyboards/cannonkeys/chimera65/keymaps/via/keymap.c
deleted file mode 100644
index 9fb6ad6f7860..000000000000
--- a/keyboards/cannonkeys/chimera65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BASE 0
-#define _FN1 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_default(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_default(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_UP, BL_DOWN, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/chimera65/keymaps/via/rules.mk b/keyboards/cannonkeys/chimera65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/chimera65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/chimera65_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/chimera65_hs/keymaps/via/keymap.c
deleted file mode 100644
index dc79aa69b5b3..000000000000
--- a/keyboards/cannonkeys/chimera65_hs/keymaps/via/keymap.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/chimera65_hs/keymaps/via/rules.mk b/keyboards/cannonkeys/chimera65_hs/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/chimera65_hs/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/cloudline/keymaps/default/keymap.c b/keyboards/cannonkeys/cloudline/keymaps/default/keymap.c
index 30d97fae9bb4..a850dc74342c 100644
--- a/keyboards/cannonkeys/cloudline/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/cloudline/keymaps/default/keymap.c
@@ -18,7 +18,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[_FN1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_TOGG, UG_NEXT, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, UG_VALD, UG_VALU, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/cannonkeys/cloudline/keymaps/via/keymap.c b/keyboards/cannonkeys/cloudline/keymaps/via/keymap.c
deleted file mode 100644
index b704943f492a..000000000000
--- a/keyboards/cannonkeys/cloudline/keymaps/via/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [_FN1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
diff --git a/keyboards/cannonkeys/cloudline/keymaps/via/rules.mk b/keyboards/cannonkeys/cloudline/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/cloudline/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/crin/keymaps/via/keymap.c b/keyboards/cannonkeys/crin/keymaps/via/keymap.c
deleted file mode 100644
index d53a611626d8..000000000000
--- a/keyboards/cannonkeys/crin/keymaps/via/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright 2022 Andrew Kannan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-
-};
diff --git a/keyboards/cannonkeys/crin/keymaps/via/rules.mk b/keyboards/cannonkeys/crin/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/crin/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/db60/hotswap/keyboard.json b/keyboards/cannonkeys/db60/hotswap/keyboard.json
index d272b35a0f67..dfed24c5654c 100644
--- a/keyboards/cannonkeys/db60/hotswap/keyboard.json
+++ b/keyboards/cannonkeys/db60/hotswap/keyboard.json
@@ -3,7 +3,13 @@
"usb": {
"pid": "0xDB62"
},
- "community_layouts": ["60_ansi", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_tsangan_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -74,7 +80,7 @@
{"x": 13.75, "y": 4, "w": 1.25, "matrix": [4, 14]}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"x": 0, "y": 0, "matrix": [0, 0]},
{"x": 1, "y": 0, "matrix": [0, 1]},
diff --git a/keyboards/cannonkeys/db60/j02/keyboard.json b/keyboards/cannonkeys/db60/j02/keyboard.json
index 0778b604fffa..bb693bcfc048 100644
--- a/keyboards/cannonkeys/db60/j02/keyboard.json
+++ b/keyboards/cannonkeys/db60/j02/keyboard.json
@@ -3,7 +3,14 @@
"usb": {
"pid": "0xDB60"
},
- "community_layouts": ["60_ansi", "60_tsangan_hhkb", "60_iso"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_iso"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -74,7 +81,7 @@
{"x": 13.75, "y": 4, "w": 1.25, "matrix": [4, 14]}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"x": 0, "y": 0, "matrix": [0, 0]},
{"x": 1, "y": 0, "matrix": [0, 1]},
diff --git a/keyboards/cannonkeys/db60/j02/keymaps/iso/keymap.c b/keyboards/cannonkeys/db60/j02/keymaps/iso/keymap.c
index a0cacca0f5ca..b60468314d53 100644
--- a/keyboards/cannonkeys/db60/j02/keymaps/iso/keymap.c
+++ b/keyboards/cannonkeys/db60/j02/keymaps/iso/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_60_iso(
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/db60/keymaps/default/keymap.c b/keyboards/cannonkeys/db60/keymaps/default/keymap.c
index 317eeab093dc..8e1a9b368de3 100644
--- a/keyboards/cannonkeys/db60/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/db60/keymaps/default/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_60_ansi(
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c
index d280f72d1ecd..f82afc8b3232 100644
--- a/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c
+++ b/keyboards/cannonkeys/db60/keymaps/tsangan/keymap.c
@@ -28,7 +28,7 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60_tsangan_hhkb(
+ [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
@@ -36,9 +36,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
- [_FN1] = LAYOUT_60_tsangan_hhkb(
+ [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/db60/keymaps/via/keymap.c b/keyboards/cannonkeys/db60/keymaps/via/keymap.c
deleted file mode 100644
index a22592875647..000000000000
--- a/keyboards/cannonkeys/db60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL
- ),
-
- [_FN1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- [_FN2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cannonkeys/db60/keymaps/via/rules.mk b/keyboards/cannonkeys/db60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/db60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/db60/rev2/keyboard.json b/keyboards/cannonkeys/db60/rev2/keyboard.json
index dc45ffecd50f..81fc8208d560 100644
--- a/keyboards/cannonkeys/db60/rev2/keyboard.json
+++ b/keyboards/cannonkeys/db60/rev2/keyboard.json
@@ -3,7 +3,14 @@
"usb": {
"pid": "0xDB61"
},
- "community_layouts": ["60_ansi", "60_tsangan_hhkb", "60_iso"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_iso"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -74,7 +81,7 @@
{"x": 13.75, "y": 4, "w": 1.25, "matrix": [4, 14]}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"x": 0, "y": 0, "matrix": [0, 0]},
{"x": 1, "y": 0, "matrix": [0, 1]},
diff --git a/keyboards/cannonkeys/db60/rev2/keymaps/iso/keymap.c b/keyboards/cannonkeys/db60/rev2/keymaps/iso/keymap.c
index a0cacca0f5ca..b60468314d53 100644
--- a/keyboards/cannonkeys/db60/rev2/keymaps/iso/keymap.c
+++ b/keyboards/cannonkeys/db60/rev2/keymaps/iso/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_60_iso(
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, _______, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/devastatingtkl/keymaps/default/keymap.c b/keyboards/cannonkeys/devastatingtkl/keymaps/default/keymap.c
index 64bbe8b4fa02..90683be9ebba 100644
--- a/keyboards/cannonkeys/devastatingtkl/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/devastatingtkl/keymaps/default/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_TOGG, UG_NEXT, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, UG_VALD, UG_VALU, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/cannonkeys/devastatingtkl/keymaps/via/keymap.c b/keyboards/cannonkeys/devastatingtkl/keymaps/via/keymap.c
deleted file mode 100644
index 4551e5cc5fee..000000000000
--- a/keyboards/cannonkeys/devastatingtkl/keymaps/via/keymap.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
diff --git a/keyboards/cannonkeys/devastatingtkl/keymaps/via/rules.mk b/keyboards/cannonkeys/devastatingtkl/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/devastatingtkl/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/ellipse/keyboard.json b/keyboards/cannonkeys/ellipse/keyboard.json
index 2f35c453516a..c7e37befbdc7 100644
--- a/keyboards/cannonkeys/ellipse/keyboard.json
+++ b/keyboards/cannonkeys/ellipse/keyboard.json
@@ -37,11 +37,15 @@
"60_ansi",
"60_ansi_split_bs_rshift",
"60_ansi_tsangan",
- "60_tsangan_hhkb",
+ "60_ansi_tsangan_split_bs_rshift",
"60_iso",
"60_iso_split_bs_rshift",
- "60_iso_tsangan"
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift"
],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -324,7 +328,7 @@
{"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4.0, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0.0, "y": 0.0},
{"label": "!", "matrix": [0, 1], "x": 1.0, "y": 0.0},
diff --git a/keyboards/cannonkeys/ellipse/keymaps/via/keymap.c b/keyboards/cannonkeys/ellipse/keymaps/via/keymap.c
deleted file mode 100644
index ea45b14a6150..000000000000
--- a/keyboards/cannonkeys/ellipse/keymaps/via/keymap.c
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2022 Andrew Kannan (@awkannan)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_FN1), KC_RGUI, KC_RCTL
- ),
-
- [_FN1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN,BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- [_FN2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cannonkeys/ellipse/keymaps/via/rules.mk b/keyboards/cannonkeys/ellipse/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/ellipse/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/ellipse_hs/keyboard.json b/keyboards/cannonkeys/ellipse_hs/keyboard.json
index 098882fcc3ba..da79dea27af7 100644
--- a/keyboards/cannonkeys/ellipse_hs/keyboard.json
+++ b/keyboards/cannonkeys/ellipse_hs/keyboard.json
@@ -24,13 +24,14 @@
"pid": "0x0016"
},
"layout_aliases": {
- "LAYOUT_all": "LAYOUT_60_tsangan_hhkb"
+ "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift",
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
},
"community_layouts": [
- "60_tsangan_hhkb"
+ "60_ansi_tsangan_split_bs_rshift"
],
"layouts": {
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/cannonkeys/ellipse_hs/keymaps/default/keymap.c b/keyboards/cannonkeys/ellipse_hs/keymaps/default/keymap.c
index 3d829466c369..e4e3af2dabd7 100644
--- a/keyboards/cannonkeys/ellipse_hs/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/ellipse_hs/keymaps/default/keymap.c
@@ -12,7 +12,7 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60_tsangan_hhkb(
+ [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
- [_FN1] = LAYOUT_60_tsangan_hhkb(
+ [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, QK_BOOT
),
- [_FN2] = LAYOUT_60_tsangan_hhkb(
+ [_FN2] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______
),
- [_FN3] = LAYOUT_60_tsangan_hhkb(
+ [_FN3] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cannonkeys/ellipse_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/ellipse_hs/keymaps/via/keymap.c
deleted file mode 100644
index 3d829466c369..000000000000
--- a/keyboards/cannonkeys/ellipse_hs/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2022 Andrew Kannan (@awkannan)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_60_tsangan_hhkb(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
-
- [_FN1] = LAYOUT_60_tsangan_hhkb(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- [_FN2] = LAYOUT_60_tsangan_hhkb(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN3] = LAYOUT_60_tsangan_hhkb(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/cannonkeys/ellipse_hs/keymaps/via/rules.mk b/keyboards/cannonkeys/ellipse_hs/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/ellipse_hs/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/gentoo/keymaps/via/keymap.c b/keyboards/cannonkeys/gentoo/keymaps/via/keymap.c
deleted file mode 100644
index f626e06728c2..000000000000
--- a/keyboards/cannonkeys/gentoo/keymaps/via/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- MO(1), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, KC_PGUP, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______,
- _______, _______, KC_HOME, KC_PGDN, KC_END, _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- [_FN2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
-};
diff --git a/keyboards/cannonkeys/gentoo/keymaps/via/rules.mk b/keyboards/cannonkeys/gentoo/keymaps/via/rules.mk
deleted file mode 100644
index 16d33cd89fe4..000000000000
--- a/keyboards/cannonkeys/gentoo/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-
diff --git a/keyboards/cannonkeys/gentoo_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/gentoo_hs/keymaps/via/keymap.c
deleted file mode 100644
index a1817427ab7d..000000000000
--- a/keyboards/cannonkeys/gentoo_hs/keymaps/via/keymap.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_65_ansi_rwkl(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_65_ansi_rwkl(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_UP, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_DOWN, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_65_ansi_rwkl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT_65_ansi_rwkl(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/gentoo_hs/keymaps/via/rules.mk b/keyboards/cannonkeys/gentoo_hs/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/gentoo_hs/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/hoodrowg/keymaps/default/keymap.c b/keyboards/cannonkeys/hoodrowg/keymaps/default/keymap.c
index 2dee10b75d1a..91d9b7b7c8a2 100644
--- a/keyboards/cannonkeys/hoodrowg/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/hoodrowg/keymaps/default/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DOWN, BL_UP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_TOGG, UG_NEXT, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, UG_VALD, UG_VALU, BL_TOGG, BL_DOWN, BL_UP,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/cannonkeys/hoodrowg/keymaps/via/keymap.c b/keyboards/cannonkeys/hoodrowg/keymaps/via/keymap.c
deleted file mode 100644
index 37b0a09d7895..000000000000
--- a/keyboards/cannonkeys/hoodrowg/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2021 CannonKeys LLC
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _BASE,
- _FN1,
- _FN2
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, BL_TOGG, BL_DOWN, BL_UP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
diff --git a/keyboards/cannonkeys/hoodrowg/keymaps/via/rules.mk b/keyboards/cannonkeys/hoodrowg/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/hoodrowg/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/instant60/keyboard.json b/keyboards/cannonkeys/instant60/keyboard.json
index 3261a82f28b1..f802823709b5 100644
--- a/keyboards/cannonkeys/instant60/keyboard.json
+++ b/keyboards/cannonkeys/instant60/keyboard.json
@@ -55,7 +55,13 @@
"resync": true
}
},
- "community_layouts": ["60_ansi", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_tsangan_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -126,7 +132,7 @@
{"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/cannonkeys/instant60/keymaps/default/keymap.c b/keyboards/cannonkeys/instant60/keymaps/default/keymap.c
index 5f92f6bb87fc..4a8cb3851e3c 100644
--- a/keyboards/cannonkeys/instant60/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/instant60/keymaps/default/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_60_ansi(
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, _______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c
index 211e767eecae..c9e5d9ba16ef 100644
--- a/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c
+++ b/keyboards/cannonkeys/instant60/keymaps/tsangan/keymap.c
@@ -30,7 +30,7 @@ enum custom_keycodes {
};
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60_tsangan_hhkb(
+ [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
@@ -38,9 +38,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
- [_FN1] = LAYOUT_60_tsangan_hhkb(
+ [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/instant60/keymaps/via/keymap.c b/keyboards/cannonkeys/instant60/keymaps/via/keymap.c
deleted file mode 100644
index 8e7ae79a5a81..000000000000
--- a/keyboards/cannonkeys/instant60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BASE 0
-#define _FN1 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL
- ),
-
- [_FN1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- )
-};
diff --git a/keyboards/cannonkeys/instant60/keymaps/via/rules.mk b/keyboards/cannonkeys/instant60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/instant60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/instant60/keymaps/via_standard/keymap.c b/keyboards/cannonkeys/instant60/keymaps/via_standard/keymap.c
deleted file mode 100644
index 07b2a9fa0c39..000000000000
--- a/keyboards/cannonkeys/instant60/keymaps/via_standard/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-#define _BASE 0
-#define _FN1 1
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL
- ),
-
- [_FN1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- )
-};
diff --git a/keyboards/cannonkeys/instant60/keymaps/via_standard/rules.mk b/keyboards/cannonkeys/instant60/keymaps/via_standard/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/instant60/keymaps/via_standard/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/instant65/keymaps/default/keymap.c b/keyboards/cannonkeys/instant65/keymaps/default/keymap.c
index 96419ee91466..238776b9b462 100644
--- a/keyboards/cannonkeys/instant65/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/instant65/keymaps/default/keymap.c
@@ -37,8 +37,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = LAYOUT_default(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, RGB_TOG,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD,
+ QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, UG_TOGG,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_NEXT,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
BL_UP, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
BL_DOWN,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
diff --git a/keyboards/cannonkeys/instant65/keymaps/via/keymap.c b/keyboards/cannonkeys/instant65/keymaps/via/keymap.c
deleted file mode 100644
index 70ec9dc966fb..000000000000
--- a/keyboards/cannonkeys/instant65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_default(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_default(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, RGB_TOG,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_UP, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_DOWN,KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_default(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT_default(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/instant65/keymaps/via/rules.mk b/keyboards/cannonkeys/instant65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/instant65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/iron165/keymaps/via/keymap.c b/keyboards/cannonkeys/iron165/keymaps/via/keymap.c
deleted file mode 100644
index b26d9e050fe5..000000000000
--- a/keyboards/cannonkeys/iron165/keymaps/via/keymap.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_default(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_default(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_default(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT_default(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/iron165/keymaps/via/rules.mk b/keyboards/cannonkeys/iron165/keymaps/via/rules.mk
deleted file mode 100644
index 16d33cd89fe4..000000000000
--- a/keyboards/cannonkeys/iron165/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-
diff --git a/keyboards/cannonkeys/is0gr/keymaps/via/keymap.c b/keyboards/cannonkeys/is0gr/keymaps/via/keymap.c
deleted file mode 100644
index 10451984f063..000000000000
--- a/keyboards/cannonkeys/is0gr/keymaps/via/keymap.c
+++ /dev/null
@@ -1,11 +0,0 @@
-// Copyright 2023 Andrew Kannan
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_ortho_1x1(
- KC_ENT
- ),
-};
-
diff --git a/keyboards/cannonkeys/is0gr/keymaps/via/rules.mk b/keyboards/cannonkeys/is0gr/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/is0gr/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/leviatan/keyboard.json b/keyboards/cannonkeys/leviatan/keyboard.json
index 7e8d6c6fdd12..c929447e89d5 100644
--- a/keyboards/cannonkeys/leviatan/keyboard.json
+++ b/keyboards/cannonkeys/leviatan/keyboard.json
@@ -23,7 +23,14 @@
"diode_direction": "COL2ROW",
"processor": "STM32F072",
"bootloader": "stm32-dfu",
- "community_layouts": ["60_ansi", "60_tsangan_hhkb", "60_iso"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_iso"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -94,7 +101,7 @@
{"x": 13.75, "y": 4, "w": 1.25, "matrix": [4, 14]}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"x": 0, "y": 0, "matrix": [0, 0]},
{"x": 1, "y": 0, "matrix": [0, 1]},
diff --git a/keyboards/cannonkeys/leviatan/keymaps/tsangan/keymap.c b/keyboards/cannonkeys/leviatan/keymaps/tsangan/keymap.c
index c735160c3d64..30d1781fe65e 100644
--- a/keyboards/cannonkeys/leviatan/keymaps/tsangan/keymap.c
+++ b/keyboards/cannonkeys/leviatan/keymaps/tsangan/keymap.c
@@ -28,7 +28,7 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60_tsangan_hhkb(
+ [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
- [_FN1] = LAYOUT_60_tsangan_hhkb(
+ [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cannonkeys/leviatan/keymaps/via/keymap.c b/keyboards/cannonkeys/leviatan/keymaps/via/keymap.c
deleted file mode 100644
index 056634dab4de..000000000000
--- a/keyboards/cannonkeys/leviatan/keymaps/via/keymap.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FN1), KC_RCTL
- ),
-
- [_FN1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- )
-};
diff --git a/keyboards/cannonkeys/leviatan/keymaps/via/rules.mk b/keyboards/cannonkeys/leviatan/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/leviatan/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
index aab005ebd87f..7e0b82e9e7a9 100644
--- a/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
+++ b/keyboards/cannonkeys/lib/satisfaction75/satisfaction_encoder.c
@@ -101,7 +101,7 @@ uint16_t handle_encoder_clockwise(void){
mapped_code = KC_MEDIA_NEXT_TRACK;
break;
case ENC_MODE_SCROLL:
- mapped_code = KC_WH_D;
+ mapped_code = QK_MOUSE_WHEEL_DOWN;
break;
#ifdef BACKLIGHT_ENABLE
case ENC_MODE_BACKLIGHT:
@@ -143,7 +143,7 @@ uint16_t handle_encoder_ccw(void){
mapped_code = KC_MEDIA_PREV_TRACK;
break;
case ENC_MODE_SCROLL:
- mapped_code = KC_WH_U;
+ mapped_code = QK_MOUSE_WHEEL_UP;
break;
#ifdef BACKLIGHT_ENABLE
case ENC_MODE_BACKLIGHT:
@@ -186,7 +186,7 @@ uint16_t handle_encoder_press(void){
mapped_code = KC_MEDIA_PLAY_PAUSE;
break;
case ENC_MODE_SCROLL:
- mapped_code = KC_BTN3;
+ mapped_code = QK_MOUSE_BUTTON_3;
break;
#ifdef BACKLIGHT_ENABLE
case ENC_MODE_BACKLIGHT:
diff --git a/keyboards/cannonkeys/malicious_ergo/keymaps/default/keymap.c b/keyboards/cannonkeys/malicious_ergo/keymaps/default/keymap.c
index 85d912760eae..c4ff37f72105 100644
--- a/keyboards/cannonkeys/malicious_ergo/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/malicious_ergo/keymaps/default/keymap.c
@@ -33,9 +33,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = LAYOUT_default(
- RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
- RGB_MOD, _______, _______, KC_UP, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, _______, _______, _______, _______, _______, _______,
- RGB_RMOD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, _______,
+ UG_TOGG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
+ UG_NEXT, _______, _______, KC_UP, _______, _______, _______, UG_SATU, UG_HUEU, UG_VALU, _______, _______, _______, _______, _______, _______,
+ UG_PREV, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, UG_SATD, UG_HUED, UG_VALD, _______, _______, _______, _______, _______,
_______, BL_UP, BL_DOWN, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______
)
diff --git a/keyboards/cannonkeys/malicious_ergo/keymaps/via/config.h b/keyboards/cannonkeys/malicious_ergo/keymaps/via/config.h
deleted file mode 100644
index 9a8629d439e5..000000000000
--- a/keyboards/cannonkeys/malicious_ergo/keymaps/via/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2022 Andrew Kannan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-// 2 bits for 4 layout options
-#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/cannonkeys/malicious_ergo/keymaps/via/keymap.c b/keyboards/cannonkeys/malicious_ergo/keymaps/via/keymap.c
deleted file mode 100644
index 21129dfdda4a..000000000000
--- a/keyboards/cannonkeys/malicious_ergo/keymaps/via/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_default(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL, KC_BSPC, KC_DEL,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_HOME,
- KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_END,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_SPC, MO(_FN1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
- [_FN1] = LAYOUT_default(
- RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
- RGB_MOD, _______, _______, KC_UP, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, _______, _______, _______, _______, _______, _______,
- RGB_RMOD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______, _______, _______, _______,
- _______, BL_UP, BL_DOWN, BL_TOGG, BL_BRTG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, QK_BOOT, _______, _______, _______
- ),
-
- [_FN2] = LAYOUT_default(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN3] = LAYOUT_default(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cannonkeys/malicious_ergo/keymaps/via/rules.mk b/keyboards/cannonkeys/malicious_ergo/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/malicious_ergo/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/meetuppad2023/keymaps/via/keymap.c b/keyboards/cannonkeys/meetuppad2023/keymaps/via/keymap.c
deleted file mode 100644
index 8039eb260ea9..000000000000
--- a/keyboards/cannonkeys/meetuppad2023/keymaps/via/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-// Copyright 2023 Andrew Kannan
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum custom_keycodes {
- MYMACRO = QK_KB_0,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- MYMACRO, KC_1,
- KC_2, KC_3,
- KC_4, KC_5,
- KC_6, MO(1)
- ),
-
- [1] = LAYOUT(
- QK_BOOT, KC_7,
- KC_8, KC_9,
- KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- switch (keycode) {
- case MYMACRO:
- if (record->event.pressed) {
- SEND_STRING("I went to the CannonKeys 2023 meetup and all I got was this macropad");
- }
- break;
- }
- return true;
-};
diff --git a/keyboards/cannonkeys/meetuppad2023/keymaps/via/rules.mk b/keyboards/cannonkeys/meetuppad2023/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/meetuppad2023/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/moment/keyboard.json b/keyboards/cannonkeys/moment/keyboard.json
index 4e489a7d9732..4aec3c9c060e 100644
--- a/keyboards/cannonkeys/moment/keyboard.json
+++ b/keyboards/cannonkeys/moment/keyboard.json
@@ -35,9 +35,13 @@
},
"community_layouts": [
"60_ansi_tsangan",
- "60_tsangan_hhkb",
- "60_iso_tsangan"
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift"
],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -179,7 +183,7 @@
{"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4.0, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0.0, "y": 0.0},
{"label": "!", "matrix": [0, 1], "x": 1.0, "y": 0.0},
@@ -318,7 +322,7 @@
{"label": "Ctrl", "matrix": [4, 14], "x": 13.5, "y": 4.0, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb_iso": {
+ "LAYOUT_60_iso_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0.0, "y": 0.0},
{"label": "!", "matrix": [0, 1], "x": 1.0, "y": 0.0},
diff --git a/keyboards/cannonkeys/moment/keymaps/via/keymap.c b/keyboards/cannonkeys/moment/keymaps/via/keymap.c
deleted file mode 100644
index a72db1eda1a9..000000000000
--- a/keyboards/cannonkeys/moment/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2022 Andrew Kannan (@awkannan)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS, KC_ENT,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
-
- [_FN1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- [_FN2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/cannonkeys/moment/keymaps/via/rules.mk b/keyboards/cannonkeys/moment/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/moment/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/moment_hs/keyboard.json b/keyboards/cannonkeys/moment_hs/keyboard.json
index c83c5e7a9d7e..dc1f6503227a 100644
--- a/keyboards/cannonkeys/moment_hs/keyboard.json
+++ b/keyboards/cannonkeys/moment_hs/keyboard.json
@@ -28,13 +28,14 @@
"pid": "0x0013"
},
"layout_aliases": {
- "LAYOUT_all": "LAYOUT_60_tsangan_hhkb"
+ "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift",
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
},
"community_layouts": [
- "60_tsangan_hhkb"
+ "60_ansi_tsangan_split_bs_rshift"
],
"layouts": {
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "!", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c b/keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c
index 3d829466c369..e4e3af2dabd7 100644
--- a/keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/moment_hs/keymaps/default/keymap.c
@@ -12,7 +12,7 @@ enum layer_names {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_60_tsangan_hhkb(
+ [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
@@ -20,7 +20,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
),
- [_FN1] = LAYOUT_60_tsangan_hhkb(
+ [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
_______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, QK_BOOT
),
- [_FN2] = LAYOUT_60_tsangan_hhkb(
+ [_FN2] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______
),
- [_FN3] = LAYOUT_60_tsangan_hhkb(
+ [_FN3] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cannonkeys/moment_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/moment_hs/keymaps/via/keymap.c
deleted file mode 100644
index 3d829466c369..000000000000
--- a/keyboards/cannonkeys/moment_hs/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2022 Andrew Kannan (@awkannan)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_60_tsangan_hhkb(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
-
- [_FN1] = LAYOUT_60_tsangan_hhkb(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- [_FN2] = LAYOUT_60_tsangan_hhkb(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN3] = LAYOUT_60_tsangan_hhkb(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
-
-};
diff --git a/keyboards/cannonkeys/moment_hs/keymaps/via/rules.mk b/keyboards/cannonkeys/moment_hs/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/moment_hs/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/obliterated75/keymaps/default/keymap.c b/keyboards/cannonkeys/obliterated75/keymaps/default/keymap.c
index 7f0f3e35546a..3398fdd46637 100644
--- a/keyboards/cannonkeys/obliterated75/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/obliterated75/keymaps/default/keymap.c
@@ -39,8 +39,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_all(
KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, RGB_TOG,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD,
+ QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, UG_TOGG,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_NEXT,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
BL_UP, BL_DOWN, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
diff --git a/keyboards/cannonkeys/obliterated75/keymaps/via/keymap.c b/keyboards/cannonkeys/obliterated75/keymaps/via/keymap.c
deleted file mode 100644
index d976ed535512..000000000000
--- a/keyboards/cannonkeys/obliterated75/keymaps/via/keymap.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, RGB_TOG,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_UP, BL_DOWN, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
- ),
-
-
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
diff --git a/keyboards/cannonkeys/obliterated75/keymaps/via/rules.mk b/keyboards/cannonkeys/obliterated75/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/obliterated75/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/onyx/keymaps/via/keymap.c b/keyboards/cannonkeys/onyx/keymaps/via/keymap.c
deleted file mode 100644
index 2dbd2514b7f1..000000000000
--- a/keyboards/cannonkeys/onyx/keymaps/via/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- KC_MPLY, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_GRV, KC_INS, KC_HOME, KC_PGUP,
- KC_MUTE, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_MPRV, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_MNXT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-
-};
diff --git a/keyboards/cannonkeys/onyx/keymaps/via/rules.mk b/keyboards/cannonkeys/onyx/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/onyx/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/ortho48/keymaps/default/keymap.c b/keyboards/cannonkeys/ortho48/keymaps/default/keymap.c
index 8c03c43f9f86..017add2ebf32 100644
--- a/keyboards/cannonkeys/ortho48/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/ortho48/keymaps/default/keymap.c
@@ -83,6 +83,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- RGB_TOG, RGB_MOD, BL_UP, BL_DOWN,_______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ UG_TOGG, UG_NEXT, BL_UP, BL_DOWN,_______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
),
};
diff --git a/keyboards/cannonkeys/ortho48/keymaps/via/keymap.c b/keyboards/cannonkeys/ortho48/keymaps/via/keymap.c
deleted file mode 100644
index 4562482e07bb..000000000000
--- a/keyboards/cannonkeys/ortho48/keymaps/via/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- BL_TOGG, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-[1] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-[2] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- RGB_TOG, RGB_MOD, BL_UP, BL_DOWN,_______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-[3] = LAYOUT_ortho_4x12(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-)
-};
diff --git a/keyboards/cannonkeys/ortho48/keymaps/via/rules.mk b/keyboards/cannonkeys/ortho48/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/cannonkeys/ortho48/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/cannonkeys/ortho48v2/keymaps/via/keymap.c b/keyboards/cannonkeys/ortho48v2/keymaps/via/keymap.c
deleted file mode 100644
index 1776d294afba..000000000000
--- a/keyboards/cannonkeys/ortho48v2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT ,
- BL_TOGG, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-[1] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, S(KC_NUHS), S(KC_NUBS), KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-[2] = LAYOUT_ortho_4x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, BL_UP , BL_DOWN, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-[3] = LAYOUT_ortho_4x12(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-)
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN) },
- [2] = { ENCODER_CCW_CW(KC_MS_WH_LEFT, KC_MS_WH_RIGHT) },
- [3] = { ENCODER_CCW_CW(QK_BACKLIGHT_DOWN, QK_BACKLIGHT_UP) },
-};
-#endif
diff --git a/keyboards/cannonkeys/ortho48v2/keymaps/via/rules.mk b/keyboards/cannonkeys/ortho48v2/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/cannonkeys/ortho48v2/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/cannonkeys/ortho60/keymaps/default/keymap.c b/keyboards/cannonkeys/ortho60/keymaps/default/keymap.c
index c120a615fe5a..e96c52c63486 100644
--- a/keyboards/cannonkeys/ortho60/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/ortho60/keymaps/default/keymap.c
@@ -92,6 +92,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
_______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- RGB_TOG, RGB_MOD, BL_UP, BL_DOWN, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
+ UG_TOGG, UG_NEXT, BL_UP, BL_DOWN, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
)
};
diff --git a/keyboards/cannonkeys/ortho60/keymaps/via/keymap.c b/keyboards/cannonkeys/ortho60/keymaps/via/keymap.c
deleted file mode 100644
index a5d88980dcde..000000000000
--- a/keyboards/cannonkeys/ortho60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- BL_TOGG, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-[1] = LAYOUT_ortho_5x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-[2] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- RGB_TOG, RGB_MOD, BL_UP, BL_DOWN, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-[3] = LAYOUT_ortho_5x12(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-)
-};
diff --git a/keyboards/cannonkeys/ortho60/keymaps/via/rules.mk b/keyboards/cannonkeys/ortho60/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/cannonkeys/ortho60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/cannonkeys/ortho60v2/keymaps/via/keymap.c b/keyboards/cannonkeys/ortho60v2/keymaps/via/keymap.c
deleted file mode 100644
index 37a0f8794f30..000000000000
--- a/keyboards/cannonkeys/ortho60v2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- BL_TOGG, KC_LCTL, KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
-),
-
-[1] = LAYOUT_ortho_5x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),KC_HOME, KC_END, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-[2] = LAYOUT_ortho_5x12(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, KC_PGUP, KC_PGDN, _______,
- _______, _______, BL_UP, BL_DOWN, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
-),
-
-[3] = LAYOUT_ortho_5x12(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
-)
-};
diff --git a/keyboards/cannonkeys/ortho60v2/keymaps/via/rules.mk b/keyboards/cannonkeys/ortho60v2/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/ortho60v2/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/ortho75/keymaps/default/keymap.c b/keyboards/cannonkeys/ortho75/keymaps/default/keymap.c
index baf581442f37..837bfef48cdb 100644
--- a/keyboards/cannonkeys/ortho75/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/ortho75/keymaps/default/keymap.c
@@ -64,9 +64,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN] = LAYOUT_ortho_5x15( /* FUNCTION */
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_NUM, KC_SLSH, KC_ASTR, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, RGB_HUD, RGB_HUI, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, RGB_SAD, RGB_SAI, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______,
- KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, RGB_VAD, RGB_VAI, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______,
- _______, _______, RGB_TOG, MO(_FN), RGB_RMOD,RGB_MOD, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______
+ KC_MSEL, KC_CALC, KC_MYCM, KC_MAIL, UG_HUED, UG_HUEU, KC_P7, KC_P8, KC_P9, KC_MINS, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS,
+ KC_MPRV, KC_MPLY, KC_MNXT, KC_MSTP, UG_SATD, UG_SATU, KC_P4, KC_P5, KC_P6, KC_PLUS, _______, QK_BOOT, _______, _______, _______,
+ KC_VOLD, KC_MUTE, KC_VOLU, KC_APP, UG_VALD, UG_VALU, KC_P1, KC_P2, KC_P3, KC_PENT, _______, _______, _______, _______, _______,
+ _______, _______, UG_TOGG, MO(_FN), UG_PREV, UG_NEXT, KC_P0, _______, KC_PDOT, KC_PENT, KC_PENT, MO(_FN), _______, _______, _______
)
};
diff --git a/keyboards/cannonkeys/petrichor/keymaps/default/keymap.c b/keyboards/cannonkeys/petrichor/keymaps/default/keymap.c
index 8f2a516b7321..05e0ad2a9393 100644
--- a/keyboards/cannonkeys/petrichor/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/petrichor/keymaps/default/keymap.c
@@ -16,8 +16,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_all( /* Function Layer */
QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_TOGG, UG_HUEU, UG_SATU, UG_VALU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, UG_NEXT, UG_HUED, UG_SATD, UG_VALD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/cannonkeys/petrichor/keymaps/via/keymap.c b/keyboards/cannonkeys/petrichor/keymaps/via/keymap.c
deleted file mode 100644
index 8f2a516b7321..000000000000
--- a/keyboards/cannonkeys/petrichor/keymaps/via/keymap.c
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright 2024 Andrew Kannan
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_all( /* Base */
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RGUI, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT, KC_PENT
- ),
-
- [1] = LAYOUT_all( /* Function Layer */
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______,_______, _______, _______, _______, _______, _______, _______
- ),
-
-};
\ No newline at end of file
diff --git a/keyboards/cannonkeys/petrichor/keymaps/via/rules.mk b/keyboards/cannonkeys/petrichor/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/petrichor/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/practice60/keymaps/default/keymap.c b/keyboards/cannonkeys/practice60/keymaps/default/keymap.c
index b7303d34db27..310ddfb899e5 100644
--- a/keyboards/cannonkeys/practice60/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/practice60/keymaps/default/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_60_ansi(
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, _______, _______, _______, _______, _______, _______, _______
diff --git a/keyboards/cannonkeys/practice60/keymaps/via/keymap.c b/keyboards/cannonkeys/practice60/keymaps/via/keymap.c
deleted file mode 100644
index ba853dec383a..000000000000
--- a/keyboards/cannonkeys/practice60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_60_ansi(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- LT(1,KC_CAPS), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MT(MOD_RSFT,KC_UP),
- KC_LCTL, KC_LGUI, KC_LALT , KC_SPC, KC_RALT, LT(1,KC_LEFT), LT(2,KC_DOWN), MT(MOD_RCTL,KC_RGHT)
- ),
-
- [1] = LAYOUT_60_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PSCR, KC_HOME, KC_END, KC_TRNS,
- KC_TRNS, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_PGDN, KC_TRNS,
- KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_TRNS, KC_INS, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MENU, KC_TRNS
- ),
-
- [2] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DOWN,BL_UP, KC_TRNS,
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT,
- KC_TRNS, RGB_RMOD, RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_60_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/practice60/keymaps/via/rules.mk b/keyboards/cannonkeys/practice60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/practice60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/practice65/keymaps/default/keymap.c b/keyboards/cannonkeys/practice65/keymaps/default/keymap.c
index 1addad6b0dd9..060191ae8d98 100644
--- a/keyboards/cannonkeys/practice65/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/practice65/keymaps/default/keymap.c
@@ -39,7 +39,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_FN1] = LAYOUT_default(
QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
KC_GRV, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/cannonkeys/rekt1800/keymaps/via/keymap.c b/keyboards/cannonkeys/rekt1800/keymaps/via/keymap.c
deleted file mode 100644
index 1ebf06221e1b..000000000000
--- a/keyboards/cannonkeys/rekt1800/keymaps/via/keymap.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_DEL, KC_INS, KC_PGUP, KC_PGDN,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT, KC_P0, KC_PDOT
- ),
-
- [_FN1] = LAYOUT_all(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_BRTG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_UP, BL_DOWN,BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/rekt1800/keymaps/via/rules.mk b/keyboards/cannonkeys/rekt1800/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/rekt1800/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/ripple/keymaps/default/keymap.c b/keyboards/cannonkeys/ripple/keymaps/default/keymap.c
index 7310c1f426cc..bbebcd6522a4 100644
--- a/keyboards/cannonkeys/ripple/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/ripple/keymaps/default/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[_FN1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_TOGG, UG_NEXT, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, UG_VALD, UG_VALU, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/cannonkeys/ripple/keymaps/via/keymap.c b/keyboards/cannonkeys/ripple/keymaps/via/keymap.c
deleted file mode 100644
index 99fa04f5528c..000000000000
--- a/keyboards/cannonkeys/ripple/keymaps/via/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [_FN1] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN2] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN3] = LAYOUT(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
diff --git a/keyboards/cannonkeys/ripple/keymaps/via/rules.mk b/keyboards/cannonkeys/ripple/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/ripple/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/ripple_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/ripple_hs/keymaps/via/keymap.c
deleted file mode 100644
index fd80ec93d684..000000000000
--- a/keyboards/cannonkeys/ripple_hs/keymaps/via/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_tkl_f13_ansi_tsangan(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [_FN1] = LAYOUT_tkl_f13_ansi_tsangan(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN2] = LAYOUT_tkl_f13_ansi_tsangan(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN3] = LAYOUT_tkl_f13_ansi_tsangan(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
diff --git a/keyboards/cannonkeys/ripple_hs/keymaps/via/rules.mk b/keyboards/cannonkeys/ripple_hs/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/ripple_hs/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/sagittarius/keyboard.json b/keyboards/cannonkeys/sagittarius/keyboard.json
index 8f83a42984b1..e64268ab53a8 100644
--- a/keyboards/cannonkeys/sagittarius/keyboard.json
+++ b/keyboards/cannonkeys/sagittarius/keyboard.json
@@ -60,6 +60,14 @@
"resync": true
}
},
+ "encoder": {
+ "rotary": [
+ {"pin_a": "B12", "pin_b": "B11", "resolution": 2},
+ {"pin_a": "B12", "pin_b": "B11", "resolution": 2},
+ {"pin_a": "B12", "pin_b": "B11", "resolution": 2},
+ {"pin_a": "B12", "pin_b": "B11", "resolution": 2}
+ ]
+ },
"layouts": {
"LAYOUT_default": {
"layout": [
diff --git a/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c b/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c
index 093895bb99f5..a97574c7745b 100644
--- a/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/sagittarius/keymaps/default/keymap.c
@@ -44,3 +44,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
)
};
+
+#if defined(ENCODER_MAP_ENABLE)
+const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
+ [0] = { ENCODER_CCW_CW(KC_MS_WH_UP, KC_MS_WH_DOWN), ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(UG_HUED, UG_HUEU), ENCODER_CCW_CW(UG_SATD, UG_SATU) },
+ [1] = { ENCODER_CCW_CW(UG_VALD, UG_VALU), ENCODER_CCW_CW(UG_SPDD, UG_SPDU), ENCODER_CCW_CW(UG_PREV, UG_NEXT), ENCODER_CCW_CW(KC_RIGHT, KC_LEFT) },
+};
+#endif
diff --git a/keyboards/cannonkeys/sagittarius/keymaps/default/rules.mk b/keyboards/cannonkeys/sagittarius/keymaps/default/rules.mk
new file mode 100644
index 000000000000..376fe3d8dcd8
--- /dev/null
+++ b/keyboards/cannonkeys/sagittarius/keymaps/default/rules.mk
@@ -0,0 +1,2 @@
+ENCODER_ENABLE = yes
+ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c b/keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c
deleted file mode 100644
index a5a0f521498c..000000000000
--- a/keyboards/cannonkeys/sagittarius/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
-Copyright 2021 Andrew Kannan
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_default(
- KC_PGUP, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_PGDN, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_HOME, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_ENT,
- KC_END, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_RSFT,
- KC_LCTL, KC_LGUI, KC_LALT, MO(_FN1), KC_SPC, KC_SPC, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_default(
- KC_INS, KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_DEL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
diff --git a/keyboards/cannonkeys/sagittarius/keymaps/via/rules.mk b/keyboards/cannonkeys/sagittarius/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/sagittarius/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/sagittarius/sagittarius.c b/keyboards/cannonkeys/sagittarius/sagittarius.c
new file mode 100644
index 000000000000..1000f7dd43ac
--- /dev/null
+++ b/keyboards/cannonkeys/sagittarius/sagittarius.c
@@ -0,0 +1,40 @@
+// Copyright 2024 Nick Brassel (@tzarc)
+// SPDX-License-Identifier: GPL-2.0-or-later
+#include QMK_KEYBOARD_H
+
+#if defined(ENCODER_ENABLE) || defined(ENCODER_MAP_ENABLE)
+
+# if !defined(ENCODER_SETTLE_PIN_STATE_DELAY_US)
+# define ENCODER_SETTLE_PIN_STATE_DELAY_US 2
+# endif
+
+static pin_t matrix_row_pins[MATRIX_ROWS] = MATRIX_ROW_PINS;
+
+void encoder_driver_task(void) {
+ // Set all relevant rows to output, which is different to the matrix expectations
+ for (uint8_t i = 0; i < 4; i++) {
+ gpio_set_pin_output(matrix_row_pins[i]);
+ }
+
+ // Read each encoder
+ for (uint8_t i = 0; i < 4; i++) {
+ // Set the row pin low for the corresponding encoder...
+ for (uint8_t j = 0; j < 4; j++) {
+ gpio_write_pin(matrix_row_pins[j], (i == j) ? 0 : 1);
+ }
+ // ...and let them settle.
+ wait_us(ENCODER_SETTLE_PIN_STATE_DELAY_US);
+
+ // Run the normal encoder handling
+ extern void encoder_quadrature_handle_read(uint8_t index, uint8_t pin_a_state, uint8_t pin_b_state);
+ extern uint8_t encoder_quadrature_read_pin(uint8_t index, bool pad_b);
+ encoder_quadrature_handle_read(i, encoder_quadrature_read_pin(i, false), encoder_quadrature_read_pin(i, true));
+ }
+
+ // Set all rows back to input-high as per matrix expectations
+ for (uint8_t i = 0; i < 4; i++) {
+ gpio_set_pin_input_high(matrix_row_pins[i]);
+ }
+}
+
+#endif // defined(ENCODER_ENABLE) || defined(ENCODER_MAP_ENABLE)
diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c b/keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c
deleted file mode 100644
index 61981c652113..000000000000
--- a/keyboards/cannonkeys/satisfaction75/keymaps/via/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2023 Andrew Kannan (@awkannan)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, ENC_PRESS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cannonkeys/satisfaction75/keymaps/via/rules.mk b/keyboards/cannonkeys/satisfaction75/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/satisfaction75/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/keymap.c b/keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/keymap.c
deleted file mode 100644
index a0119fc0cd3c..000000000000
--- a/keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,25 +0,0 @@
-// Copyright 2023 Andrew Kannan (@awkannan)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-
-#include QMK_KEYBOARD_H
-#include "satisfaction_keycodes.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, ENC_PRESS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/rules.mk b/keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/satisfaction75/rev2/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json
index 214ef5f48adb..48faa60362b7 100644
--- a/keyboards/cannonkeys/satisfaction75_hs/keyboard.json
+++ b/keyboards/cannonkeys/satisfaction75_hs/keyboard.json
@@ -112,8 +112,9 @@
{"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
{"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
{"matrix": [5, 6], "x": 3.75, "y": 5.25, "w": 6.25},
- {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.5},
- {"matrix": [5, 11], "x": 11.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 10], "x": 10, "y": 5.25},
+ {"matrix": [5, 11], "x": 11, "y": 5.25},
+ {"matrix": [5, 9], "x": 12, "y": 5.25},
{"matrix": [5, 12], "x": 13.25, "y": 5.5},
{"matrix": [5, 13], "x": 14.25, "y": 5.5},
{"matrix": [5, 14], "x": 15.25, "y": 5.5}
diff --git a/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c b/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c
index c869bfc4b0c4..ffc9940c64e5 100644
--- a/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/satisfaction75_hs/keymaps/default/keymap.c
@@ -10,7 +10,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGUP,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT
),
[1] = LAYOUT_all(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG,
@@ -18,6 +18,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
+ QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c b/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c
deleted file mode 100644
index c869bfc4b0c4..000000000000
--- a/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/keymap.c
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2023 Andrew Kannan (@awkannan)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, ENC_PRESS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, OLED_TOGG,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, CLOCK_SET,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/rules.mk b/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/satisfaction75_hs/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/savage65/keymaps/default/keymap.c b/keyboards/cannonkeys/savage65/keymaps/default/keymap.c
index 475dd5a52bb9..4be95940921c 100644
--- a/keyboards/cannonkeys/savage65/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/savage65/keymaps/default/keymap.c
@@ -37,8 +37,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = LAYOUT_default(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, RGB_TOG,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD,
+ QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, UG_TOGG,
+ KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_NEXT,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
BL_UP, BL_DOWN, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
diff --git a/keyboards/cannonkeys/savage65/keymaps/via/keymap.c b/keyboards/cannonkeys/savage65/keymaps/via/keymap.c
deleted file mode 100644
index cdba5d037c3f..000000000000
--- a/keyboards/cannonkeys/savage65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_default(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_default(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, RGB_TOG,
- KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- BL_UP, BL_DOWN, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/savage65/keymaps/via/rules.mk b/keyboards/cannonkeys/savage65/keymaps/via/rules.mk
deleted file mode 100644
index 925eb95d6b20..000000000000
--- a/keyboards/cannonkeys/savage65/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# rules.mk overrides to enable VIA
-
-VIA_ENABLE = yes
-
diff --git a/keyboards/cannonkeys/serenity/keymaps/default/keymap.c b/keyboards/cannonkeys/serenity/keymaps/default/keymap.c
index b10cd494838a..cb1979d86179 100644
--- a/keyboards/cannonkeys/serenity/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/serenity/keymaps/default/keymap.c
@@ -31,7 +31,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
[_FN1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
+ KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_TOGG, UG_NEXT, UG_HUED, UG_HUEU, UG_SATD, UG_SATU, UG_VALD, UG_VALU, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
diff --git a/keyboards/cannonkeys/serenity/keymaps/via/keymap.c b/keyboards/cannonkeys/serenity/keymaps/via/keymap.c
deleted file mode 100644
index 519fc82dda3c..000000000000
--- a/keyboards/cannonkeys/serenity/keymaps/via/keymap.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_MPLY, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_TRNS, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [_FN1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_TOG, RGB_MOD, RGB_HUD, RGB_HUI, RGB_SAD, RGB_SAI, RGB_VAD, RGB_VAI, KC_TRNS, BL_TOGG, BL_DOWN, BL_UP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPLY, KC_MNXT, KC_VOLD,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
- [_FN3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-
-};
diff --git a/keyboards/cannonkeys/serenity/keymaps/via/rules.mk b/keyboards/cannonkeys/serenity/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/serenity/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/tmov2/keymaps/default/keymap.c b/keyboards/cannonkeys/tmov2/keymaps/default/keymap.c
index 2a06163a66dc..192aeccb7652 100644
--- a/keyboards/cannonkeys/tmov2/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/tmov2/keymaps/default/keymap.c
@@ -33,8 +33,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_BASE] = LAYOUT_default(
BL_UP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
BL_DOWN,KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- RGB_MOD, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN2),
- RGB_TOG, KC_LALT, KC_LGUI, LT(_FN1, KC_SPC), KC_SPC, KC_RALT, MO(_FN3)
+ UG_NEXT, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN2),
+ UG_TOGG, KC_LALT, KC_LGUI, LT(_FN1, KC_SPC), KC_SPC, KC_RALT, MO(_FN3)
),
[_FN1] = LAYOUT_default(
@@ -45,9 +45,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN2] = LAYOUT_default(
- RGB_TOG, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
- RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_RMOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ UG_TOGG, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
+ UG_NEXT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
+ UG_PREV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
diff --git a/keyboards/cannonkeys/tmov2/keymaps/via/keymap.c b/keyboards/cannonkeys/tmov2/keymaps/via/keymap.c
deleted file mode 100644
index 2a06163a66dc..000000000000
--- a/keyboards/cannonkeys/tmov2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_default(
- BL_UP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- BL_DOWN,KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- RGB_MOD, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN2),
- RGB_TOG, KC_LALT, KC_LGUI, LT(_FN1, KC_SPC), KC_SPC, KC_RALT, MO(_FN3)
- ),
-
- [_FN1] = LAYOUT_default(
- KC_TRNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_default(
- RGB_TOG, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS,
- RGB_MOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_RMOD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT_default(
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/tmov2/keymaps/via/rules.mk b/keyboards/cannonkeys/tmov2/keymaps/via/rules.mk
deleted file mode 100644
index 925eb95d6b20..000000000000
--- a/keyboards/cannonkeys/tmov2/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# rules.mk overrides to enable VIA
-
-VIA_ENABLE = yes
-
diff --git a/keyboards/cannonkeys/tsukuyomi/keymaps/default/keymap.c b/keyboards/cannonkeys/tsukuyomi/keymaps/default/keymap.c
index 1ab5bd7a179f..39be28e5228a 100644
--- a/keyboards/cannonkeys/tsukuyomi/keymaps/default/keymap.c
+++ b/keyboards/cannonkeys/tsukuyomi/keymaps/default/keymap.c
@@ -37,8 +37,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FN1] = LAYOUT_default(
- KC_ESC, QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, RGB_TOG,
- KC_F5, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD,
+ KC_ESC, QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, UG_TOGG,
+ KC_F5, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, UG_NEXT,
KC_F6, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_F7, BL_UP, BL_DOWN, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_F8, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
diff --git a/keyboards/cannonkeys/tsukuyomi/keymaps/via/keymap.c b/keyboards/cannonkeys/tsukuyomi/keymaps/via/keymap.c
deleted file mode 100644
index 259a247c95e2..000000000000
--- a/keyboards/cannonkeys/tsukuyomi/keymaps/via/keymap.c
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_default(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL, KC_INS,
- KC_F1, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_F2, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUBS, KC_ENT, KC_PGUP,
- KC_F3, KC_LSFT, KC_NUHS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_F4, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(_FN1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_default(
- KC_ESC, QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS, RGB_TOG,
- KC_F5, KC_TRNS, KC_TRNS, KC_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, RGB_MOD,
- KC_F6, BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F7, BL_UP, BL_DOWN, BL_TOGG, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_F8, KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS
- ),
-
- [_FN2] = LAYOUT_default(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [_FN3] = LAYOUT_default(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/tsukuyomi/keymaps/via/rules.mk b/keyboards/cannonkeys/tsukuyomi/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/tsukuyomi/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/typeb/keymaps/via/keymap.c b/keyboards/cannonkeys/typeb/keymaps/via/keymap.c
deleted file mode 100644
index 43980201b9da..000000000000
--- a/keyboards/cannonkeys/typeb/keymaps/via/keymap.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum {
- _BASE = 0,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL
- ),
-
- [_FN1] = LAYOUT(
- QK_GESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, QK_BOOT
- ),
- [_FN2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______
- ),
- [_FN3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cannonkeys/typeb/keymaps/via/rules.mk b/keyboards/cannonkeys/typeb/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/typeb/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/vector/keyboard.json b/keyboards/cannonkeys/vector/keyboard.json
index 09fd5b601fd5..46fc0b457801 100644
--- a/keyboards/cannonkeys/vector/keyboard.json
+++ b/keyboards/cannonkeys/vector/keyboard.json
@@ -29,9 +29,13 @@
},
"community_layouts": [
"60_ansi_tsangan",
- "60_tsangan_hhkb",
- "60_iso_tsangan"
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift"
],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -174,7 +178,7 @@
{"label": "Ctrl", "matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/cannonkeys/vector/keymaps/via/keymap.c b/keyboards/cannonkeys/vector/keymaps/via/keymap.c
deleted file mode 100644
index 53f1f83fd7bb..000000000000
--- a/keyboards/cannonkeys/vector/keymaps/via/keymap.c
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright 2022 Andrew Kannan (@awkannan)
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_BASE] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_FN1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
-
- [_FN1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- [_FN2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cannonkeys/vector/keymaps/via/rules.mk b/keyboards/cannonkeys/vector/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/vector/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cannonkeys/vicious40/keymaps/via/keymap.c b/keyboards/cannonkeys/vicious40/keymaps/via/keymap.c
deleted file mode 100644
index 67753e056a6f..000000000000
--- a/keyboards/cannonkeys/vicious40/keymaps/via/keymap.c
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-enum layer_names {
- _BASE,
- _FN1,
- _FN2,
- _FN3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [_BASE] = LAYOUT_default(
- QK_GESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_UP, KC_SLSH,
- KC_LCTL, KC_LGUI, KC_LALT, LT(_FN1, KC_SPC), KC_SPC, LT(_FN2, KC_SPC), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [_FN1] = LAYOUT_default(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_LBRC, KC_RBRC, KC_TRNS, KC_TRNS, KC_TRNS, KC_QUOT, KC_BSLS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MINS, KC_EQL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME, KC_PGDN, KC_END
- ),
-
- [_FN2] = LAYOUT_default(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_INS,
- KC_TRNS, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_UP, BL_TOGG,
- QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, BL_DOWN,BL_BRTG
- ),
-
- [_FN3] = LAYOUT_default(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/cannonkeys/vicious40/keymaps/via/rules.mk b/keyboards/cannonkeys/vicious40/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cannonkeys/vicious40/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cantor/keyboard.json b/keyboards/cantor/keyboard.json
index a9d84e6c8f46..26b79c0280f3 100644
--- a/keyboards/cantor/keyboard.json
+++ b/keyboards/cantor/keyboard.json
@@ -39,6 +39,9 @@
["A0", "A1", "A2", null, null, null]
]
}
+ },
+ "serial": {
+ "driver": "usart"
}
},
"community_layouts": ["split_3x6_3"],
diff --git a/keyboards/capsunlocked/cu24/keymaps/default/keymap.c b/keyboards/capsunlocked/cu24/keymaps/default/keymap.c
index 8e3078601fcb..68354c5c7050 100644
--- a/keyboards/capsunlocked/cu24/keymaps/default/keymap.c
+++ b/keyboards/capsunlocked/cu24/keymaps/default/keymap.c
@@ -26,11 +26,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT_grid( /* FN */
- RGB_TOG, RGB_MOD, BL_STEP, BL_BRTG,
+ UG_TOGG, UG_NEXT, BL_STEP, BL_BRTG,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- RGB_HUI, RGB_SAI, RGB_VAI, KC_TRNS,
- RGB_HUD, RGB_SAD, RGB_VAD, KC_TRNS,
+ UG_HUEU, UG_SATU, UG_VALU, KC_TRNS,
+ UG_HUED, UG_SATD, UG_VALD, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, QK_BOOT , KC_TRNS
+ KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS
),
};
diff --git a/keyboards/capsunlocked/cu65/keymaps/via/keymap.c b/keyboards/capsunlocked/cu65/keymaps/via/keymap.c
deleted file mode 100644
index 472f38e2c40a..000000000000
--- a/keyboards/capsunlocked/cu65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Copyright 2020 CapsUnlocked
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/capsunlocked/cu65/keymaps/via/rules.mk b/keyboards/capsunlocked/cu65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/capsunlocked/cu65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/capsunlocked/cu7/keymaps/default/keymap.c b/keyboards/capsunlocked/cu7/keymaps/default/keymap.c
index c89fe3f92537..5df801fb6f50 100644
--- a/keyboards/capsunlocked/cu7/keymaps/default/keymap.c
+++ b/keyboards/capsunlocked/cu7/keymaps/default/keymap.c
@@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[1] = LAYOUT(
_______,
- RGB_MOD, KC_UP, QK_BOOT,
+ UG_NEXT, KC_UP, QK_BOOT,
KC_LEFT, KC_DOWN, KC_RGHT
),
};
diff --git a/keyboards/capsunlocked/cu75/cu75.c b/keyboards/capsunlocked/cu75/cu75.c
index e04dd74bc8be..155b8958fc43 100644
--- a/keyboards/capsunlocked/cu75/cu75.c
+++ b/keyboards/capsunlocked/cu75/cu75.c
@@ -29,12 +29,10 @@ void matrix_init_kb(void)
#endif
}
-void matrix_scan_kb(void)
-{
+void housekeeping_task_kb(void) {
#ifdef WATCHDOG_ENABLE
wdt_reset();
#endif
- matrix_scan_user();
}
void click(uint16_t freq, uint16_t duration){
@@ -56,17 +54,19 @@ bool process_record_kb(uint16_t keycode, keyrecord_t* record)
if (click_toggle && record->event.pressed){
click(click_hz, click_time);
}
- if (keycode == QK_BOOT) {
- reset_keyboard_kb();
- }
return process_record_user(keycode, record);
}
-void reset_keyboard_kb(void){
+bool shutdown_kb(bool jump_to_bootloader) {
#ifdef WATCHDOG_ENABLE
+ // Unconditionally run so shutdown_user can't mess up watchdog
MCUSR = 0;
wdt_disable();
wdt_reset();
#endif
- reset_keyboard();
+
+ if (!shutdown_user(jump_to_bootloader)) {
+ return false;
+ }
+ return true;
}
diff --git a/keyboards/capsunlocked/cu80/v2/ansi/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/default/keymap.c
index b0270d17f90d..27725440e44a 100644
--- a/keyboards/capsunlocked/cu80/v2/ansi/keymaps/default/keymap.c
+++ b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/default/keymap.c
@@ -29,10 +29,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_tkl_ansi(
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUEU, RM_SATU, RM_VALU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUED, RM_SATD, RM_VALD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
+ _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RM_SPDD,
+ _______, _______, _______, _______, _______, _______, _______, _______, RM_PREV, RM_TOGG, RM_NEXT
)
};
diff --git a/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/keymap.c
deleted file mode 100644
index 4af55ef4b501..000000000000
--- a/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2021 CapsUnlocked
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_ansi(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_ansi(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
-
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, RGB_SPD,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
- )
-};
diff --git a/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/rules.mk b/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/capsunlocked/cu80/v2/ansi/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/capsunlocked/cu80/v2/iso/keymaps/default/keymap.c b/keyboards/capsunlocked/cu80/v2/iso/keymaps/default/keymap.c
index 4bae95ed0760..c13c244a3d2c 100644
--- a/keyboards/capsunlocked/cu80/v2/iso/keymaps/default/keymap.c
+++ b/keyboards/capsunlocked/cu80/v2/iso/keymaps/default/keymap.c
@@ -29,10 +29,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_tkl_iso(
QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUEU, RM_SATU, RM_VALU,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_HUED, RM_SATD, RM_VALD,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
+ _______, _______, _______, _______, _______, _______, _______, _______, RM_PREV, RM_TOGG, RM_NEXT
)
};
diff --git a/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/keymap.c b/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/keymap.c
deleted file mode 100644
index 01fd6c1ff5e2..000000000000
--- a/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2021 CapsUnlocked
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_tkl_iso(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
-
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_tkl_iso(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_M_P, RGB_M_B, RGB_M_R,
-
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUI, RGB_SAI, RGB_VAI,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_VAD,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, NK_TOGG, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, RGB_RMOD,RGB_TOG, RGB_MOD
- )
-};
diff --git a/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/rules.mk b/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/capsunlocked/cu80/v2/iso/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/carbo65/keymaps/via/keymap.c b/keyboards/carbo65/keymaps/via/keymap.c
deleted file mode 100644
index 6e72c592f7fb..000000000000
--- a/keyboards/carbo65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* Copyright 2021 Yiancar-Designs
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_65_ansi_blocker( /* Base */
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-[1] = LAYOUT_65_ansi_blocker( /* FN */
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_VOLU, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[2] = LAYOUT_65_ansi_blocker( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS),
-
-[3] = LAYOUT_65_ansi_blocker( /* Empty for dynamic keymaps */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS)
-};
diff --git a/keyboards/carbo65/keymaps/via/readme.md b/keyboards/carbo65/keymaps/via/readme.md
deleted file mode 100644
index 2cac26364805..000000000000
--- a/keyboards/carbo65/keymaps/via/readme.md
+++ /dev/null
@@ -1,5 +0,0 @@
-# The default keymap for Carbo 65. VIA support enabled.
-
-![Layer 0](https://i.imgur.com/3UZuHOl.png)
-
-![Layer 1](https://i.imgur.com/SmFQQ4c.png)
diff --git a/keyboards/carbo65/keymaps/via/rules.mk b/keyboards/carbo65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/carbo65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/catch22/keymaps/default/keymap.c b/keyboards/catch22/keymaps/default/keymap.c
index b17edcedbe53..03dd8f0dc6c2 100644
--- a/keyboards/catch22/keymaps/default/keymap.c
+++ b/keyboards/catch22/keymaps/default/keymap.c
@@ -12,7 +12,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_SPC, KC_P0, KC_PDOT, KC_TAB
),
[_FN] = LAYOUT(
- RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUI,
+ UG_TOGG, UG_NEXT, UG_HUEU, UG_HUEU,
_______, _______, _______, _______,
_______, _______, _______, _______, _______,
KC_2, _______, _______, _______, _______,
diff --git a/keyboards/chalice/keymaps/default/keymap.c b/keyboards/chalice/keymaps/default/keymap.c
index 79b4670e6ffc..f403526ae779 100644
--- a/keyboards/chalice/keymaps/default/keymap.c
+++ b/keyboards/chalice/keymaps/default/keymap.c
@@ -31,9 +31,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_default(
QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, RGB_TOG, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_MOD, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_RMOD,RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
+ _______, _______, UG_TOGG, UG_HUED, UG_HUEU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, UG_NEXT, UG_SATD, UG_SATU, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, UG_PREV, UG_VALD, UG_VALU, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
_______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
),
diff --git a/keyboards/chalice/keymaps/via/keymap.c b/keyboards/chalice/keymaps/via/keymap.c
deleted file mode 100644
index 79b4670e6ffc..000000000000
--- a/keyboards/chalice/keymaps/via/keymap.c
+++ /dev/null
@@ -1,55 +0,0 @@
-/* Copyright 2020 null-ll
- * Copyright 2021 Jels, Josh Johnson
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_default(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_INS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_DEL, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-
-
- [1] = LAYOUT_default(
- QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- _______, _______, RGB_TOG, RGB_HUD, RGB_HUI, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, RGB_MOD, RGB_SAD, RGB_SAI, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, RGB_RMOD,RGB_VAD, RGB_VAI, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP,
- _______, _______, _______, _______, _______, _______, _______, KC_HOME, KC_PGDN, KC_END
- ),
-
- [2] = LAYOUT_default(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT_default(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
\ No newline at end of file
diff --git a/keyboards/chalice/keymaps/via/rules.mk b/keyboards/chalice/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/chalice/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/chaos65/keymaps/via/keymap.c b/keyboards/chaos65/keymaps/via/keymap.c
deleted file mode 100644
index 1270fb1c148f..000000000000
--- a/keyboards/chaos65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2022 kb-elmo
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_INS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_HOME,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/chaos65/keymaps/via/rules.mk b/keyboards/chaos65/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/chaos65/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/charue/charon/keymaps/via/keymap.c b/keyboards/charue/charon/keymaps/via/keymap.c
deleted file mode 100644
index 901ae7f6115a..000000000000
--- a/keyboards/charue/charon/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2021 Charue Design
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [0] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLU,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_VOLD,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MUTE,
- KC_LCTL, KC_LGUI, KC_LALT, KC_LGUI, KC_SPC, KC_SPC, KC_RGUI, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- [1] = LAYOUT_all(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, QK_BOOT, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/charue/charon/keymaps/via/rules.mk b/keyboards/charue/charon/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/charue/charon/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/charue/sunsetter/keymaps/via/keymap.c b/keyboards/charue/sunsetter/keymaps/via/keymap.c
deleted file mode 100644
index c8729bfd2b50..000000000000
--- a/keyboards/charue/sunsetter/keymaps/via/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_1065_ansi(
- KC_F1, KC_F2, QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU,
- KC_F3, KC_F4, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
- KC_F5, KC_F6, KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_MUTE,
- KC_F7, KC_F8, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_MNXT,
- KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
- [1] = LAYOUT_1065_ansi(
- KC_F1, KC_F2, QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU,
- KC_F3, KC_F4, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
- KC_F5, KC_F6, KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_MUTE,
- KC_F7, KC_F8, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_MNXT,
- KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
- [2] = LAYOUT_1065_ansi(
- KC_F1, KC_F2, QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU,
- KC_F3, KC_F4, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
- KC_F5, KC_F6, KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_MUTE,
- KC_F7, KC_F8, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_MNXT,
- KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
- [3] = LAYOUT_1065_ansi(
- KC_F1, KC_F2, QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC, KC_VOLU,
- KC_F3, KC_F4, KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
- KC_F5, KC_F6, KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_MUTE,
- KC_F7, KC_F8, KC_LSFT, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_UP , KC_MNXT,
- KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, KC_LEFT, KC_DOWN, KC_RGHT),
-};
diff --git a/keyboards/charue/sunsetter/keymaps/via/rules.mk b/keyboards/charue/sunsetter/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/charue/sunsetter/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/charue/sunsetter_r2/keymaps/default/keymap.c b/keyboards/charue/sunsetter_r2/keymaps/default/keymap.c
index 9d973f6480c5..03bccf27ecf8 100644
--- a/keyboards/charue/sunsetter_r2/keymaps/default/keymap.c
+++ b/keyboards/charue/sunsetter_r2/keymaps/default/keymap.c
@@ -23,6 +23,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_F13, KC_F14, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
KC_F15, KC_F16, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MUTE,
KC_F17, KC_F18, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MNXT,
- RGB_MOD, KC_F20, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_TRNS, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
+ UG_NEXT, KC_F20, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_TRNS, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
)
};
diff --git a/keyboards/charue/sunsetter_r2/keymaps/via/keymap.c b/keyboards/charue/sunsetter_r2/keymaps/via/keymap.c
deleted file mode 100644
index 3a2947932e71..000000000000
--- a/keyboards/charue/sunsetter_r2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright 2022 Charue Design
-// SPDX-License-Identifier: GPL-2.0-or-later
-
-#include QMK_KEYBOARD_H
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE,
- _FN0,
- _FN1,
- _FN2,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [_BASE] = LAYOUT_all(
- KC_F1, KC_F2, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_VOLU,
- KC_F3, KC_F4, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
- KC_F5, KC_F6, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MUTE,
- KC_F7, KC_F8, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MNXT,
- KC_F9, KC_F10, KC_LCTL, KC_LGUI, KC_LALT, MO(_FN0), KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- [_FN0] = LAYOUT_all(
- KC_F11, KC_F12, QK_BOOT, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC, KC_VOLU,
- KC_F13, KC_F14, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_VOLD,
- KC_F15, KC_F16, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_MUTE,
- KC_F17, KC_F18, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_MNXT,
- KC_F19, KC_F20, KC_LCTL, KC_LGUI, KC_LALT, KC_TRNS, KC_SPC, KC_SPC, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- [_FN1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [_FN2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_LCTL, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
diff --git a/keyboards/charue/sunsetter_r2/keymaps/via/rules.mk b/keyboards/charue/sunsetter_r2/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/charue/sunsetter_r2/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/checkerboards/axon40/keymaps/default/keymap.c b/keyboards/checkerboards/axon40/keymaps/default/keymap.c
index bb60e1c31d87..09e9d1c312c9 100644
--- a/keyboards/checkerboards/axon40/keymaps/default/keymap.c
+++ b/keyboards/checkerboards/axon40/keymaps/default/keymap.c
@@ -77,10 +77,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[2] = LAYOUT(
- RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI,
- RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD,
+ UG_HUEU, UG_SATU, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, UG_VALU,
+ UG_HUED, UG_SATD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, UG_VALD,
KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD
+ QK_BOOT, UG_TOGG, _______, _______, UG_NEXT, UG_PREV
),
};
diff --git a/keyboards/checkerboards/axon40/keymaps/via/keymap.c b/keyboards/checkerboards/axon40/keymaps/via/keymap.c
deleted file mode 100644
index db536745af19..000000000000
--- a/keyboards/checkerboards/axon40/keymaps/via/keymap.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/* Copyright 2021 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
- * ,-----------------------------------------------------------------------------------.
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Ctrl | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Esc | OS | Alt | Layer | Space | Alt | RGB | Super |
- * `-----------------------------------------------------------------------------------'
- */
-
-[0] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_RALT, KC_CAPS
-),
-
-/* 1
- * ,-----------------------------------------------------------------------------------.
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | F | P | G | J | L | U | Y | ; | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | R | S | T | D | H | N | E | I | O | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | K | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-
-[1] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______,
- CALTDEL, TSKMGR, _______, KC_SPC, KC_NUBS, KC_GRV
-),
-
-/* 2
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-
-[2] = LAYOUT(
- RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI,
- RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD
-),
-
-/* 2
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | " | , | . | P | Y | F | G | C | R | L | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Esc | A | O | E | U | I | D | H | T | N | S | / |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| ; | Q | J | K | X | B | M | W | V | Z |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
-
-[3] = LAYOUT(
- RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI,
- RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, RGB_TOG, _______, _______, RGB_MOD, RGB_RMOD
-),
-
-};
diff --git a/keyboards/checkerboards/axon40/keymaps/via/rules.mk b/keyboards/checkerboards/axon40/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/checkerboards/axon40/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c
index 628d9bbf3236..eb5a5529a0ab 100644
--- a/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c
+++ b/keyboards/checkerboards/candybar_ortho/keymaps/2x3u/keymap.c
@@ -40,7 +40,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_HOME, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_NUM, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
KC_PGUP, CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_PGDN, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P1, KC_P2, KC_P3, KC_PMNS, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_GRV, KC_LGUI, KC_LALT, RGB_TOG, TT(1), KC_P0, KC_PDOT, KC_BSLS, LT(2, KC_SPC), KC_RALT, KC_RCTL, CALTDEL, KC_CAPS
+ KC_GRV, KC_LGUI, KC_LALT, UG_TOGG, TT(1), KC_P0, KC_PDOT, KC_BSLS, LT(2, KC_SPC), KC_RALT, KC_RCTL, CALTDEL, KC_CAPS
),
/* 1
@@ -75,9 +75,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '----------------------------------------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_2x3u(
- RGB_HUI, RGB_SAI, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI,
- RGB_HUD, RGB_SAD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD,
+ UG_HUEU, UG_SATU, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, UG_VALU,
+ UG_HUED, UG_SATD, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, UG_VALD,
_______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- QK_BOOT, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD
+ QK_BOOT, UG_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_PREV
),
};
diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c
index 0642face9d1d..d655d7151fa4 100644
--- a/keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c
+++ b/keyboards/checkerboards/candybar_ortho/keymaps/7u/keymap.c
@@ -75,9 +75,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '----------------------------------------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_7u(
- RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI,
- RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD,
+ UG_HUEU, UG_SATU, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, UG_VALU,
+ UG_HUED, UG_SATD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, UG_VALD,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- QK_BOOT, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD
+ QK_BOOT, UG_TOGG, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_PREV
),
};
diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c
index 0f2c6bd867f6..ade1dbb28a2a 100644
--- a/keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c
+++ b/keyboards/checkerboards/candybar_ortho/keymaps/default/keymap.c
@@ -75,9 +75,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '----------------------------------------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_grid(
- RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI,
- RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD,
+ UG_HUEU, UG_SATU, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, UG_VALU,
+ UG_HUED, UG_SATD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, UG_VALD,
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- QK_BOOT, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD
+ QK_BOOT, UG_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, UG_NEXT, UG_PREV
),
};
diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/via/config.h b/keyboards/checkerboards/candybar_ortho/keymaps/via/config.h
deleted file mode 100644
index 6d6bb8ea3902..000000000000
--- a/keyboards/checkerboards/candybar_ortho/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2021 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define TAPPING_TOGGLE 2
-#define TAPPING_TERM 200
diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/via/keymap.c b/keyboards/checkerboards/candybar_ortho/keymaps/via/keymap.c
deleted file mode 100644
index 0f2c6bd867f6..000000000000
--- a/keyboards/checkerboards/candybar_ortho/keymaps/via/keymap.c
+++ /dev/null
@@ -1,83 +0,0 @@
-/* Copyright 2021 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-/* Qwerty
-* .-----------------------------------------------------------------------------------------------------------------------.
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------|
-* | Tab | Q | W | E | R | T | NLCK | N7 | N8 | N9 | HOME | Y | U | I | O | P | Bksp |
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------|
-* |C(ESC)| A | S | D | F | G | INS | N4 | N5 | N6 | PgUp | H | J | K | L | '" | ;: |
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------|
-* |Shift | Z | X | C | V | B | DEL | N1 | N2 | N3 | PgDn | N | M | , | . | ? | Ent |
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------|
-* | LCTRL| LOS | LALT | / | ` | - | = | [ |TT(1) |LT(SPC)| ] | MENU | RALT | ROS |RCTRL | CAPS |QK_BOOT |
-* '-----------------------------------------------------------------------------------------------------------------------'
-*/
-[0] = LAYOUT_grid(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_NUM, KC_P7, KC_P8, KC_P9, KC_HOME, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_INS, KC_P4, KC_P5, KC_P6, KC_PGUP, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_DEL, KC_P1, KC_P2, KC_P3, KC_PGDN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_BSLS, KC_GRV, KC_MINS, KC_EQL, KC_LBRC, TT(1), LT(2, KC_SPC), KC_RBRC, KC_MENU, KC_RALT, KC_RGUI, KC_RCTL, KC_CAPS, QK_BOOT
-),
-
-/* 1
-* .-----------------------------------------------------------------------------------------------------------------------.
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------|
-* | ~ | ! | @ | # | $ | % | | | | | | ^ | & | * | ( | ) | Bksp |
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------|
-* | \ | 1 | 2 | 3 | 4 | 5 | | | | | 6 | 7 | 8 | 9 | 0 | / | |
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------|
-* | | | | | | | | | | | | | | | + | = | |
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+-------|
-* |C.A.D.|TSKMGR| | | | | | | | | | | | | SPC | | | ` |
-* '-----------------------------------------------------------------------------------------------------------------------'
-*/
-[1] = LAYOUT_grid(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______,
- CALTDEL, TSKMGR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_SPC, KC_NUBS, KC_GRV
-),
-
-/* 2
-* .----------------------------------------------------------------------------------------------------------------------.
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
-* | RHUI | RSAI | | | UP | | | | | | | | _ | | ( | ) | RVAI |
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
-* | RHUD | RSAD | | LEFT | DOWN |RIGHT | | | | | | | - | | [ | ] | RVAD |
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
-* | | F1 | F2 | F3 | F4 | F5 | | | | F6 | F7 | F8 | F9 | F10 | F11 | F12 | |
-* |------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------+------|
-* |QK_BOOT | RTOG | | | | | | | | | | | | | | RMOD |RRMOD |
-* '----------------------------------------------------------------------------------------------------------------------'
-*/
-[2] = LAYOUT_grid(
- RGB_HUI, RGB_SAI, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, RGB_VAI,
- RGB_HUD, RGB_SAD, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, RGB_VAD,
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, _______, _______, _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______,
- QK_BOOT, RGB_TOG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, RGB_RMOD
-),
-};
diff --git a/keyboards/checkerboards/candybar_ortho/keymaps/via/rules.mk b/keyboards/checkerboards/candybar_ortho/keymaps/via/rules.mk
deleted file mode 100644
index 16d33cd89fe4..000000000000
--- a/keyboards/checkerboards/candybar_ortho/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-
diff --git a/keyboards/checkerboards/g_idb60/keyboard.json b/keyboards/checkerboards/g_idb60/keyboard.json
index b4fc0f9b6d90..16f70dc8683e 100644
--- a/keyboards/checkerboards/g_idb60/keyboard.json
+++ b/keyboards/checkerboards/g_idb60/keyboard.json
@@ -30,11 +30,12 @@
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layout_aliases": {
- "LAYOUT_all": "LAYOUT_60_tsangan_hhkb"
+ "LAYOUT_all": "LAYOUT_60_ansi_tsangan_split_bs_rshift",
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
},
"community_layouts": [
"60_ansi_tsangan",
- "60_tsangan_hhkb"
+ "60_ansi_tsangan_split_bs_rshift"
],
"layouts": {
"LAYOUT_60_ansi_tsangan": {
@@ -105,7 +106,7 @@
{"label": "Ctrl", "matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"label": "Esc", "matrix": [0, 0], "x": 0, "y": 0},
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c b/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c
index f49a3ff09d54..8f7839475352 100644
--- a/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c
+++ b/keyboards/checkerboards/g_idb60/keymaps/default/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |Ctrl |GUI |Alt | Space |Alt |GUI |Ctrl |
* `-------------------------------------------------------------'
*/
- [0] = LAYOUT_60_tsangan_hhkb(
+ [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | |QK_BOOT |
* `------------------------------------------------------------------------------'
*/
- [1] = LAYOUT_60_tsangan_hhkb(
+ [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
_______,_______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
@@ -75,7 +75,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | |QK_BOOT |
* `------------------------------------------------------------------------------'
*/
- [2] = LAYOUT_60_tsangan_hhkb(
+ [2] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
_______,_______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/checkerboards/g_idb60/keymaps/via/config.h b/keyboards/checkerboards/g_idb60/keymaps/via/config.h
deleted file mode 100644
index e862c2548397..000000000000
--- a/keyboards/checkerboards/g_idb60/keymaps/via/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
- /*
- Copyright 2021 Nathan Spears
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
- */
-
-#pragma once
-
-#define TAPPING_TERM 175
-
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/checkerboards/g_idb60/keymaps/via/keymap.c b/keyboards/checkerboards/g_idb60/keymaps/via/keymap.c
deleted file mode 100644
index 095aff40eb2a..000000000000
--- a/keyboards/checkerboards/g_idb60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,85 +0,0 @@
- /*
- Copyright 2021 Nathan Spears
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-
-#define RS_SLS RSFT_T(KC_SLSH)
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Default QWERTY layer
- * ,-------------------------------------------------------------.
- * |Esc| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = | \ |Del|
- * |-------------------------------------------------------------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | Bksp |
- * |-------------------------------------------------------------|
- * | Caps | A | S | D | F | G | H | J | K | L | ; | ' | Enter |
- * |-------------------------------------------------------------|
- * | Shift | Z | X | C | V | B | N | M | , | . | / | Shift | FN |
- * |-------------------------------------------------------------|
- * |Ctrl |GUI |Alt | Space |Alt |GUI |Ctrl |
- * `-------------------------------------------------------------'
- */
- [0] = LAYOUT_60_tsangan_hhkb(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, TT(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
- /* Main Numbers, Symbols & Function Layer
- * ,------------------------------------------------------------------------------.
- * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Del | |
- * |------------------------------------------------------------------------------|
- * |RTOG |RMOD| UP | | | | | | | | | | | | |
- * |------------------------------------------------------------------------------|
- * |BRTHE |LFT|DWN|RGHT| | | | | | | | | | |
- * |------------------------------------------------------------------------------|
- * |BINC |BDEC|BTOG| | | | | | | | | | | |
- * |------------------------------------------------------------------------------|
- * | | | | | | |QK_BOOT |
- * `------------------------------------------------------------------------------'
- */
- [1] = LAYOUT_60_tsangan_hhkb(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- /* Main Numbers, Symbols & Function Layer
- * ,------------------------------------------------------------------------------.
- * | `~ | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |Del | |
- * |------------------------------------------------------------------------------|
- * |RTOG |RMOD| UP | | | | | | | | | | | | |
- * |------------------------------------------------------------------------------|
- * |BRTHE |LFT|DWN|RGHT| | | | | | | | | | |
- * |------------------------------------------------------------------------------|
- * |BINC |BDEC|BTOG| | | | | | | | | | | |
- * |------------------------------------------------------------------------------|
- * | | | | | | |QK_BOOT |
- * `------------------------------------------------------------------------------'
- */
- [2] = LAYOUT_60_tsangan_hhkb(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, QK_BOOT
- )
-};
diff --git a/keyboards/checkerboards/g_idb60/keymaps/via/rules.mk b/keyboards/checkerboards/g_idb60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/checkerboards/g_idb60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/checkerboards/nop60/keyboard.json b/keyboards/checkerboards/nop60/keyboard.json
index a07c2af3bc58..9b86a3936a44 100644
--- a/keyboards/checkerboards/nop60/keyboard.json
+++ b/keyboards/checkerboards/nop60/keyboard.json
@@ -59,11 +59,12 @@
"processor": "atmega32u4",
"bootloader": "atmel-dfu",
"layout_aliases": {
- "LAYOUT_2x3u": "LAYOUT_60_tsangan_hhkb_split_space",
- "LAYOUT_7u": "LAYOUT_60_tsangan_hhkb"
+ "LAYOUT_2x3u": "LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space",
+ "LAYOUT_7u": "LAYOUT_60_ansi_tsangan_split_bs_rshift",
+ "LAYOUT_60_tsangan_hhkb_split_space": "LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space"
},
"layouts": {
- "LAYOUT_60_tsangan_hhkb_split_space": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
@@ -135,7 +136,7 @@
{"matrix": [4, 12], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/checkerboards/nop60/keymaps/7u/keymap.c b/keyboards/checkerboards/nop60/keymaps/7u/keymap.c
index 79cc519ae70e..8443807d5ff2 100644
--- a/keyboards/checkerboards/nop60/keymaps/7u/keymap.c
+++ b/keyboards/checkerboards/nop60/keymaps/7u/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |Ctrl |GUI |Alt | Space |Alt |GUI |Ctrl |
* `-------------------------------------------------------------'
*/
- [0] = LAYOUT_60_tsangan_hhkb(
+ [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
@@ -54,9 +54,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | |QK_BOOT |
* `------------------------------------------------------------------------------'
*/
- [1] = LAYOUT_60_tsangan_hhkb(
+ [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, QK_BOOT
@@ -75,9 +75,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | |QK_BOOT |
* `------------------------------------------------------------------------------'
*/
- [2] = LAYOUT_60_tsangan_hhkb(
+ [2] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/checkerboards/nop60/keymaps/default/keymap.c b/keyboards/checkerboards/nop60/keymaps/default/keymap.c
index b8b06e40ef52..9a8fb4f8b794 100644
--- a/keyboards/checkerboards/nop60/keymaps/default/keymap.c
+++ b/keyboards/checkerboards/nop60/keymaps/default/keymap.c
@@ -32,7 +32,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |Ctrl |GUI |Alt |Space |BLTOG |Space |Alt |GUI |Ctrl |
* `-------------------------------------------------------------'
*/
- [0] = LAYOUT_60_tsangan_hhkb_split_space(
+ [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
@@ -52,9 +52,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | |QK_BOOT |
* `------------------------------------------------------------------------------'
*/
- [1] = LAYOUT_60_tsangan_hhkb_split_space(
+ [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
@@ -73,9 +73,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* | | | | | | | | |QK_BOOT |
* `------------------------------------------------------------------------------'
*/
- [2] = LAYOUT_60_tsangan_hhkb_split_space(
+ [2] = LAYOUT_60_ansi_tsangan_split_bs_rshift_split_space(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/checkerboards/nop60/keymaps/via/config.h b/keyboards/checkerboards/nop60/keymaps/via/config.h
deleted file mode 100644
index e862c2548397..000000000000
--- a/keyboards/checkerboards/nop60/keymaps/via/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
- /*
- Copyright 2021 Nathan Spears
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
- */
-
-#pragma once
-
-#define TAPPING_TERM 175
-
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/checkerboards/nop60/keymaps/via/keymap.c b/keyboards/checkerboards/nop60/keymaps/via/keymap.c
deleted file mode 100644
index 07345b9ca8f3..000000000000
--- a/keyboards/checkerboards/nop60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,100 +0,0 @@
- /*
- Copyright 2021 Nathan Spears
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Layer names
-enum nop60_layers{
- // - Base layer:
- _BASE,
- // - Symbols, numbers, and functions:
- _FN1,
- // - Alternate Function layer:
- _FN2,
- // - VIA Layer:
- _VIA
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Default QWERTY layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
- * │Esc│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │Del│BkS│ │PgU│
- * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
- * │Tab │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ' │Enter │ │PgD│
- * ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
- * │LShift│ Z │ X │ C │ V │ B │ N │ M │ , │ . │Sft/│ ┌───┐ │CAP│
- * ├────┬─┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ ↑ │ └───┘
- * │LCtl│OS │LAlt│ Fn │ Space │RAlt│ Ln │ ┌───┼───┼───┐
- * └────┴───┴────┴──────────┴────────┴────┴────┘ │ ← │ ↓ │ → │
- * └───┴───┴───┘
- */
- [_BASE] = LAYOUT_60_tsangan_hhkb_split_space(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_SPC,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, BL_TOGG, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
- /* Main Numbers, Symbols & Function Layer (MOMENTARY)
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
- * │ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ [ │ ] │ \ │ │ │Hme│
- * ├───┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
- * │ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ │ │End│
- * ├────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
- * │ │ ( │ ) │ ; │ . │ │ - │ + │ * │ / │ = │ ┌───┐ │ │
- * ├────┬─┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ │ └───┘
- * │ │ │ │ │ │ │ │ ┌───┼───┼───┐
- * └────┴───┴────┴──────────┴────────┴────┴────┘ │ │ │ │
- * └───┴───┴───┘
- */
- [_FN1] = LAYOUT_60_tsangan_hhkb_split_space(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- /* ALTERNATE Function layer (MOMENTARY)
- * ┌────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ ┌───┐
- * │ PWR│F1 │F2 │F3 │F4 │F5 │F6 │ │ │ │ │PRV│NXT│ │VL+│
- * ├────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ ├───┤
- * │ SLP │F7 │F8 │F9 │F10│F11│F12│ │ │ │ │ PLAY │ │VL-│
- * ├─────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──┬───┘ ├───┤
- * │ WAKE │ │ │ │ │ │ │ │ │ │ │ ┌───┐ │ │
- * ├────┬──┴─┬─┴──┬┴───┴───┴─┬─┴───┴──┬┴───┼───┴┬───┘ │ │ └───┘
- * │RSET│ │ │ │ │ │ │ ┌───┼───┼───┐
- * └────┴────┴────┴──────────┴────────┴────┴────┘ │ │ │ │
- * └───┴───┴───┘
- */
- [_FN2] = LAYOUT_60_tsangan_hhkb_split_space(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- [_VIA] = LAYOUT_60_tsangan_hhkb_split_space(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- )
-};
diff --git a/keyboards/checkerboards/nop60/keymaps/via/rules.mk b/keyboards/checkerboards/nop60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/checkerboards/nop60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/checkerboards/phoenix45_ortho/keymaps/via/config.h b/keyboards/checkerboards/phoenix45_ortho/keymaps/via/config.h
deleted file mode 100644
index b1498826ee3e..000000000000
--- a/keyboards/checkerboards/phoenix45_ortho/keymaps/via/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/checkerboards/phoenix45_ortho/keymaps/via/keymap.c b/keyboards/checkerboards/phoenix45_ortho/keymaps/via/keymap.c
deleted file mode 100644
index 6d359f392d24..000000000000
--- a/keyboards/checkerboards/phoenix45_ortho/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2021 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_ortho_2x225u(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_PGUP, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_PGDN, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_HOME, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_GRV, KC_LGUI, KC_LALT, TT(1), CALTDEL, LT(2, KC_SPC), CALTDEL, KC_RALT, KC_CAPS
- ),
-
- [1] = LAYOUT_ortho_2x225u(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, _______, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______,
- KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, KC_NUBS, KC_GRV, _______
- ),
-
- [2] = LAYOUT_ortho_2x225u(
- _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT_ortho_2x225u(
- _______, _______, _______, KC_UP, _______, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/checkerboards/phoenix45_ortho/keymaps/via/rules.mk b/keyboards/checkerboards/phoenix45_ortho/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/checkerboards/phoenix45_ortho/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/checkerboards/plexus75/keymaps/default/keymap.c b/keyboards/checkerboards/plexus75/keymaps/default/keymap.c
index cca717764c72..dbc0a1f85e15 100644
--- a/keyboards/checkerboards/plexus75/keymaps/default/keymap.c
+++ b/keyboards/checkerboards/plexus75/keymaps/default/keymap.c
@@ -84,7 +84,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '-------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN1] = LAYOUT_2x2u(
- _______, _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
+ _______, _______, UG_TOGG, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
diff --git a/keyboards/checkerboards/plexus75/keymaps/default_3u/keymap.c b/keyboards/checkerboards/plexus75/keymaps/default_3u/keymap.c
index 91b6eeb99da9..13a5798b7441 100644
--- a/keyboards/checkerboards/plexus75/keymaps/default_3u/keymap.c
+++ b/keyboards/checkerboards/plexus75/keymaps/default_3u/keymap.c
@@ -80,7 +80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '-------------------------------------------------------------------------------------------------------------------------------------'
*/
[_FN1] = LAYOUT_2x3u(
- _______, _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
+ _______, _______, UG_TOGG, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
diff --git a/keyboards/checkerboards/plexus75/keymaps/via/keymap.c b/keyboards/checkerboards/plexus75/keymaps/via/keymap.c
deleted file mode 100644
index 8a38b9b555d5..000000000000
--- a/keyboards/checkerboards/plexus75/keymaps/via/keymap.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-// Layer shorthand
-enum layer_names {
- _BASE,
- _FN,
- _FN1,
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base Layer
- * .-----------------------------------------------------------------------------------------------------------------------------------------'
- * | ESC | 1 | 2 | 3 | 4 | 5 | [ | ] | ` | 6 | 7 | 8 | 9 | 0 | - |
- * |-----------+--------+--------+------- +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | TAB | Q | W | E | R | T | 7 | 8 | 9 | Y | U | I | O | P | BCKSPC |
- * |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | CTRL | A | S | D | F | G | 4 | 5 | 6 | H | J | K | L | ; | ' |
- * |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+------- +--------+--------+--------|
- * | LSHIFT | Z | X | C | V | B | 1 | 2 | 3 | N | M | , | . | / | ENTER |
- * |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | PRNSCRN | LGUI | LALT | TT(_FN) | SPACE | O | SPACE | TT(_FN1) | RALT | RGUI | CAPS |
- * '-----------------------------------------------------------------------------------------------------------------------------------------'
- */
- [_BASE] = LAYOUT_2x2u(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_RBRC, KC_GRV, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PSCR, KC_LGUI, KC_LALT, TT(_FN), KC_SPC, KC_P0, KC_SPC, TT(_FN1), KC_RALT, KC_RGUI, KC_CAPS
- ),
-
- /* Function Layer
- * .-------------------------------------------------------------------------------------------------------------------------------------'
- * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | F13 | DEL |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------|
- * | | | MENU | | | | | | | | | | PRT SC | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------|
- * | | | | | | | | | | | | | | QK_BOOT | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------|
- * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | |
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------|
- * | | QK_BOOT | QK_BOOT | | | | | | | | | | |
- * '-------------------------------------------------------------------------------------------------------------------------------------'
- */
- [_FN] = LAYOUT_2x2u(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_DEL,
- _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
- QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* 2nd Function Layer
- * .-------------------------------------------------------------------------------------------------------------------------------------'
- * | | |RGB ON OFF|HUE INC|HUE DEC|SAT INC |SAT DEC | | | | | | | |PRNSCRN |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------|
- * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | BCKSPC |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------|
- * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | |
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------|
- * | | QK_BOOT | QK_BOOT | | | | | | | | | | |
- * '-------------------------------------------------------------------------------------------------------------------------------------'
- */
- [_FN1] = LAYOUT_2x2u(
- _______, _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
- QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT_2x2u(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/checkerboards/plexus75/keymaps/via/rules.mk b/keyboards/checkerboards/plexus75/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/checkerboards/plexus75/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/checkerboards/plexus75_he/keymaps/2x2u/keymap.c b/keyboards/checkerboards/plexus75_he/keymaps/2x2u/keymap.c
index df02fe075538..96dfc0b65113 100644
--- a/keyboards/checkerboards/plexus75_he/keymaps/2x2u/keymap.c
+++ b/keyboards/checkerboards/plexus75_he/keymaps/2x2u/keymap.c
@@ -33,7 +33,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+------- +--------+--------+--------|
* | LSHIFT | Z | X | C | V | B | 1 | 2 | 3 | N | M | , | . | / | ENTER |
* |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | PRNSCRN | LGUI | LALT | MENU | TT(1) | O | SPACE (2) | RGB_TOG | RALT | RGUI | CAPS |
+ * | PRNSCRN | LGUI | LALT | MENU | TT(1) | O | SPACE (2) | UG_TOGG | RALT | RGUI | CAPS |
* '-----------------------------------------------------------------------------------------------------------------------------------------'
*/
[0] = LAYOUT_2x2u(
@@ -41,7 +41,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PSCR, KC_LGUI, KC_LALT, KC_MENU, TT(1), KC_P0, LT(2, KC_SPC), RGB_TOG, KC_RALT, KC_RGUI, KC_CAPS
+ KC_PSCR, KC_LGUI, KC_LALT, KC_MENU, TT(1), KC_P0, LT(2, KC_SPC), UG_TOGG, KC_RALT, KC_RGUI, KC_CAPS
),
/* Function Layer
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '-------------------------------------------------------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_2x2u(
- _______, _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
+ _______, _______, UG_TOGG, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
diff --git a/keyboards/checkerboards/plexus75_he/keymaps/default/keymap.c b/keyboards/checkerboards/plexus75_he/keymaps/default/keymap.c
index 447a589cda00..bee2c3a9fed4 100644
--- a/keyboards/checkerboards/plexus75_he/keymaps/default/keymap.c
+++ b/keyboards/checkerboards/plexus75_he/keymaps/default/keymap.c
@@ -79,7 +79,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '-------------------------------------------------------------------------------------------------------------------------------------'
*/
[2] = LAYOUT_2x3u(
- _______, _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
+ _______, _______, UG_TOGG, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
_______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
diff --git a/keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c b/keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c
deleted file mode 100644
index 5cb662d38bac..000000000000
--- a/keyboards/checkerboards/plexus75_he/keymaps/via/keymap.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base Layer
- * .-----------------------------------------------------------------------------------------------------------------------------------------'
- * | = | 1 | 2 | 3 | 4 | 5 | [ | ] | ` | 6 | 7 | 8 | 9 | 0 | - |
- * |-----------+--------+--------+------- +--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | TAB | Q | W | E | R | T | 7 | 8 | 9 | Y | U | I | O | P | BCKSPC |
- * |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | ESC(CTRL) | A | S | D | F | G | 4 | 5 | 6 | H | J | K | L | ; | ' |
- * |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+------- +--------+--------+--------|
- * | LSHIFT | Z | X | C | V | B | 1 | 2 | 3 | N | M | , | . | / | ENTER |
- * |-----------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------|
- * | PRNSCRN | LGUI | LALT | TT(_FN) | SPACE | O | SPACE | TT(_FN1) | RALT | RGUI | CAPS |
- * '-----------------------------------------------------------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT_2x3u(
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_LBRC, KC_RBRC, KC_GRV, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_P7, KC_P8, KC_P9, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_P4, KC_P5, KC_P6, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_P1, KC_P2, KC_P3, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PSCR, KC_LGUI, KC_LALT, KC_SPC, TT(1), KC_SPC, KC_RALT, KC_RGUI, KC_CAPS
- ),
-
- /* 1st Layer
- * .-------------------------------------------------------------------------------------------------------------------------------------'
- * | ` | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | F13 | DEL |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------|
- * | | | MENU | | | | | | | | | | PRT SC | | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------|
- * | | | | | | | | | | | | | | QK_BOOT | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------|
- * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | |
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------|
- * | | QK_BOOT | QK_BOOT | | | | | | | | | | |
- * '-------------------------------------------------------------------------------------------------------------------------------------'
- */
- [1] = LAYOUT_2x3u(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_DEL,
- _______, _______, KC_APP, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
- QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* 2nd Layer
- * .-------------------------------------------------------------------------------------------------------------------------------------'
- * | | |RGB ON OFF|HUE INC|HUE DEC|SAT INC |SAT DEC | | | | | | | |PRNSCRN |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------|
- * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | BCKSPC |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------|
- * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | |
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------|
- * | | QK_BOOT | QK_BOOT | | | | | | | | | | |
- * '-------------------------------------------------------------------------------------------------------------------------------------'
- */
- [2] = LAYOUT_2x3u(
- _______, _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
- QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* 3rd Function Layer
- * .-------------------------------------------------------------------------------------------------------------------------------------'
- * | | |RGB ON OFF|HUE INC|HUE DEC|SAT INC |SAT DEC | | | | | | | |PRNSCRN |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-------+--------|
- * | ` | 1 | 2 | 3 | 4 | 5 | | | | 6 | 7 | 8 | 9 | 0 | |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+-----------------+----------------|
- * | ~ | ! | @ | # | $ | % | | | | ^ | & | * | ( | ) | BCKSPC |
- * |--------+--------+--------+--------+--------+--------+--------+--------+--------+--------+--------------------------+----------------|
- * | | | | | | | | | | MUTE | VOL DN | VOL UP | \ | | |
- * |--------+--------+--------+--------+--------+-----------------+--------+--------+--------+-----------------+--------+----------------|
- * | | QK_BOOT | QK_BOOT | | | | | | | | | | |
- * '-------------------------------------------------------------------------------------------------------------------------------------'
- */
-
- [3] = LAYOUT_2x3u(
- _______, _______, RGB_TOG, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, _______, _______, _______, _______, _______, _______, _______, KC_PSCR,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, _______, _______, _______, KC_6, KC_7, KC_8, KC_9, KC_0, _______,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, _______, _______, _______, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, KC_BSLS, _______, _______,
- QK_BOOT, QK_BOOT, _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/checkerboards/plexus75_he/keymaps/via/rules.mk b/keyboards/checkerboards/plexus75_he/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/checkerboards/plexus75_he/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c b/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c
index 970fc0f3ee7e..6c3eb3f3857f 100644
--- a/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c
+++ b/keyboards/checkerboards/pursuit40/keymaps/default/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- RGB_TOG, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS
+ UG_TOGG, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS
),
/* [1]
diff --git a/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c b/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c
deleted file mode 100644
index 4fe94269dea3..000000000000
--- a/keyboards/checkerboards/pursuit40/keymaps/via/keymap.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/* Copyright 2020 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* [0]
- * ,-----------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |------------+------+------+------+------+-------------+------+------+------+------+------|
- * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " |
- * |------------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
- * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
- * `-----------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PSCR, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS
- ),
-
- /* [1]
- * ,---------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+----|
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC |
- * |------------+------+------+------+------+-------------+------+------+------+------+----|
- * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
- * |------------+------+------+------+------+------|------+------+------+------+------+----|
- * | | | | | | | | + | = | | | |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
- * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | |
- * `---------------------------------------------------------------------------------------'
- */
- [1] = LAYOUT(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______,
- KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______
- ),
-
- /* [2]
- * ,--------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+---|
- * | | | | UP | | | | _ | | [ | ] | |
- * |------------+------+------+------+------+-------------+------+------+------+------+---|
- * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
- * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | QK_BOOT | | | | | | | |
- * `---------------------------------------------------------------------------------------'
- */
- [2] = LAYOUT(
- _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______
- ),
- };
diff --git a/keyboards/checkerboards/pursuit40/keymaps/via/rules.mk b/keyboards/checkerboards/pursuit40/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/checkerboards/pursuit40/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/checkerboards/quark/keymaps/via/keymap.c b/keyboards/checkerboards/quark/keymaps/via/keymap.c
deleted file mode 100644
index 2919de1b473e..000000000000
--- a/keyboards/checkerboards/quark/keymaps/via/keymap.c
+++ /dev/null
@@ -1,94 +0,0 @@
-/* Copyright 2020 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* [0]
- * ,-----------------------------------------------------------------------------------------.
- * | = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
- * |------------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |------------+------+------+------+------+-------------+------+------+------+------+------|
- * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " |
- * |------------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
- * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
- * `-----------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT_ortho_5x12_2x225u(
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PSCR, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS
- ),
-
- /* [1]
- * ,---------------------------------------------------------------------------------------.
- * | = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
- * |------------+------+------+------+------+------+------+------+------+------+------+----|
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC |
- * |------------+------+------+------+------+-------------+------+------+------+------+----|
- * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
- * |------------+------+------+------+------+------|------+------+------+------+------+----|
- * | | | | | | | | + | = | | | |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
- * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | |
- * `---------------------------------------------------------------------------------------'
- */
- [1] = LAYOUT_ortho_5x12_2x225u(
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______,
- KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______
- ),
-
- /* [2]
- * ,---------------------------------------------------------------------------------------.
- * | = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - |
- * |------------+------+------+------+------+------+------+------+------+------+------+---|
- * | | | | UP | | | | _ | | [ | ] | |
- * |------------+------+------+------+------+-------------+------+------+------+------+---|
- * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
- * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | QK_BOOT | | | | | | | |
- * `---------------------------------------------------------------------------------------'
- */
- [2] = LAYOUT_ortho_5x12_2x225u(
- KC_EQL, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,
- _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______
- )
-};
-
-#ifdef ENCODER_MAP_ENABLE
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [1] = { ENCODER_CCW_CW(_______, _______) },
- [2] = { ENCODER_CCW_CW(_______, _______) },
-};
-#endif
diff --git a/keyboards/checkerboards/quark/keymaps/via/rules.mk b/keyboards/checkerboards/quark/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/checkerboards/quark/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/checkerboards/quark_lp/keymaps/via/keymap.c b/keyboards/checkerboards/quark_lp/keymaps/via/keymap.c
deleted file mode 100644
index deffa92827ac..000000000000
--- a/keyboards/checkerboards/quark_lp/keymaps/via/keymap.c
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Copyright 2021 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* [0]
- * ,-----------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |------------+------+------+------+------+-------------+------+------+------+------+------|
- * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " |
- * |------------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
- * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
- * `-----------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT_ortho_4x12(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PSCR, KC_LCTL, KC_LALT, KC_LGUI, TT(1), KC_SPC, KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* [1]
- * ,---------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+----|
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC |
- * |------------+------+------+------+------+-------------+------+------+------+------+----|
- * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
- * |------------+------+------+------+------+------|------+------+------+------+------+----|
- * | | | | | | | | + | = | | | |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
- * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | |
- * `---------------------------------------------------------------------------------------'
- */
- [1] = LAYOUT_ortho_4x12(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______,
- _______, KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, _______, _______, KC_NUBS, KC_GRV, _______
- ),
-
- /* [2]
- * ,---------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+---|
- * | | | | UP | | | | _ | | [ | ] | |
- * |------------+------+------+------+------+-------------+------+------+------+------+---|
- * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
- * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | QK_BOOT | | | | | | | |
- * `---------------------------------------------------------------------------------------'
- */
- [2] = LAYOUT_ortho_4x12(
- _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* [3]
- * ,---------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+---|
- * | | | | UP | | | | _ | | [ | ] | |
- * |------------+------+------+------+------+-------------+------+------+------+------+---|
- * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
- * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | QK_BOOT | | | | | | | |
- * `---------------------------------------------------------------------------------------'
- */
-[3] = LAYOUT_ortho_4x12(
- _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
- };
diff --git a/keyboards/checkerboards/quark_lp/keymaps/via/rules.mk b/keyboards/checkerboards/quark_lp/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/checkerboards/quark_lp/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/checkerboards/quark_plus/keymaps/via/keymap.c b/keyboards/checkerboards/quark_plus/keymaps/via/keymap.c
deleted file mode 100644
index b9c6f21c2c39..000000000000
--- a/keyboards/checkerboards/quark_plus/keymaps/via/keymap.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/* Copyright 2022 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* [0]
- * ,-----------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+------|
- * | TAB | Q | W | E | R | T | Y | U | I | O | P | DEL |
- * |------------+------+------+------+------+-------------+------+------+------+------+------|
- * | CTRL&ESC | A | S | D | F | G | H | J | K | L | ; | " |
- * |------------+------+------+------+------+------|------+------+------+------+------+------|
- * | SHIFT | Z | X | C | V | B | N | M | , | . | / | ENTER |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
- * | PRINT | Ctrl | ALT | GUI |LOWER |SPACE |SPACE|RAISE | LEFT | DOWN | UP |RIGHT |
- * `-----------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT_grid(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PSCR, KC_LCTL, KC_LALT, KC_LGUI, TT(1), KC_SPC, KC_SPC, TT(2), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* [1]
- * ,---------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+----|
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC |
- * |------------+------+------+------+------+-------------+------+------+------+------+----|
- * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
- * |------------+------+------+------+------+------|------+------+------+------+------+----|
- * | | | | | | | | + | = | | | |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
- * | | | ESC |CTRL-ALT-DEL|TASK| | | | | | '|' | ` | |
- * `---------------------------------------------------------------------------------------'
- */
- [1] = LAYOUT_grid(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PPLS, KC_EQL, _______, _______, _______,
- _______, KC_ESC, CALTDEL, TSKMGR, _______, _______, _______, _______, _______, KC_NUBS, KC_GRV, _______
- ),
-
- /* [2]
- * ,---------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+---|
- * | | | | UP | | | | _ | | [ | ] | |
- * |------------+------+------+------+------+-------------+------+------+------+------+---|
- * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
- * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * |QK_BOOT | | | | | | | | | | | |
- * `---------------------------------------------------------------------------------------'
- */
- [2] = LAYOUT_grid(
- _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT_grid(
- _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- };
diff --git a/keyboards/checkerboards/quark_plus/keymaps/via/rules.mk b/keyboards/checkerboards/quark_plus/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/checkerboards/quark_plus/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/checkerboards/quark_squared/keymaps/via/config.h b/keyboards/checkerboards/quark_squared/keymaps/via/config.h
deleted file mode 100644
index b1498826ee3e..000000000000
--- a/keyboards/checkerboards/quark_squared/keymaps/via/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2021 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/checkerboards/quark_squared/keymaps/via/keymap.c b/keyboards/checkerboards/quark_squared/keymaps/via/keymap.c
deleted file mode 100644
index 9191f517baa0..000000000000
--- a/keyboards/checkerboards/quark_squared/keymaps/via/keymap.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright 2021 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* [0]
- * ,-----------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |------------+------+------+------+------+-------------+------+------+------+------+------|
- * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " |
- * |------------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
- * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
- * `-----------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT_4_2x225u(
- KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC,
- CTL_T(KC_ESC), KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_GRV, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, CALTDEL, KC_RALT, KC_CAPS
- ),
-
- /* [1]
- * ,---------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+----|
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC |
- * |------------+------+------+------+------+-------------+------+------+------+------+----|
- * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
- * |------------+------+------+------+------+------|------+------+------+------+------+----|
- * | | | | | | | | + | = | | | |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
- * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | |
- * `---------------------------------------------------------------------------------------'
- */
-
- [1] = LAYOUT_4_2x225u(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______,
- KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______
- ),
-
- /* [2]
- * ,---------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+---|
- * | | | | UP | | | | _ | | [ | ] | |
- * |------------+------+------+------+------+-------------+------+------+------+------+---|
- * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
- * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | QK_BOOT | | | | | | | |
- * `---------------------------------------------------------------------------------------'
- */
-
- [2] = LAYOUT_4_2x225u(
- _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* [3]
- * ,---------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+---|
- * | | | | UP | | | | _ | | [ | ] | |
- * |------------+------+------+------+------+-------------+------+------+------+------+---|
- * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
- * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | QK_BOOT | | | | | | | |
- * `---------------------------------------------------------------------------------------'
- */
-
- [3] = LAYOUT_4_2x225u(
- _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/checkerboards/quark_squared/keymaps/via/rules.mk b/keyboards/checkerboards/quark_squared/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/checkerboards/quark_squared/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/checkerboards/snop60/keymaps/7u/keymap.c b/keyboards/checkerboards/snop60/keymaps/7u/keymap.c
index 7b14bb3f57ad..448d1885c723 100644
--- a/keyboards/checkerboards/snop60/keymaps/7u/keymap.c
+++ b/keyboards/checkerboards/snop60/keymaps/7u/keymap.c
@@ -56,7 +56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, QK_BOOT
@@ -77,7 +77,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[2] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/checkerboards/snop60/keymaps/default/keymap.c b/keyboards/checkerboards/snop60/keymaps/default/keymap.c
index a381603e5446..c7d3432264ca 100644
--- a/keyboards/checkerboards/snop60/keymaps/default/keymap.c
+++ b/keyboards/checkerboards/snop60/keymaps/default/keymap.c
@@ -54,7 +54,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
*/
[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift_space(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ UG_TOGG, UG_NEXT, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
diff --git a/keyboards/checkerboards/snop60/keymaps/via/config.h b/keyboards/checkerboards/snop60/keymaps/via/config.h
deleted file mode 100644
index e862c2548397..000000000000
--- a/keyboards/checkerboards/snop60/keymaps/via/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
- /*
- Copyright 2021 Nathan Spears
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
- */
-
-#pragma once
-
-#define TAPPING_TERM 175
-
-#define TAPPING_TOGGLE 2
diff --git a/keyboards/checkerboards/snop60/keymaps/via/keymap.c b/keyboards/checkerboards/snop60/keymaps/via/keymap.c
deleted file mode 100644
index c2d8c3af3810..000000000000
--- a/keyboards/checkerboards/snop60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,103 +0,0 @@
- /*
- Copyright 2021 Nathan Spears
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Layer names
-enum nop60_layers{
- // - Base layer:
- _BASE,
- // - Symbols, numbers, and functions:
- _FN1,
- // - Alternate Function layer:
- _FN2,
- // - VIA Layer:
- _VIA
-};
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Default QWERTY layer
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- * │Esc│ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │Del│
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
- * │ Tab │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ [ │ ] │Bksp │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │ Caps │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ; │ ' │ Enter │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
- * │ Shift │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │Shift │Spc│
- * ├─────┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬───┬─┴───┤
- * │Ctrl │GUI│Alt │Space │BTg│Space │Alt │GUI│Ctrl │
- * └─────┴───┴─────┴───────────┴───┴───────────┴─────┴───┴─────┘
- */
- [_BASE] = LAYOUT_60_ansi_tsangan_split_bs_rshift_space(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_SPC,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, BL_TOGG, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
- /* Main Numbers, Symbols & Function Layer (MOMENTARY)
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- * │`~ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Del│ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
- * │RTog │RMd│Up │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │Brthe │Lft│Dwn│Rgt│ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
- * │BInc │BDc│BTg│ │ │ │ │ │ │ │ │ │ │
- * ├─────┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬───┬─┴───┤
- * │ │ │ │ │ │ │ │ │Btldr│
- * └─────┴───┴─────┴───────────┴───┴───────────┴─────┴───┴─────┘
- */
- [_FN1] = LAYOUT_60_ansi_tsangan_split_bs_rshift_space(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- /* ALTERNATE Function layer (MOMENTARY)
- * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
- * │`~ │F1 │F2 │F3 │F4 │F5 │F6 │F7 │F8 │F9 │F10│F11│F12│Del│ │
- * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤
- * │RTog │RMd│Up │ │ │ │ │ │ │ │ │ │ │ │
- * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
- * │Brthe │Lft│Dwn│Rgt│ │ │ │ │ │ │ │ │ │
- * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤
- * │BInc │BDc│BTg│ │ │ │ │ │ │ │ │ │ │
- * ├─────┬──┴┬──┴──┬┴───┴───┴──┬┴──┬┴───┴───┴──┬┴───┴┬───┬─┴───┤
- * │ │ │ │ │ │ │ │ │Btldr│
- * └─────┴───┴─────┴───────────┴───┴───────────┴─────┴───┴─────┘
- */
- [_FN2] = LAYOUT_60_ansi_tsangan_split_bs_rshift_space(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- ),
-
- [_VIA] = LAYOUT_60_ansi_tsangan_split_bs_rshift_space(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- RGB_TOG, RGB_MOD, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_BRTG, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- BL_UP, BL_DOWN, BL_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT
- )
-};
diff --git a/keyboards/checkerboards/snop60/keymaps/via/rules.mk b/keyboards/checkerboards/snop60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/checkerboards/snop60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c
index 7ba92f40c201..456b9c3e7bc6 100644
--- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c
+++ b/keyboards/checkerboards/ud40_ortho_alt/keymaps/600u/keymap.c
@@ -37,7 +37,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- QK_BOOT, RGB_TOG, KC_LALT, LT(2, KC_SPC), TT(1), KC_LGUI, KC_CAPS
+ QK_BOOT, UG_TOGG, KC_LALT, LT(2, KC_SPC), TT(1), KC_LGUI, KC_CAPS
),
/* [1]
diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/keymap.c b/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/keymap.c
deleted file mode 100644
index 68475b159b28..000000000000
--- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/keymap.c
+++ /dev/null
@@ -1,100 +0,0 @@
-/* Copyright 2020 Nathan Spears
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-// Defines for task manager and such
-#define CALTDEL LCTL(LALT(KC_DEL))
-#define TSKMGR LCTL(LSFT(KC_ESC))
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* [0]
- * ,-----------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+------|
- * | Tab | Q | W | E | R | T | Y | U | I | O | P | Del |
- * |------------+------+------+------+------+-------------+------+------+------+------+------|
- * | CTL & ESC | A | S | D | F | G | H | J | K | L | ; | " |
- * |------------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift | Z | X | C | V | B | N | M | , | . | / |Enter |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+------|
- * | PRINT | OS | Alt | Layer | Space & Layer | [ | ] | CAPS |
- * `-----------------------------------------------------------------------------------------'
- */
- [0] = LAYOUT_default(
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL,
- CTL_T(KC_ESC), KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- KC_PSCR, KC_LGUI, KC_LALT, TT(1), LT(2, KC_SPC), KC_LBRC, KC_RBRC, KC_CAPS
- ),
-
- /* [1]
- * ,---------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+----|
- * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | BCKSPC |
- * |------------+------+------+------+------+-------------+------+------+------+------+----|
- * | \ | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | / |
- * |------------+------+------+------+------+------|------+------+------+------+------+----|
- * | | | | | | | | + | = | | | |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
- * | ESC | CTRL-ALT-DEL | TASK | | | '|' | ` | |
- * `---------------------------------------------------------------------------------------'
- */
- [1] = LAYOUT_default(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_SLSH, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSLS,
- _______, _______, _______, _______, _______, _______, _______, KC_PPLS, KC_EQL, _______, _______, _______,
- KC_ESC, CALTDEL, TSKMGR, _______, _______, KC_NUBS, KC_GRV, _______
- ),
-
- /* [2]
- * ,--------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+---|
- * | | | | UP | | | | _ | | [ | ] | |
- * |------------+------+------+------+------+-------------+------+------+------+------+---|
- * | | | LEFT | DOWN | RIGHT | | | - | | [ | ] | |
- * |------------+------+------+------+------+-----+-----+------+------+------+------+-----|
- * | F1 | F2 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+---|
- * | QK_BOOT | | | | | | | |
- * `---------------------------------------------------------------------------------------'
- */
- [2] = LAYOUT_default(
- _______, _______, _______, KC_UP, _______, _______, _______, KC_UNDS, _______, KC_LBRC, KC_RBRC, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, KC_MINS, _______, KC_LCBR, KC_RCBR, _______,
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* [3]
- * ,---------------------------------------------------------------------------------------.
- * |------------+------+------+------+------+------+------+------+------+------+------+----|
- * | | | | | | | | | | | | | |
- * |------------+------+------+------+------+-------------+------+------+------+------+----|
- * | | | | | | | | | | | | | |
- * |------------+------+------+------+------+------|------+------+------+------+------+----|
- * | | | | | | | | | | | | | |
- * |-------+-------+-------+-------+-------+-------+------+------+------+------+------+----|
- * | | | | | | | | | | | | | |
- * `---------------------------------------------------------------------------------------'
- */
- [3] = LAYOUT_default(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- };
diff --git a/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/rules.mk b/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/checkerboards/ud40_ortho_alt/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cherrybstudio/cb1800/keymaps/via/keymap.c b/keyboards/cherrybstudio/cb1800/keymaps/via/keymap.c
deleted file mode 100644
index 3bcf7c5b7a4d..000000000000
--- a/keyboards/cherrybstudio/cb1800/keymaps/via/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright 2020 Tybera
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, QK_BOOT, KC_INS, KC_HOME, KC_PGUP, KC_PSCR,
- KC_DEL, KC_END, KC_PGDN, KC_SCRL,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PAUS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_P7, KC_P8, KC_P9, KC_PMNS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT
- ),
- [1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
-
diff --git a/keyboards/cherrybstudio/cb1800/keymaps/via/rules.mk b/keyboards/cherrybstudio/cb1800/keymaps/via/rules.mk
deleted file mode 100644
index ca9fed0e6b53..000000000000
--- a/keyboards/cherrybstudio/cb1800/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-LTO_ENABLE = yes
-VIA_ENABLE = yes
diff --git a/keyboards/cherrybstudio/cb65/keymaps/via/keymap.c b/keyboards/cherrybstudio/cb65/keymaps/via/keymap.c
deleted file mode 100644
index 55ea2d24f692..000000000000
--- a/keyboards/cherrybstudio/cb65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-Copyright 2020 Tybera
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, QK_BOOT,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_HOME,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_DEL,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PGUP,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_PGDN,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_MPRV, KC_VOLD, KC_MNXT
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
-
-
-
diff --git a/keyboards/cherrybstudio/cb65/keymaps/via/rules.mk b/keyboards/cherrybstudio/cb65/keymaps/via/rules.mk
deleted file mode 100644
index ca9fed0e6b53..000000000000
--- a/keyboards/cherrybstudio/cb65/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-LTO_ENABLE = yes
-VIA_ENABLE = yes
diff --git a/keyboards/cherrybstudio/cb87/keymaps/via/keymap.c b/keyboards/cherrybstudio/cb87/keymaps/via/keymap.c
deleted file mode 100644
index 3673b13341e9..000000000000
--- a/keyboards/cherrybstudio/cb87/keymaps/via/keymap.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
-Copyright 2020 Tybera
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/cherrybstudio/cb87/keymaps/via/rules.mk b/keyboards/cherrybstudio/cb87/keymaps/via/rules.mk
deleted file mode 100644
index ca9fed0e6b53..000000000000
--- a/keyboards/cherrybstudio/cb87/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-LTO_ENABLE = yes
-VIA_ENABLE = yes
diff --git a/keyboards/cherrybstudio/cb87rgb/keyboard.json b/keyboards/cherrybstudio/cb87rgb/keyboard.json
index bba6bea541d0..d2cc0c72de3c 100644
--- a/keyboards/cherrybstudio/cb87rgb/keyboard.json
+++ b/keyboards/cherrybstudio/cb87rgb/keyboard.json
@@ -39,11 +39,6 @@
"hue_breathing": true,
"hue_pendulum": true,
"hue_wave": true,
- "pixel_rain": true,
- "pixel_flow": true,
- "pixel_fractal": true,
- "typing_heatmap": true,
- "digital_rain": true,
"solid_reactive_simple": true,
"solid_reactive": true,
"solid_reactive_wide": true,
diff --git a/keyboards/cherrybstudio/cb87rgb/keymaps/via/keymap.c b/keyboards/cherrybstudio/cb87rgb/keymaps/via/keymap.c
deleted file mode 100644
index 7ae523636e4d..000000000000
--- a/keyboards/cherrybstudio/cb87rgb/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright 2020 Tybera
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_ESC, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- [1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
-
diff --git a/keyboards/cherrybstudio/cb87rgb/keymaps/via/rules.mk b/keyboards/cherrybstudio/cb87rgb/keymaps/via/rules.mk
deleted file mode 100644
index ca9fed0e6b53..000000000000
--- a/keyboards/cherrybstudio/cb87rgb/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-LTO_ENABLE = yes
-VIA_ENABLE = yes
diff --git a/keyboards/cherrybstudio/cb87v2/keymaps/via/keymap.c b/keyboards/cherrybstudio/cb87v2/keymaps/via/keymap.c
deleted file mode 100644
index cc912193a729..000000000000
--- a/keyboards/cherrybstudio/cb87v2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright 2020 Tybera
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- [1] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_all(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
-
diff --git a/keyboards/cherrybstudio/cb87v2/keymaps/via/rules.mk b/keyboards/cherrybstudio/cb87v2/keymaps/via/rules.mk
deleted file mode 100644
index ca9fed0e6b53..000000000000
--- a/keyboards/cherrybstudio/cb87v2/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-LTO_ENABLE = yes
-VIA_ENABLE = yes
diff --git a/keyboards/cheshire/curiosity/curiosity.c b/keyboards/cheshire/curiosity/curiosity.c
deleted file mode 100644
index 2813cff9b4a0..000000000000
--- a/keyboards/cheshire/curiosity/curiosity.c
+++ /dev/null
@@ -1,17 +0,0 @@
-#include "quantum.h"
-
-void matrix_init_board(void){
- gpio_set_pin_output(A8);
- gpio_set_pin_output(A9);
- gpio_set_pin_output(A10);
-}
-
-bool led_update_kb(led_t led_state) {
- bool runDefault = led_update_user(led_state);
- if (runDefault) {
- gpio_write_pin(A8, !led_state.num_lock);
- gpio_write_pin(A9, !led_state.caps_lock);
- gpio_write_pin(A10, !led_state.scroll_lock);
- }
- return runDefault;
-}
diff --git a/keyboards/cheshire/curiosity/keyboard.json b/keyboards/cheshire/curiosity/keyboard.json
index 679f2a45d1a1..b408a5b6e952 100644
--- a/keyboards/cheshire/curiosity/keyboard.json
+++ b/keyboards/cheshire/curiosity/keyboard.json
@@ -7,6 +7,12 @@
"pid": "0x0FAD",
"device_version": "0.0.1"
},
+ "indicators": {
+ "caps_lock": "A9",
+ "num_lock": "A8",
+ "scroll_lock": "A10",
+ "on_state": 0
+ },
"rgblight": {
"led_count": 14,
"animations": {
diff --git a/keyboards/cheshire/curiosity/keymaps/default/keymap.c b/keyboards/cheshire/curiosity/keymaps/default/keymap.c
index f80b85483e28..18d371c58a53 100644
--- a/keyboards/cheshire/curiosity/keymaps/default/keymap.c
+++ b/keyboards/cheshire/curiosity/keymaps/default/keymap.c
@@ -36,10 +36,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
[_FNMS] = LAYOUT_default(
- RGB_TOG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- RGB_MOD, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, QK_BOOT,
+ UG_TOGG, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ UG_NEXT, _______, _______, _______, _______, _______, _______, _______, _______, KC_MS_U, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, KC_BTN1, KC_MS_L, KC_MS_D, KC_MS_R, KC_BTN2, _______, _______,
- _______, _______, _______, _______, _______, _______, RGB_SAI, RGB_HUI, RGB_VAI, RGB_SAD, RGB_HUD, RGB_VAD, _______, _______,
+ _______, _______, _______, _______, _______, _______, UG_SATU, UG_HUEU, UG_VALU, UG_SATD, UG_HUED, UG_VALD, _______, _______,
AG_TOGG, _______, _______, _______, _______, _______, _______
),
diff --git a/keyboards/cheshire/curiosity/keymaps/via/keymap.c b/keyboards/cheshire/curiosity/keymaps/via/keymap.c
deleted file mode 100644
index 2425474a1b0d..000000000000
--- a/keyboards/cheshire/curiosity/keymaps/via/keymap.c
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
-Copyright 2019 Khader Syed
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-// Layer names don't all need to be of the same length, obviously, and you can also skip them
-// entirely and just use numbers.
-
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_default(
- KC_ESC, KC_TILD, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGUI,
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
- ),
- [1] = LAYOUT_default(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_default(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_default(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-
-};
\ No newline at end of file
diff --git a/keyboards/cheshire/curiosity/keymaps/via/rules.mk b/keyboards/cheshire/curiosity/keymaps/via/rules.mk
deleted file mode 100644
index 40bded399190..000000000000
--- a/keyboards/cheshire/curiosity/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE=yes
\ No newline at end of file
diff --git a/keyboards/chew/config.h b/keyboards/chew/config.h
index 22b43cf799d8..df672bc4e123 100644
--- a/keyboards/chew/config.h
+++ b/keyboards/chew/config.h
@@ -8,4 +8,3 @@
#define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 200U // In ms in which the double tap can occur
#define EE_HANDS
-#define SERIAL_USART_TX_PIN GP11
diff --git a/keyboards/chew/keyboard.json b/keyboards/chew/keyboard.json
index f6ddaa627d85..01175e6341d1 100644
--- a/keyboards/chew/keyboard.json
+++ b/keyboards/chew/keyboard.json
@@ -32,6 +32,10 @@
]
}
},
+ "serial": {
+ "driver": "vendor",
+ "pin": "GP11"
+ },
"transport": {
"watchdog": true
}
diff --git a/keyboards/chew/rules.mk b/keyboards/chew/rules.mk
deleted file mode 100644
index 161ec22b16e2..000000000000
--- a/keyboards/chew/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/chickenman/ciel/keyboard.json b/keyboards/chickenman/ciel/keyboard.json
index 554d41c3945b..f28995794cd2 100644
--- a/keyboards/chickenman/ciel/keyboard.json
+++ b/keyboards/chickenman/ciel/keyboard.json
@@ -29,7 +29,14 @@
"diode_direction": "COL2ROW",
"processor": "atmega32u2",
"bootloader": "atmel-dfu",
- "community_layouts": ["60_ansi_split_bs_rshift", "60_ansi", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi_split_bs_rshift": {
"layout": [
@@ -171,7 +178,7 @@
{"matrix": [4, 14], "x": 13.75, "y": 4, "w": 1.25}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/chickenman/ciel/keymaps/via/keymap.c b/keyboards/chickenman/ciel/keymaps/via/keymap.c
deleted file mode 100644
index 55f0b6bd2646..000000000000
--- a/keyboards/chickenman/ciel/keymaps/via/keymap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2020 Koichi Katano
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _L0,
- _L1,
- _L2,
- _L3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_L0] = LAYOUT_60_ansi_split_bs_rshift(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(_L1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_APP, KC_RCTL
- ),
- [_L1] = LAYOUT_60_ansi_split_bs_rshift(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_L2] = LAYOUT_60_ansi_split_bs_rshift(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_L3] = LAYOUT_60_ansi_split_bs_rshift(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/chickenman/ciel/keymaps/via/rules.mk b/keyboards/chickenman/ciel/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/chickenman/ciel/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/chickenman/ciel65/keymaps/via/keymap.c b/keyboards/chickenman/ciel65/keymaps/via/keymap.c
deleted file mode 100644
index 3ff0f37bda39..000000000000
--- a/keyboards/chickenman/ciel65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* Copyright 2023 ChickenMan
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum layer_names {
- _L0,
- _L1,
- _L2,
- _L3
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [_L0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(_L1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [_L1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_INS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_DEL, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_L2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [_L3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/chickenman/ciel65/keymaps/via/rules.mk b/keyboards/chickenman/ciel65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/chickenman/ciel65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/chlx/lfn_merro60/keyboard.json b/keyboards/chlx/lfn_merro60/keyboard.json
index a35b598f0eb4..54a235c7f834 100644
--- a/keyboards/chlx/lfn_merro60/keyboard.json
+++ b/keyboards/chlx/lfn_merro60/keyboard.json
@@ -34,7 +34,24 @@
"pid": "0x0604",
"vid": "0x4358"
},
- "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_ansi_wkl",
+ "60_ansi_wkl_split_bs_rshift",
+ "60_hhkb",
+ "60_iso",
+ "60_iso_split_bs_rshift",
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift",
+ "60_iso_wkl",
+ "60_iso_wkl_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -816,7 +833,7 @@
{"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [1, 0], "x": 1, "y": 0},
diff --git a/keyboards/chlx/lfn_merro60/keymaps/via/config.h b/keyboards/chlx/lfn_merro60/keymaps/via/config.h
deleted file mode 100644
index bdeed0c824e1..000000000000
--- a/keyboards/chlx/lfn_merro60/keymaps/via/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2024 Alexander Lee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* VIA related config */
-#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/chlx/lfn_merro60/keymaps/via/keymap.c b/keyboards/chlx/lfn_merro60/keymaps/via/keymap.c
deleted file mode 100644
index 2163e4289f76..000000000000
--- a/keyboards/chlx/lfn_merro60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright 2024 Alexander Lee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_LSCR, KC_RALT, KC_RGUI, KC_APP, KC_RCTL),
-
-[1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- KC_CAPS, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT,
- _______, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______,
- _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-};
diff --git a/keyboards/chlx/lfn_merro60/keymaps/via/rules.mk b/keyboards/chlx/lfn_merro60/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/chlx/lfn_merro60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/chlx/merro60/keyboard.json b/keyboards/chlx/merro60/keyboard.json
index 700af7e7e74f..31f83f80a59b 100644
--- a/keyboards/chlx/merro60/keyboard.json
+++ b/keyboards/chlx/merro60/keyboard.json
@@ -33,9 +33,16 @@
"LAYOUT_default": "LAYOUT_all",
"LAYOUT_hhkb": "LAYOUT_60_hhkb",
"LAYOUT_iso": "LAYOUT_60_iso_split_bs_rshift",
- "LAYOUT_tsangan": "LAYOUT_60_tsangan_hhkb"
+ "LAYOUT_tsangan": "LAYOUT_60_ansi_tsangan_split_bs_rshift",
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
},
- "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_hhkb", "60_iso", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_hhkb",
+ "60_iso"
+ ],
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -460,7 +467,7 @@
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/chlx/merro60/keymaps/tsangan/keymap.c b/keyboards/chlx/merro60/keymaps/tsangan/keymap.c
index 557711eeed63..e7266d227e27 100644
--- a/keyboards/chlx/merro60/keymaps/tsangan/keymap.c
+++ b/keyboards/chlx/merro60/keymaps/tsangan/keymap.c
@@ -19,14 +19,14 @@ along with this program. If not, see .
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_60_tsangan_hhkb(
+[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
-[1] = LAYOUT_60_tsangan_hhkb(
+[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/chlx/merro60/keymaps/via/config.h b/keyboards/chlx/merro60/keymaps/via/config.h
deleted file mode 100644
index c16e7f09f55c..000000000000
--- a/keyboards/chlx/merro60/keymaps/via/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2021 Alexander Lee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* VIA related config */
-#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/chlx/merro60/keymaps/via/keymap.c b/keyboards/chlx/merro60/keymaps/via/keymap.c
deleted file mode 100644
index 5abec5736c80..000000000000
--- a/keyboards/chlx/merro60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright 2021 Alexander Lee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP, KC_ENT,
- KC_LSFT, KC_LEFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGHT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_DOWN, KC_RCTL),
-
-[1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
-[2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
-[3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______)
-
-};
-
diff --git a/keyboards/chlx/merro60/keymaps/via/rules.mk b/keyboards/chlx/merro60/keymaps/via/rules.mk
deleted file mode 100644
index 5f615ff62b74..000000000000
--- a/keyboards/chlx/merro60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
diff --git a/keyboards/chlx/ppr_merro60/keyboard.json b/keyboards/chlx/ppr_merro60/keyboard.json
index f8f45232a1a6..9f056fef529b 100644
--- a/keyboards/chlx/ppr_merro60/keyboard.json
+++ b/keyboards/chlx/ppr_merro60/keyboard.json
@@ -34,7 +34,24 @@
"pid": "0x0603",
"vid": "0x4358"
},
- "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso", "60_iso_split_bs_rshift", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_ansi_wkl",
+ "60_ansi_wkl_split_bs_rshift",
+ "60_hhkb",
+ "60_iso",
+ "60_iso_split_bs_rshift",
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift",
+ "60_iso_wkl",
+ "60_iso_wkl_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi": {
"layout": [
@@ -816,7 +833,7 @@
{"matrix": [8, 6], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [1, 0], "x": 1, "y": 0},
diff --git a/keyboards/chlx/ppr_merro60/keymaps/tsangan/keymap.c b/keyboards/chlx/ppr_merro60/keymaps/tsangan/keymap.c
index 73282416ab8d..53f0cd52361f 100644
--- a/keyboards/chlx/ppr_merro60/keymaps/tsangan/keymap.c
+++ b/keyboards/chlx/ppr_merro60/keymaps/tsangan/keymap.c
@@ -19,14 +19,14 @@ along with this program. If not, see .
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_60_tsangan_hhkb(
+[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
-[1] = LAYOUT_60_tsangan_hhkb(
+[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
KC_CAPS, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT,
_______, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
diff --git a/keyboards/chlx/ppr_merro60/keymaps/via/config.h b/keyboards/chlx/ppr_merro60/keymaps/via/config.h
deleted file mode 100644
index bdeed0c824e1..000000000000
--- a/keyboards/chlx/ppr_merro60/keymaps/via/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2024 Alexander Lee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* VIA related config */
-#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/chlx/ppr_merro60/keymaps/via/keymap.c b/keyboards/chlx/ppr_merro60/keymaps/via/keymap.c
deleted file mode 100644
index 6d668def020f..000000000000
--- a/keyboards/chlx/ppr_merro60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
-Copyright 2024 Alexander Lee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGHT,
- KC_LCTL, KC_LGUI, KC_LALT, MO(1), KC_SPC, KC_LSCR, KC_RALT, KC_RGUI, MO(1), KC_RCTL),
-
-[1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- KC_CAPS, _______, KC_HOME, KC_UP, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_UP, _______, QK_BOOT,
- _______, KC_END, KC_LEFT, KC_DOWN, KC_RGHT, KC_PGDN, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______, _______,
- _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-};
diff --git a/keyboards/chlx/ppr_merro60/keymaps/via/rules.mk b/keyboards/chlx/ppr_merro60/keymaps/via/rules.mk
deleted file mode 100644
index 36b7ba9cbc98..000000000000
--- a/keyboards/chlx/ppr_merro60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/chlx/str_merro60/keyboard.json b/keyboards/chlx/str_merro60/keyboard.json
index cfd0286dd359..4310f81d2e17 100644
--- a/keyboards/chlx/str_merro60/keyboard.json
+++ b/keyboards/chlx/str_merro60/keyboard.json
@@ -53,9 +53,16 @@
"LAYOUT_default": "LAYOUT_all",
"LAYOUT_hhkb": "LAYOUT_60_hhkb",
"LAYOUT_iso": "LAYOUT_60_iso_split_bs_rshift",
- "LAYOUT_tsangan": "LAYOUT_60_tsangan_hhkb"
+ "LAYOUT_tsangan": "LAYOUT_60_ansi_tsangan_split_bs_rshift",
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
},
- "community_layouts": ["60_ansi", "60_ansi_split_bs_rshift", "60_hhkb", "60_iso", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_ansi",
+ "60_ansi_split_bs_rshift",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_hhkb",
+ "60_iso"
+ ],
"layouts": {
"LAYOUT_all": {
"layout": [
@@ -480,7 +487,7 @@
{"matrix": [8, 6], "x": 13.75, "y": 4, "w": 1.25}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [1, 0], "x": 1, "y": 0},
diff --git a/keyboards/chlx/str_merro60/keymaps/default/keymap.c b/keyboards/chlx/str_merro60/keymaps/default/keymap.c
index 46da3c827c04..866084ee9399 100644
--- a/keyboards/chlx/str_merro60/keymaps/default/keymap.c
+++ b/keyboards/chlx/str_merro60/keymaps/default/keymap.c
@@ -28,7 +28,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[1] = LAYOUT_all(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
+ _______, UG_TOGG, UG_NEXT, UG_HUEU, UG_HUED, UG_SATU, UG_SATD, UG_VALU, UG_VALD, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______),
diff --git a/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c b/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c
index 1ee50bdaf0bb..56888fefc887 100644
--- a/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c
+++ b/keyboards/chlx/str_merro60/keymaps/tsangan/keymap.c
@@ -19,14 +19,14 @@ along with this program. If not, see .
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-[0] = LAYOUT_60_tsangan_hhkb(
+[0] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
-[1] = LAYOUT_60_tsangan_hhkb(
+[1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, QK_BOOT,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/chlx/str_merro60/keymaps/via/config.h b/keyboards/chlx/str_merro60/keymaps/via/config.h
deleted file mode 100644
index c1db72f6f5a2..000000000000
--- a/keyboards/chlx/str_merro60/keymaps/via/config.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
-Copyright 2022 Alexander Lee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#pragma once
-
-/* VIA related config */
-#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/chlx/str_merro60/keymaps/via/keymap.c b/keyboards/chlx/str_merro60/keymaps/via/keymap.c
deleted file mode 100644
index 115f80b583f0..000000000000
--- a/keyboards/chlx/str_merro60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
-Copyright 2022 Alexander Lee
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_UP, KC_ENT,
- KC_LSFT, KC_LEFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RGHT,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_DOWN, KC_RCTL),
-
-[1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, QK_BOOT,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, BL_DOWN, BL_TOGG, BL_UP, BL_STEP, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
-[2] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
-[3] = LAYOUT_all(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______),
-
-};
-
diff --git a/keyboards/chlx/str_merro60/keymaps/via/rules.mk b/keyboards/chlx/str_merro60/keymaps/via/rules.mk
deleted file mode 100644
index 5f615ff62b74..000000000000
--- a/keyboards/chlx/str_merro60/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-
diff --git a/keyboards/chosfox/cf81/cf81.c b/keyboards/chosfox/cf81/cf81.c
index 2e014dbe724e..12b4ab6110ff 100644
--- a/keyboards/chosfox/cf81/cf81.c
+++ b/keyboards/chosfox/cf81/cf81.c
@@ -164,7 +164,7 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
}
switch (keycode) {
#ifdef RGB_MATRIX_ENABLE
- case RGB_TOG:
+ case QK_RGB_MATRIX_TOGGLE:
if (record->event.pressed) {
switch (rgb_matrix_get_flags()) {
case LED_FLAG_ALL: {
diff --git a/keyboards/chosfox/cf81/keymaps/default/keymap.c b/keyboards/chosfox/cf81/keymaps/default/keymap.c
index 030ef2e2c141..26a9952410d4 100644
--- a/keyboards/chosfox/cf81/keymaps/default/keymap.c
+++ b/keyboards/chosfox/cf81/keymaps/default/keymap.c
@@ -37,11 +37,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[WIN_FN] = LAYOUT( /* FN */
_______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, KC_INS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, RGB_TOG, KC_END,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, RGB_MOD, _______,
- _______, _______,DF(MAC_B),_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
- _______, GU_TOGG, _______, EE_CLR, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUD),
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, RM_TOGG, KC_END,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_SATU, RM_NEXT, _______,
+ _______, _______,DF(MAC_B),_______, _______, _______, _______, _______, _______, _______, _______, _______, RM_NEXT, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU,
+ _______, GU_TOGG, _______, EE_CLR, _______, _______, _______, RM_HUED, RM_VALD, RM_HUEU),
[MAC_B] = LAYOUT( /* Base */
KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD,KC_VOLU, KC_DEL, KC_MUTE,
@@ -53,11 +53,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[MAC_FN] = LAYOUT( /* FN */
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, RGB_TOG, KC_END,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, RGB_MOD, _______,
- _______,DF(WIN_B),_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
- _______, _______, _______, EE_CLR, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUD)
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SPDD, RM_SPDU, RM_TOGG, KC_END,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_SATD, RM_SATU, RM_NEXT, _______,
+ _______,DF(WIN_B),_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_NEXT, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RM_VALU,
+ _______, _______, _______, EE_CLR, _______, _______, _______, RM_HUED, RM_VALD, RM_HUEU)
};
#if defined(ENCODER_MAP_ENABLE)
diff --git a/keyboards/chosfox/cf81/keymaps/via/keymap.c b/keyboards/chosfox/cf81/keymaps/via/keymap.c
deleted file mode 100644
index 030ef2e2c141..000000000000
--- a/keyboards/chosfox/cf81/keymaps/via/keymap.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/* Copyright (C) 2023 jonylee@hfd
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-enum __layers {
- WIN_B,
- WIN_FN,
- MAC_B,
- MAC_FN
-};
-
-// clang-format off
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [WIN_B] = LAYOUT( /* Base */
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,KC_NUHS, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(WIN_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
-
- [WIN_FN] = LAYOUT( /* FN */
- _______, KC_MSEL, KC_VOLD, KC_VOLU, KC_MUTE, KC_MSTP, KC_MPRV, KC_MPLY, KC_MNXT, KC_MAIL, KC_WHOM, KC_CALC, KC_WSCH, KC_INS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, RGB_TOG, KC_END,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, RGB_MOD, _______,
- _______, _______,DF(MAC_B),_______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
- _______, GU_TOGG, _______, EE_CLR, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUD),
-
- [MAC_B] = LAYOUT( /* Base */
- KC_ESC, KC_BRID, KC_BRIU, KC_MCTL, KC_LPAD, KC_F5, KC_F6, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_VOLD,KC_VOLU, KC_DEL, KC_MUTE,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,KC_NUHS, KC_ENT, KC_PGDN,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, MO(MAC_FN),KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT),
-
- [MAC_FN] = LAYOUT( /* FN */
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SPD, RGB_SPI, RGB_TOG, KC_END,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_SAI, RGB_MOD, _______,
- _______,DF(WIN_B),_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_MOD, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_VAI,
- _______, _______, _______, EE_CLR, _______, _______, _______, RGB_HUD, RGB_VAD, RGB_HUD)
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [WIN_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
- [WIN_FN] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
- [MAC_B] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
- [MAC_FN] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) }
-};
-#endif
-
diff --git a/keyboards/chosfox/cf81/keymaps/via/rules.mk b/keyboards/chosfox/cf81/keymaps/via/rules.mk
deleted file mode 100644
index f1adcab005e8..000000000000
--- a/keyboards/chosfox/cf81/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/chromatonemini/keymaps/via/keymap.c b/keyboards/chromatonemini/keymaps/via/keymap.c
deleted file mode 100644
index aedc778afeef..000000000000
--- a/keyboards/chromatonemini/keymaps/via/keymap.c
+++ /dev/null
@@ -1,285 +0,0 @@
-/* Copyright 2021 3araht
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-#include "version.h"
-
-// Defines names for use in layer keycodes and the keymap
-enum layer_names {
- _BASE, // Base layer, shift mode, single channel.
- _TRANS, // Transpose feature is enabled instead of shift mode, single channel.
- _RESERVE, // RESERVE
- _FN // FuNction layer. This must be at the end of the enumurate to use the range from _LS_FN ... _LS_FN_MAX for FN layer LED settings.
-};
-
-// Layer State
-#define _LS_BASE (1UL << _BASE)
-#define _LS_TRANS (1UL << _BASE | 1UL << _TRANS)
-
-#define _LS_FN (1UL << _FN)
-#define _LS_MAX (_LS_FN << 1)
-
-// Don't change the DEFAULT_SCALE_COL value below. It must be 0.
-#define DEFAULT_SCALE_COL 0
-static uint8_t scale_indicator_col = DEFAULT_SCALE_COL;
-static bool trans_mode_indicator_loc_sel = true; // when it is true, the location is _KEY01, _KEY13, ...
-
-// use led indicator or not.
-static bool led_indicator_enable = true;
-
-// Defines the keycodes used by our macros in process_record_user
-enum custom_keycodes {
- SHIFT_L = QK_KB_0,
- SHIFT_R,
- TGLINDI, // ToGgLe INDIcator
- TGLINTR, // ToGgLe INdicator location {(_KEY01, _KEY13, _KEY25, _KEY37) or (_KEY02, _KEY14, _KEY26) / (_KEY12, _KEY24, _KEY36)}in TRans mode
- TGLTRNS, // ToGgLe TRaNS and shift
-
- B_BASE, // border set to the left end.
- VERSION
-};
-
-// Long press: go to _FN layer, tap: MUTE
-#define FN_MUTE LT(_FN, KC_MUTE)
-
-// Used to set octave to 0
-extern midi_config_t midi_config;
-static bool is_trans_mode = false; // By default, shift mode is chosen.
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Base */
- [_BASE] = LAYOUT(
- FN_MUTE, MI_SUST,
- MI_BNDU,
- SHIFT_L, SHIFT_R, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Ab2, MI_Bb2, MI_C3, MI_D3, MI_E3, MI_Fs3, MI_Ab3, MI_Bb3, MI_C4, MI_D4, MI_E4, MI_Fs4, MI_Ab4, MI_Bb4, MI_C5,
- MI_BNDD, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Db3, MI_Eb3, MI_F3, MI_G3, MI_A3, MI_B3, MI_Db4, MI_Eb4, MI_F4, MI_G4, MI_A4, MI_B4
- ),
-
- /* TRANS This layer must locate 1 layer below _FN layer. */
- [_TRANS] = LAYOUT(
- _______, _______,
- _______,
- MI_TRSD, MI_TRSU, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- /* RESERVE */
- [_RESERVE] = LAYOUT(
- _______, _______,
- _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [_FN] = LAYOUT(
- _______, XXXXXXX,
- MI_VELU,
- MI_OCTD, MI_OCTU, B_BASE, DF(_RESERVE), XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, VERSION, XXXXXXX, XXXXXXX,
- MI_VELD, TGLINTR, TGLTRNS, XXXXXXX, XXXXXXX, XXXXXXX, RGB_SAD, RGB_SAI, RGB_HUD, RGB_HUI, RGB_SPD, RGB_SPI, RGB_VAD, RGB_VAI, RGB_RMOD, RGB_MOD, EE_CLR, TGLINDI, RGB_TOG
- )
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [_BASE] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
- [_TRANS] = { ENCODER_CCW_CW(_______, _______) },
- [_RESERVE] = { ENCODER_CCW_CW(_______, _______) },
- [_FN] = { ENCODER_CCW_CW(RGB_RMOD, RGB_MOD) },
-};
-#endif
-
-// commom codes called from eeconfig_init_user() and keyboard_post_init_user().
-void my_init(void){
- // Set octave to 0
- midi_config.octave = QK_MIDI_OCTAVE_0 - MIDI_OCTAVE_MIN;
- // avoid using 127 since it is used as a special number in some sound sources.
- midi_config.velocity = MIDI_INITIAL_VELOCITY;
- default_layer_set(_LS_BASE);
- layer_state_set(_LS_BASE);
-
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_mode(RGB_MATRIX_CUSTOM_my_solid_reactive_col);
-#endif // RGB_MATRIX_ENABLE
-}
-
-void eeconfig_init_user(void) { // EEPROM is getting reset!
- midi_init();
-
-#ifdef RGB_MATRIX_ENABLE
- rgb_matrix_enable();
- rgb_matrix_set_speed(RGB_MATRIX_DEFAULT_SPD);
- rgb_matrix_sethsv(HSV_BLUE);
-#endif // RGB_MATRIX_ENABLE
- my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
-}
-
-void keyboard_post_init_user(void) {
- my_init(); // commom codes called from eeconfig_init_user() and keyboard_post_init_user().
-}
-
-void reset_scale_indicator(void) {
- // reset transpose value and scale_indicator_col to default.
- midi_config.transpose = 0;
- scale_indicator_col = DEFAULT_SCALE_COL;
- trans_mode_indicator_loc_sel = true;
-}
-
-void reset_all(void) {
- reset_scale_indicator();
- is_trans_mode = false; // trans mode is disabled by default.
-}
-
-void select_layer_state_set(void) {
- if (is_trans_mode) {
- layer_state_set(_LS_TRANS);
- } else {
- layer_state_set(_LS_BASE);
- }
-}
-
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- // uprintf("keycode=%u, YM_C_3=%u, YM_Db_2 =%u, YM_MIN = %u, YM_MAX = %u\n", keycode, YM_C_3, YM_Db_2, YM_TONE_MIN, YM_TONE_MAX);
- switch (keycode) {
- case VERSION: // Output firmware info.
- if (record->event.pressed) {
- SEND_STRING(QMK_KEYBOARD ":" QMK_KEYMAP " @ " QMK_VERSION " | " QMK_BUILDDATE);
- }
- break;
-
- // Layer-related settings.
- // reset_scale_indicator() first, followed by each modification, and then change the default layer.
-
- // 1, separator column modification
- case B_BASE:
- if (record->event.pressed) {
- reset_all();
- select_layer_state_set();
- }
- break;
-
- // 2, Toggle scale shift mode and transpose mode
- case TGLTRNS:
- if (record->event.pressed) {
- reset_scale_indicator();
- is_trans_mode = !is_trans_mode;
- select_layer_state_set();
- }
- break;
-
- // SHIFT_L and SHIFT_R can be pressed only when layer is either _BASE, _FLIPBASE.
- case SHIFT_L:
- if (record->event.pressed) {
- if (layer_state == _LS_BASE) {
- scale_indicator_col = shift_led_indicator_left(scale_indicator_col);
- }
- }
- break;
-
- case SHIFT_R:
- if (record->event.pressed) {
- if (layer_state == _LS_BASE ) {
- scale_indicator_col = shift_led_indicator_right(scale_indicator_col);
- }
- }
- break;
-
- case TGLINDI:
- if (record->event.pressed) {
- led_indicator_enable = !led_indicator_enable;
- }
- break;
-
- case TGLINTR:
- if (record->event.pressed) {
- switch (layer_state) {
- // main function of the TGLINTR part 1. alternate the status of trans_mode_indicator_loc_sel.
- case _LS_TRANS | (1UL << _FN):
- trans_mode_indicator_loc_sel = !trans_mode_indicator_loc_sel;
-
- // when trans_mode_indicator_loc_sel == false, change the scale indicator and transpose.
- scale_indicator_col = trans_mode_indicator_loc_sel ? 0:1;
- // when TGLINTR is pressed, it also change the initial transpose setting to follow the scale indicator.
- if (scale_indicator_col == 1) {
- midi_config.transpose = -1;
- } else {
- midi_config.transpose = 0;
- }
- break;
-
- // special treatment when TGLINTR is pressed in other non-Trans layer.
- default : // when other layers = non-Trans mode, change it to Trans mode.
- trans_mode_indicator_loc_sel = false;
- scale_indicator_col = 1;
- midi_config.transpose = -1;
- is_trans_mode = true;
- select_layer_state_set();
- }
- }
- break;
- }
- return true;
-}
-
-#ifdef RGB_MATRIX_ENABLE
-void set_led_scale_indicator(uint8_t r, uint8_t g, uint8_t b) {
- uint8_t max_scale_indicator_led_loop;
- uint8_t i;
- if (led_indicator_enable) { // turn on indicators when enabled.
- max_scale_indicator_led_loop = ( scale_indicator_col == DEFAULT_SCALE_COL ) ? 12 : 9;
- for (i = 0; i < max_scale_indicator_led_loop; i++) {
- rgb_matrix_set_color(led_scale_indicator[scale_indicator_col][i], r, g, b);
- }
- }
-}
-
-bool rgb_matrix_indicators_user(void) {
- // uint32_t mode = rgblight_get_mode();
-
- if (rgb_matrix_is_enabled()) { // turn the lights on when it is enabled.
-
- // uint8_t max_scale_indicator_led_loop;
- uint8_t i;
-
- switch (layer_state) {
- case _LS_BASE:
- set_led_scale_indicator(BASE_LAYER_COLOR);
- break;
-
- case _LS_TRANS:
- set_led_scale_indicator(TRANS_LAYER_COLOR);
- break;
-
- case _LS_FN ... _LS_MAX: // When Mute Button is long-pressed, the previous layers are still active.
- for (i = 1; i < 5; i++) {
- rgb_matrix_set_color(i, RGB_DARKSPRINGGREEN); // up(1) down(4) left(3) right(2) keys
- }
- rgb_matrix_set_color(led_single_col_indicator[_KEY02][0], RGB_DARKSPRINGGREEN); // TGLTRNS
- rgb_matrix_set_color(led_single_col_indicator[_KEY04][0], RGB_DARKSPRINGGREEN); // TGLINTR
-
- for (i = 0; i < 3; i++) {
- rgb_matrix_set_color(led_single_col_indicator[_KEY01][i], BASE_LAYER_COLOR); // B_BASE
- }
-
- for (i = _KEY12; i < _KEY37; i+=2){ // even numbers from _KEY12 to _KEY36 are LED related settings.
- // turn on the bottom row only to keep the visibility of the RGB MATRIX effects.
- rgb_matrix_set_color(led_single_col_indicator[i][0], RGB_DARKSPRINGGREEN); // // LED related settings.
- }
- break;
- }
- }
- return false;
-}
-#endif // RGB_MATRIX_ENABLE
diff --git a/keyboards/chromatonemini/keymaps/via/rules.mk b/keyboards/chromatonemini/keymaps/via/rules.mk
deleted file mode 100644
index b4d2b42885da..000000000000
--- a/keyboards/chromatonemini/keymaps/via/rules.mk
+++ /dev/null
@@ -1,5 +0,0 @@
-RGB_MATRIX_ENABLE = yes # Use RGB matrix (Don't enable this when RGBLIGHT_ENABLE is used.)
-RGB_MATRIX_CUSTOM_KB = yes #
-VIA_ENABLE = yes
-
-ENCODER_MAP_ENABLE = yes # replacing ENCODERS_CW_KEY method to this on 2022/08/31.
diff --git a/keyboards/chromatonemini/rgb_matrix_kb.inc b/keyboards/chromatonemini/rgb_matrix_kb.inc
index 09877e1a319c..ee9e8af4277e 100644
--- a/keyboards/chromatonemini/rgb_matrix_kb.inc
+++ b/keyboards/chromatonemini/rgb_matrix_kb.inc
@@ -5,7 +5,7 @@ RGB_MATRIX_EFFECT(my_party_rocks)
# ifdef RGB_MATRIX_CUSTOM_EFFECT_IMPLS
-static HSV my_solid_reactive_multiwide_col_math(HSV hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) {
+static hsv_t my_solid_reactive_multiwide_col_math(hsv_t hsv, int16_t dx, int16_t dy, uint8_t dist, uint16_t tick) {
uint16_t effect = tick + dist;
dx = dx < 0 ? dx * -1 : dx;
dx = dx * 16 > 255 ? 255 : dx * 16;
@@ -27,7 +27,7 @@ bool my_solid_reactive_col(effect_params_t* params) {
uint16_t max_tick = 65535 / rgb_matrix_config.speed;
for (uint8_t i = led_min; i < led_max; i++) {
RGB_MATRIX_TEST_LED_FLAGS();
- HSV hsv = rgb_matrix_config.hsv;
+ hsv_t hsv = rgb_matrix_config.hsv;
uint16_t tick = max_tick;
// Reverse search to find most recent key hit
for (int8_t j = g_last_hit_tracker.count - 1; j >= 0; j--) {
@@ -39,7 +39,7 @@ bool my_solid_reactive_col(effect_params_t* params) {
uint16_t offset = scale16by8(tick, rgb_matrix_config.speed);
hsv.h += qsub8(130, offset);
- RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
+ rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv);
rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
}
return led_max < RGB_MATRIX_LED_COUNT;
@@ -47,8 +47,8 @@ bool my_solid_reactive_col(effect_params_t* params) {
bool my_party_rocks(effect_params_t* params) {
RGB_MATRIX_USE_LIMITS(led_min, led_max);
- HSV hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v};
- RGB rgb = rgb_matrix_hsv_to_rgb(hsv);
+ hsv_t hsv = {rand() & 0xFF, rand() & 0xFF, rgb_matrix_config.hsv.v};
+ rgb_t rgb = rgb_matrix_hsv_to_rgb(hsv);
// rgb_matrix_set_color(i, rgb.r, rgb.g, rgb.b);
rgb_matrix_set_color_all(rgb.r, rgb.g, rgb.b);
return led_max < RGB_MATRIX_LED_COUNT;
diff --git a/keyboards/churrosoft/deck8/keymaps/via/keymap.c b/keyboards/churrosoft/deck8/keymaps/via/keymap.c
deleted file mode 100644
index 2a1b10d442bf..000000000000
--- a/keyboards/churrosoft/deck8/keymaps/via/keymap.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Copyright 2023 Churrosoft
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- MEH(KC_A), MEH(KC_B), MEH(KC_C), MEH(KC_D),
- MEH(KC_E), MEH(KC_F), MEH(KC_G), MEH(KC_H)
- )
-};
\ No newline at end of file
diff --git a/keyboards/churrosoft/deck8/keymaps/via/rules.mk b/keyboards/churrosoft/deck8/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/churrosoft/deck8/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/60xt/keymaps/via/keymap.c b/keyboards/cipulot/60xt/keymaps/via/keymap.c
deleted file mode 100644
index 41008ef92ad8..000000000000
--- a/keyboards/cipulot/60xt/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT(
- KC_F1, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_F6,
- KC_F2, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_F7,
- KC_F3, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_F8,
- KC_F4, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_F9,
- KC_F5, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_F10
- ),
- [1] = LAYOUT(
- _______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______,
- _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______, _______,
- _______, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, MO(2), _______
- ),
- [2] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
- // clang-format on
-};
diff --git a/keyboards/cipulot/60xt/keymaps/via/rules.mk b/keyboards/cipulot/60xt/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/60xt/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/chroma/keyboard.json b/keyboards/cipulot/chroma/keyboard.json
index 5d418fdce1ff..b029d324f428 100644
--- a/keyboards/cipulot/chroma/keyboard.json
+++ b/keyboards/cipulot/chroma/keyboard.json
@@ -25,7 +25,20 @@
},
"vid": "0x6369"
},
- "community_layouts": ["60_ansi_tsangan", "60_tsangan_hhkb", "60_ansi_wkl", "60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_iso_tsangan", "60_iso_tsangan_split_bs_rshift", "60_iso_wkl", "60_iso_wkl_split_bs_rshift"],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
+ "community_layouts": [
+ "60_ansi_tsangan",
+ "60_ansi_tsangan_split_bs_rshift",
+ "60_ansi_wkl",
+ "60_ansi_wkl_split_bs_rshift",
+ "60_hhkb",
+ "60_iso_tsangan",
+ "60_iso_tsangan_split_bs_rshift",
+ "60_iso_wkl",
+ "60_iso_wkl_split_bs_rshift"
+ ],
"layouts": {
"LAYOUT_60_ansi_tsangan": {
"layout": [
@@ -541,7 +554,7 @@
{"matrix": [4, 13], "x": 13.5, "y": 4, "w": 1.5}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/cipulot/chroma/keymaps/via/keymap.c b/keyboards/cipulot/chroma/keymaps/via/keymap.c
deleted file mode 100644
index c93d9110efe3..000000000000
--- a/keyboards/cipulot/chroma/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL
- ),
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, MO(2)
- ),
- [2] = LAYOUT_all(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
- // clang-format on
-};
diff --git a/keyboards/cipulot/chroma/keymaps/via/rules.mk b/keyboards/cipulot/chroma/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/chroma/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/common/common_cipulot.mk b/keyboards/cipulot/common/common_cipulot.mk
new file mode 100644
index 000000000000..a1bbedab1884
--- /dev/null
+++ b/keyboards/cipulot/common/common_cipulot.mk
@@ -0,0 +1,8 @@
+CUSTOM_MATRIX = lite
+ANALOG_DRIVER_REQUIRED = yes
+VPATH += keyboards/cipulot/common
+SRC += matrix.c ec_board.c ec_switch_matrix.c
+
+ifeq ($(strip $(VIA_ENABLE)), yes)
+ SRC += via_ec.c
+endif
diff --git a/keyboards/cipulot/common/ec_board.c b/keyboards/cipulot/common/ec_board.c
index d9ba1975893f..0ccb9f6d3c3e 100644
--- a/keyboards/cipulot/common/ec_board.c
+++ b/keyboards/cipulot/common/ec_board.c
@@ -17,6 +17,10 @@
#include "ec_switch_matrix.h"
#include "keyboard.h"
+#ifdef SPLIT_KEYBOARD
+# include "transactions.h"
+#endif
+
void eeconfig_init_kb(void) {
// Default values
eeprom_ec_config.actuation_mode = DEFAULT_ACTUATION_MODE;
@@ -57,8 +61,14 @@ void keyboard_post_init_kb(void) {
ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_1_actuation_offset[row][col] = rescale(ec_config.mode_1_actuation_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_1_release_offset[row][col] = rescale(ec_config.mode_1_release_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
}
}
+#ifdef SPLIT_KEYBOARD
+ transaction_register_rpc(RPC_ID_VIA_CMD, via_cmd_slave_handler);
+#endif
+
keyboard_post_init_user();
}
diff --git a/keyboards/cipulot/common/ec_switch_matrix.c b/keyboards/cipulot/common/ec_switch_matrix.c
index 33123bd236e1..25c745703b48 100644
--- a/keyboards/cipulot/common/ec_switch_matrix.c
+++ b/keyboards/cipulot/common/ec_switch_matrix.c
@@ -37,8 +37,14 @@ const pin_t amux_en_pins[] = AMUX_EN_PINS;
const pin_t amux_n_col_sizes[] = AMUX_COL_CHANNELS_SIZES;
const pin_t amux_n_col_channels[][AMUX_MAX_COLS_COUNT] = {AMUX_COL_CHANNELS};
+#ifdef UNUSED_POSITIONS_LIST
+const uint8_t UNUSED_POSITIONS[][2] = UNUSED_POSITIONS_LIST;
+# define UNUSED_POSITIONS_COUNT ARRAY_SIZE(UNUSED_POSITIONS)
+#endif
+
#define AMUX_SEL_PINS_COUNT ARRAY_SIZE(amux_sel_pins)
#define EXPECTED_AMUX_SEL_PINS_COUNT ceil(log2(AMUX_MAX_COLS_COUNT)
+
// Checks for the correctness of the configuration
_Static_assert(ARRAY_SIZE(amux_en_pins) == AMUX_COUNT, "AMUX_EN_PINS doesn't have the minimum number of bits required to enable all the multiplexers available");
// Check that number of select pins is enough to select all the channels
@@ -70,6 +76,16 @@ void init_amux(void) {
}
}
+// Disable all the unused rows
+void disable_unused_row(uint8_t row) {
+ // disable all the other rows apart from the current selected one
+ for (uint8_t idx = 0; idx < MATRIX_ROWS; idx++) {
+ if (idx != row) {
+ gpio_write_pin_low(row_pins[idx]);
+ }
+ }
+}
+
// Select the multiplexer channel of the specified multiplexer
void select_amux_channel(uint8_t channel, uint8_t col) {
// Get the channel for the specified multiplexer
@@ -158,6 +174,10 @@ void ec_noise_floor(void) {
sum += amux_n_col_sizes[i];
uint8_t adjusted_col = col + sum;
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+#ifdef UNUSED_POSITIONS_LIST
+ if (is_unused_position(row, adjusted_col)) continue;
+#endif
+ disable_unused_row(row);
ec_config.noise_floor[row][adjusted_col] += ec_readkey_raw(amux, row, col);
}
}
@@ -180,11 +200,15 @@ bool ec_matrix_scan(matrix_row_t current_matrix[]) {
for (uint8_t amux = 0; amux < AMUX_COUNT; amux++) {
disable_unused_amux(amux);
for (uint8_t col = 0; col < amux_n_col_sizes[amux]; col++) {
+ uint8_t sum = 0;
+ for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++)
+ sum += amux_n_col_sizes[i];
+ uint8_t adjusted_col = col + sum;
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- uint8_t sum = 0;
- for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++)
- sum += amux_n_col_sizes[i];
- uint8_t adjusted_col = col + sum;
+#ifdef UNUSED_POSITIONS_LIST
+ if (is_unused_position(row, adjusted_col)) continue;
+#endif
+ disable_unused_row(row);
sw_value[row][adjusted_col] = ec_readkey_raw(amux, row, col);
if (ec_config.bottoming_calibration) {
@@ -266,7 +290,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t
uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
}
// Has key moved up enough to be released?
- else if (sw_value < ec_config.extremum[row][col] - ec_config.mode_1_release_offset) {
+ else if (sw_value < ec_config.extremum[row][col] - ec_config.rescaled_mode_1_release_offset[row][col]) {
ec_config.extremum[row][col] = sw_value;
*current_row &= ~(1 << col);
uprintf("Key released: %d, %d, %d\n", row, col, sw_value);
@@ -280,7 +304,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t
ec_config.extremum[row][col] = sw_value;
}
// Has key moved down enough to be pressed?
- else if (sw_value > ec_config.extremum[row][col] + ec_config.mode_1_actuation_offset) {
+ else if (sw_value > ec_config.extremum[row][col] + ec_config.rescaled_mode_1_actuation_offset[row][col]) {
ec_config.extremum[row][col] = sw_value;
*current_row |= (1 << col);
uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
@@ -312,6 +336,18 @@ void ec_print_matrix(void) {
print("\n");
}
+// Check if the position is unused
+#ifdef UNUSED_POSITIONS_LIST
+bool is_unused_position(uint8_t row, uint8_t col) {
+ for (uint8_t i = 0; i < UNUSED_POSITIONS_COUNT; i++) {
+ if (UNUSED_POSITIONS[i][0] == row && UNUSED_POSITIONS[i][1] == col) {
+ return true;
+ }
+ }
+ return false;
+}
+#endif
+
// Rescale the value to a different range
uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max) {
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
diff --git a/keyboards/cipulot/common/ec_switch_matrix.h b/keyboards/cipulot/common/ec_switch_matrix.h
index 4b424911da89..8fbca372bf69 100644
--- a/keyboards/cipulot/common/ec_switch_matrix.h
+++ b/keyboards/cipulot/common/ec_switch_matrix.h
@@ -37,11 +37,13 @@ typedef struct {
uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0
uint16_t mode_0_release_threshold; // threshold for key release in mode 0
uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1 (initial deadzone)
+ uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255)
+ uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255)
uint16_t rescaled_mode_0_actuation_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 0 rescaled to actual scale
uint16_t rescaled_mode_0_release_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key release in mode 0 rescaled to actual scale
uint16_t rescaled_mode_1_initial_deadzone_offset[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 1 (initial deadzone) rescaled to actual scale
- uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255)
- uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255)
+ uint8_t rescaled_mode_1_actuation_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key press in mode 1 rescaled to actual scale
+ uint8_t rescaled_mode_1_release_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key release in mode 1 rescaled to actual scale
uint16_t extremum[MATRIX_ROWS][MATRIX_COLS]; // extremum values for mode 1
uint16_t noise_floor[MATRIX_ROWS][MATRIX_COLS]; // noise floor detected during startup
bool bottoming_calibration; // calibration mode for bottoming out values (true: calibration mode, false: normal mode)
@@ -58,6 +60,7 @@ extern ec_config_t ec_config;
void init_row(void);
void init_amux(void);
+void disable_unused_row(uint8_t row);
void select_amux_channel(uint8_t channel, uint8_t col);
void disable_unused_amux(uint8_t channel);
void discharge_capacitor(void);
@@ -71,3 +74,11 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint
void ec_print_matrix(void);
uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max);
+
+#ifdef UNUSED_POSITIONS_LIST
+bool is_unused_position(uint8_t row, uint8_t col);
+#endif
+
+#ifdef SPLIT_KEYBOARD
+void via_cmd_slave_handler(uint8_t m2s_size, const void* m2s_buffer, uint8_t s2m_size, void* s2m_buffer);
+#endif
diff --git a/keyboards/cipulot/common/via_ec.c b/keyboards/cipulot/common/via_ec.c
index ce4e813f7596..ed34a579b222 100644
--- a/keyboards/cipulot/common/via_ec.c
+++ b/keyboards/cipulot/common/via_ec.c
@@ -19,6 +19,10 @@
#include "print.h"
#include "via.h"
+#ifdef SPLIT_KEYBOARD
+# include "transactions.h"
+#endif
+
#ifdef VIA_ENABLE
void ec_rescale_values(uint8_t item);
@@ -50,6 +54,12 @@ void via_config_set_value(uint8_t *data) {
uint8_t *value_id = &(data[0]);
uint8_t *value_data = &(data[1]);
+# ifdef SPLIT_KEYBOARD
+ if (is_keyboard_master()) {
+ transaction_rpc_send(RPC_ID_VIA_CMD, 30, data);
+ }
+# endif
+
switch (*value_id) {
case id_actuation_mode: {
eeprom_ec_config.actuation_mode = value_data[0];
@@ -115,6 +125,8 @@ void via_config_set_value(uint8_t *data) {
ec_rescale_values(0);
ec_rescale_values(1);
ec_rescale_values(2);
+ ec_rescale_values(3);
+ ec_rescale_values(4);
uprintf("#############################\n");
uprintf("# Noise floor data acquired #\n");
uprintf("#############################\n");
@@ -124,13 +136,14 @@ void via_config_set_value(uint8_t *data) {
case id_show_calibration_data: {
if (value_data[0] == 0) {
ec_show_calibration_data();
- break;
}
+ break;
}
case id_clear_bottoming_calibration_data: {
if (value_data[0] == 0) {
ec_clear_bottoming_calibration_data();
}
+ break;
}
default: {
// Unhandled value.
@@ -240,6 +253,22 @@ void ec_rescale_values(uint8_t item) {
}
}
break;
+ // Rescale the Rapid Trigger mode actuation offsets
+ case 3:
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.rescaled_mode_1_actuation_offset[row][col] = rescale(ec_config.mode_1_actuation_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ }
+ break;
+ // Rescale the Rapid Trigger mode release offsets
+ case 4:
+ for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+ for (uint8_t col = 0; col < MATRIX_COLS; col++) {
+ ec_config.rescaled_mode_1_release_offset[row][col] = rescale(ec_config.mode_1_release_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ }
+ }
+ break;
default:
// Unhandled item.
@@ -258,9 +287,11 @@ void ec_save_threshold_data(uint8_t option) {
// Save Rapid Trigger mode thresholds and rescale them for runtime usage
else if (option == 1) {
eeprom_ec_config.mode_1_initial_deadzone_offset = ec_config.mode_1_initial_deadzone_offset;
- eeprom_ec_config.mode_1_actuation_offset = ec_config.mode_1_actuation_offset;
- eeprom_ec_config.mode_1_release_offset = ec_config.mode_1_release_offset;
+ eeprom_ec_config.mode_1_actuation_offset = ec_config.mode_1_actuation_offset;
+ eeprom_ec_config.mode_1_release_offset = ec_config.mode_1_release_offset;
ec_rescale_values(2);
+ ec_rescale_values(3);
+ ec_rescale_values(4);
}
eeconfig_update_kb_datablock(&eeprom_ec_config);
uprintf("####################################\n");
@@ -272,11 +303,12 @@ void ec_save_threshold_data(uint8_t option) {
void ec_save_bottoming_reading(void) {
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- // If the bottom reading doesn't go over the noise floor by BOTTOMING_CALIBRATION_THRESHOLD, it is likely that:
- // 1. The key is not actually in the matrix
- // 2. The key is on an alternative layout, therefore not being pressed
- // 3. The key in in the current layout but not being pressed
- if (ec_config.bottoming_reading[row][col] < (ec_config.noise_floor[row][col] + BOTTOMING_CALIBRATION_THRESHOLD)) {
+ // If the calibration starter flag is still set on the key, it indicates that the key was skipped during the scan because it is not physically present.
+ // If the flag is not set, it means a bottoming reading was taken. If this reading doesn't exceed the noise floor by the BOTTOMING_CALIBRATION_THRESHOLD, it likely indicates one of the following:
+ // 1. The key is part of an alternative layout and is not being pressed.
+ // 2. The key is in the current layout but is not being pressed.
+ // In both conditions we should set the bottoming reading to the maximum value to avoid false positives.
+ if (ec_config.bottoming_calibration_starter[row][col] || ec_config.bottoming_reading[row][col] < (ec_config.noise_floor[row][col] + BOTTOMING_CALIBRATION_THRESHOLD)) {
eeprom_ec_config.bottoming_reading[row][col] = 1023;
} else {
eeprom_ec_config.bottoming_reading[row][col] = ec_config.bottoming_reading[row][col];
@@ -287,6 +319,8 @@ void ec_save_bottoming_reading(void) {
ec_rescale_values(0);
ec_rescale_values(1);
ec_rescale_values(2);
+ ec_rescale_values(3);
+ ec_rescale_values(4);
eeconfig_update_kb_datablock(&eeprom_ec_config);
}
@@ -360,4 +394,14 @@ void ec_clear_bottoming_calibration_data(void) {
uprintf("######################################\n");
}
+# ifdef SPLIT_KEYBOARD
+void via_cmd_slave_handler(uint8_t m2s_size, const void *m2s_buffer, uint8_t s2m_size, void *s2m_buffer) {
+ if (m2s_size == (RAW_EPSIZE-2)) {
+ via_config_set_value((uint8_t *)m2s_buffer);
+ } else {
+ uprintf("Unexpected response in slave handler\n");
+ }
+}
+# endif
+
#endif // VIA_ENABLE
diff --git a/keyboards/cipulot/ec1_at/config.h b/keyboards/cipulot/ec1_at/config.h
new file mode 100644
index 000000000000..5e7af3fac570
--- /dev/null
+++ b/keyboards/cipulot/ec1_at/config.h
@@ -0,0 +1,61 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 21
+
+#define UNUSED_POSITIONS_LIST { {2, 16}, {4, 5}, {4, 7}, {4, 9}, {4, 12}, {4, 16} }
+
+#define MATRIX_ROW_PINS {A8, B15, B14, B12, B13}
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 16
+
+#define AMUX_EN_PINS {B5, A15}
+
+#define AMUX_SEL_PINS {B6, B7, B4, B3}
+
+#define AMUX_COL_CHANNELS_SIZES {16, 5}
+
+#define AMUX_0_COL_CHANNELS {5, 6, 7, 4, 3, 2, 1, 0, 8, 15, 14, 13, 12, 10, 9, 11}
+
+#define AMUX_1_COL_CHANNELS {4, 2, 1, 0, 3}
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
+#define DISCHARGE_PIN A2
+#define ANALOG_PORT A3
+
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 50
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+#define EECONFIG_KB_DATA_SIZE 219
+#define DYNAMIC_KEYMAP_MACRO_COUNT 30
diff --git a/keyboards/cipulot/ec1_at/halconf.h b/keyboards/cipulot/ec1_at/halconf.h
new file mode 100644
index 000000000000..6b63cb5af98e
--- /dev/null
+++ b/keyboards/cipulot/ec1_at/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_ADC TRUE
+
+#include_next
diff --git a/keyboards/cipulot/ec1_at/keyboard.json b/keyboards/cipulot/ec1_at/keyboard.json
new file mode 100644
index 000000000000..9a7a0ae04e78
--- /dev/null
+++ b/keyboards/cipulot/ec1_at/keyboard.json
@@ -0,0 +1,142 @@
+{
+ "manufacturer": "Cipulot",
+ "keyboard_name": "EC1-AT",
+ "maintainer": "Cipulot",
+ "bootloader": "stm32-dfu",
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 16384
+ }
+ },
+ "features": {
+ "bootmagic": false,
+ "console": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "processor": "STM32F411",
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6BCE",
+ "shared_endpoint": {
+ "keyboard": true
+ },
+ "vid": "0x6369"
+ },
+ "layouts": {
+ "LAYOUT": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.25, "y": 0},
+ {"matrix": [0, 6], "x": 6.25, "y": 0},
+ {"matrix": [0, 7], "x": 7.25, "y": 0},
+ {"matrix": [0, 8], "x": 8.25, "y": 0},
+ {"matrix": [0, 9], "x": 9.25, "y": 0},
+ {"matrix": [0, 10], "x": 10.25, "y": 0},
+ {"matrix": [0, 11], "x": 11.25, "y": 0},
+ {"matrix": [0, 12], "x": 12.25, "y": 0},
+ {"matrix": [0, 13], "x": 13.25, "y": 0},
+ {"matrix": [0, 14], "x": 14.25, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [0, 16], "x": 16.25, "y": 0},
+ {"matrix": [0, 17], "x": 17.5, "y": 0},
+ {"matrix": [0, 18], "x": 18.5, "y": 0},
+ {"matrix": [0, 19], "x": 19.5, "y": 0},
+ {"matrix": [0, 20], "x": 20.5, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1},
+ {"matrix": [1, 1], "x": 1, "y": 1},
+ {"matrix": [1, 2], "x": 2.25, "y": 1, "w": 1.5},
+ {"matrix": [1, 3], "x": 3.75, "y": 1},
+ {"matrix": [1, 4], "x": 4.75, "y": 1},
+ {"matrix": [1, 5], "x": 5.75, "y": 1},
+ {"matrix": [1, 6], "x": 6.75, "y": 1},
+ {"matrix": [1, 7], "x": 7.75, "y": 1},
+ {"matrix": [1, 8], "x": 8.75, "y": 1},
+ {"matrix": [1, 9], "x": 9.75, "y": 1},
+ {"matrix": [1, 10], "x": 10.75, "y": 1},
+ {"matrix": [1, 11], "x": 11.75, "y": 1},
+ {"matrix": [1, 12], "x": 12.75, "y": 1},
+ {"matrix": [1, 13], "x": 13.75, "y": 1},
+ {"matrix": [1, 14], "x": 14.75, "y": 1},
+ {"matrix": [1, 15], "x": 15.75, "y": 1, "w": 0.75},
+ {"matrix": [1, 16], "x": 16.5, "y": 1, "w": 0.75},
+ {"matrix": [1, 17], "x": 17.5, "y": 1},
+ {"matrix": [1, 18], "x": 18.5, "y": 1},
+ {"matrix": [1, 19], "x": 19.5, "y": 1},
+ {"matrix": [1, 20], "x": 20.5, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2},
+ {"matrix": [2, 1], "x": 1, "y": 2},
+ {"matrix": [2, 2], "x": 2.25, "y": 2, "w": 1.75},
+ {"matrix": [2, 3], "x": 4, "y": 2},
+ {"matrix": [2, 4], "x": 5, "y": 2},
+ {"matrix": [2, 5], "x": 6, "y": 2},
+ {"matrix": [2, 6], "x": 7, "y": 2},
+ {"matrix": [2, 7], "x": 8, "y": 2},
+ {"matrix": [2, 8], "x": 9, "y": 2},
+ {"matrix": [2, 9], "x": 10, "y": 2},
+ {"matrix": [2, 10], "x": 11, "y": 2},
+ {"matrix": [2, 11], "x": 12, "y": 2},
+ {"matrix": [2, 12], "x": 13, "y": 2},
+ {"matrix": [2, 13], "x": 14, "y": 2},
+ {"matrix": [2, 14], "x": 15, "y": 2},
+ {"matrix": [2, 15], "x": 16, "y": 2, "w": 1.25},
+ {"matrix": [2, 17], "x": 17.5, "y": 2},
+ {"matrix": [2, 18], "x": 18.5, "y": 2},
+ {"matrix": [2, 19], "x": 19.5, "y": 2},
+ {"matrix": [2, 20], "x": 20.5, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3},
+ {"matrix": [3, 1], "x": 1, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3, "w": 1.25},
+ {"matrix": [3, 3], "x": 3.5, "y": 3},
+ {"matrix": [3, 4], "x": 4.5, "y": 3},
+ {"matrix": [3, 5], "x": 5.5, "y": 3},
+ {"matrix": [3, 6], "x": 6.5, "y": 3},
+ {"matrix": [3, 7], "x": 7.5, "y": 3},
+ {"matrix": [3, 8], "x": 8.5, "y": 3},
+ {"matrix": [3, 9], "x": 9.5, "y": 3},
+ {"matrix": [3, 10], "x": 10.5, "y": 3},
+ {"matrix": [3, 11], "x": 11.5, "y": 3},
+ {"matrix": [3, 12], "x": 12.5, "y": 3},
+ {"matrix": [3, 13], "x": 13.5, "y": 3},
+ {"matrix": [3, 14], "x": 14.5, "y": 3},
+ {"matrix": [3, 15], "x": 15.5, "y": 3, "w": 0.75},
+ {"matrix": [3, 16], "x": 16.25, "y": 3},
+ {"matrix": [3, 17], "x": 17.5, "y": 3},
+ {"matrix": [3, 18], "x": 18.5, "y": 3},
+ {"matrix": [3, 19], "x": 19.5, "y": 3},
+ {"matrix": [3, 20], "x": 20.5, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4},
+ {"matrix": [4, 1], "x": 1, "y": 4},
+ {"matrix": [4, 2], "x": 2.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 3], "x": 3.75, "y": 4},
+ {"matrix": [4, 4], "x": 4.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 6.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 8], "x": 7.75, "y": 4, "w": 2.5},
+ {"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 11], "x": 11.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 13], "x": 13.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 14], "x": 14.75, "y": 4},
+ {"matrix": [4, 15], "x": 15.75, "y": 4, "w": 1.5},
+ {"matrix": [4, 17], "x": 17.5, "y": 4},
+ {"matrix": [4, 18], "x": 18.5, "y": 4},
+ {"matrix": [4, 19], "x": 19.5, "y": 4},
+ {"matrix": [4, 20], "x": 20.5, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cipulot/ec1_at/keymaps/default/keymap.c b/keyboards/cipulot/ec1_at/keymaps/default/keymap.c
new file mode 100644
index 000000000000..b0e5e3aac35d
--- /dev/null
+++ b/keyboards/cipulot/ec1_at/keymaps/default/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT(
+ _______, _______, QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
+ _______, _______, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_ENTER, KC_P7, KC_P8, KC_P9, KC_PMNS,
+ _______, _______, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER, KC_P4, KC_P5, KC_P6, KC_PPLS,
+ _______, _______, KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, MO(1), KC_P1, KC_P2, KC_P3, KC_PENT,
+ _______, _______, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL, KC_P0, KC_P0, KC_PDOT, KC_PENT),
+
+ [1] = LAYOUT(
+ _______, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______),
+
+ [2] = LAYOUT(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec1_at/mcuconf.h b/keyboards/cipulot/ec1_at/mcuconf.h
new file mode 100644
index 000000000000..1679d3fbc04c
--- /dev/null
+++ b/keyboards/cipulot/ec1_at/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_ADC_USE_ADC1
+#define STM32_ADC_USE_ADC1 TRUE
diff --git a/keyboards/cipulot/ec1_at/post_rules.mk b/keyboards/cipulot/ec1_at/post_rules.mk
new file mode 100644
index 000000000000..5dba48cc5fd6
--- /dev/null
+++ b/keyboards/cipulot/ec1_at/post_rules.mk
@@ -0,0 +1 @@
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec1_at/readme.md b/keyboards/cipulot/ec1_at/readme.md
new file mode 100644
index 000000000000..8e2081dae74c
--- /dev/null
+++ b/keyboards/cipulot/ec1_at/readme.md
@@ -0,0 +1,26 @@
+# EC1-AT
+
+![EC1-AT](https://i.imgur.com/69OrQsh.png)
+
+EC version of the W1-AT keyboard.
+
+* Keyboard Maintainer: [cipulot](https://github.com/cipulot)
+* Hardware Supported: EC1-AT
+* Hardware Availability: TBD
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cipulot/ec1_at:default
+
+Flashing example for this keyboard:
+
+ make cipulot/ec1_at:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Physical reset**: Long press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec1_at/rules.mk b/keyboards/cipulot/ec1_at/rules.mk
new file mode 100644
index 000000000000..1716098b3e10
--- /dev/null
+++ b/keyboards/cipulot/ec1_at/rules.mk
@@ -0,0 +1 @@
+OPT = 3
diff --git a/keyboards/cipulot/ec_23u/keymaps/default/keymap.c b/keyboards/cipulot/ec_23u/keymaps/default/keymap.c
index 1f54d78a62ba..10847a751fc5 100644
--- a/keyboards/cipulot/ec_23u/keymaps/default/keymap.c
+++ b/keyboards/cipulot/ec_23u/keymaps/default/keymap.c
@@ -27,7 +27,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_P0, KC_P0, KC_PDOT, KC_PENT),
[1] = LAYOUT_all(
- RGB_TOG, RGB_VAD, RGB_VAI, _______,
+ UG_TOGG, UG_VALD, UG_VALU, _______,
_______, _______, _______, NK_TOGG,
_______, _______, _______, _______,
_______, _______, _______, _______,
diff --git a/keyboards/cipulot/ec_23u/keymaps/via/config.h b/keyboards/cipulot/ec_23u/keymaps/via/config.h
deleted file mode 100644
index 036188669d19..000000000000
--- a/keyboards/cipulot/ec_23u/keymaps/via/config.h
+++ /dev/null
@@ -1,22 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-// This is the firmware version for VIA support to avoid conflicts on menu fetching
-#define VIA_FIRMWARE_VERSION 1
-// This is the size of the EEPROM for the custom VIA-specific data
-#define EECONFIG_USER_DATA_SIZE 4
diff --git a/keyboards/cipulot/ec_23u/keymaps/via/keymap.c b/keyboards/cipulot/ec_23u/keymaps/via/keymap.c
deleted file mode 100644
index 1f54d78a62ba..000000000000
--- a/keyboards/cipulot/ec_23u/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_all(
- KC_ESC, KC_TAB, KC_BSPC, MO(1),
- KC_NUM, KC_PSLS, KC_PAST, KC_PEQL,
- KC_P7, KC_P8, KC_P9, KC_PMNS,
- KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_P0, KC_P0, KC_PDOT, KC_PENT),
-
- [1] = LAYOUT_all(
- RGB_TOG, RGB_VAD, RGB_VAI, _______,
- _______, _______, _______, NK_TOGG,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, _______, _______,
- _______, _______, QK_BOOT, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_23u/keymaps/via/rules.mk b/keyboards/cipulot/ec_23u/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_23u/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_23u/post_rules.mk b/keyboards/cipulot/ec_23u/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_23u/post_rules.mk
+++ b/keyboards/cipulot/ec_23u/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_23u/rules.mk b/keyboards/cipulot/ec_23u/rules.mk
index 318e0215ce90..3aa0e2bf0615 100644
--- a/keyboards/cipulot/ec_23u/rules.mk
+++ b/keyboards/cipulot/ec_23u/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 2
diff --git a/keyboards/cipulot/ec_60/config.h b/keyboards/cipulot/ec_60/config.h
index 245255014396..a409df2dfc52 100644
--- a/keyboards/cipulot/ec_60/config.h
+++ b/keyboards/cipulot/ec_60/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
+#define UNUSED_POSITIONS_LIST { {1, 14}, {2, 14}, {4, 3}, {4, 8} }
+
#define MATRIX_ROW_PINS \
{ B15, A8, B0, A7, B1 }
diff --git a/keyboards/cipulot/ec_60/keymaps/via/config.h b/keyboards/cipulot/ec_60/keymaps/via/config.h
deleted file mode 100644
index 1ab0d3d9aa2a..000000000000
--- a/keyboards/cipulot/ec_60/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-// This is the firmware version for VIA support to avoid conflicts on menu fetching
-#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_60/keymaps/via/keymap.c b/keyboards/cipulot/ec_60/keymaps/via/keymap.c
deleted file mode 100644
index d41d43c8850f..000000000000
--- a/keyboards/cipulot/ec_60/keymaps/via/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-#include "keymap_japanese.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, JP_YEN, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENTER,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, MO(1), KC_RSFT, KC_RSFT, KC_RSFT, MO(1),
- KC_CAPS, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, KC_SPC, JP_HENK, JP_KANA, KC_RALT, MO(1), KC_RCTL),
-
- [1] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [2] = LAYOUT_all(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
-};
diff --git a/keyboards/cipulot/ec_60/keymaps/via/rules.mk b/keyboards/cipulot/ec_60/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_60/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_60/post_rules.mk b/keyboards/cipulot/ec_60/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_60/post_rules.mk
+++ b/keyboards/cipulot/ec_60/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_60/rules.mk b/keyboards/cipulot/ec_60/rules.mk
index ce525670a68b..1716098b3e10 100644
--- a/keyboards/cipulot/ec_60/rules.mk
+++ b/keyboards/cipulot/ec_60/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 3
diff --git a/keyboards/cipulot/ec_60x/config.h b/keyboards/cipulot/ec_60x/config.h
index 1a8d105d6801..1784076d21cb 100644
--- a/keyboards/cipulot/ec_60x/config.h
+++ b/keyboards/cipulot/ec_60x/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
+#define UNUSED_POSITIONS_LIST { {2, 14}, {4, 3}, {4, 5}, {4, 7}, {4, 9}, {4, 14} }
+
#define MATRIX_ROW_PINS \
{ A8, A15, B12, B8, B9}
diff --git a/keyboards/cipulot/ec_60x/keyboard.json b/keyboards/cipulot/ec_60x/keyboard.json
index 1d121800fcc5..550bca953a2e 100644
--- a/keyboards/cipulot/ec_60x/keyboard.json
+++ b/keyboards/cipulot/ec_60x/keyboard.json
@@ -40,7 +40,7 @@
"static_gradient": true,
"twinkle": true
},
- "led_count": 22
+ "led_count": 19
},
"usb": {
"device_version": "0.0.1",
diff --git a/keyboards/cipulot/ec_60x/keymaps/via/config.h b/keyboards/cipulot/ec_60x/keymaps/via/config.h
deleted file mode 100644
index 08a4c0f74c6c..000000000000
--- a/keyboards/cipulot/ec_60x/keymaps/via/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* Copyright 2024 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-#define VIA_EEPROM_LAYOUT_OPTIONS_SIZE 2
diff --git a/keyboards/cipulot/ec_60x/keymaps/via/keymap.c b/keyboards/cipulot/ec_60x/keymaps/via/keymap.c
deleted file mode 100644
index 33e9ed7c511a..000000000000
--- a/keyboards/cipulot/ec_60x/keymaps/via/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2024 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_all(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_ENTER,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL),
-
- [1] = LAYOUT_all(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, KC_LEFT, KC_RIGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DOWN, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______),
-
- [2] = LAYOUT_all(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_60x/keymaps/via/rules.mk b/keyboards/cipulot/ec_60x/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_60x/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_60x/matrix_diagram.md b/keyboards/cipulot/ec_60x/matrix_diagram.md
new file mode 100644
index 000000000000..92fae552a3be
--- /dev/null
+++ b/keyboards/cipulot/ec_60x/matrix_diagram.md
@@ -0,0 +1,44 @@
+# Matrix Diagram for Cipulot EC 60
+
+```
+ ┌───────┐
+ 2u Backpace │0E │
+ └───────┘
+┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
+│00 │01 │02 │03 │04 │05 │06 │07 │08 │09 │0A │0B │0C │0D │0E │
+├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ ┌─────┐
+│10 │11 │12 │13 │14 │15 │16 │17 │18 │19 │1A │1B │1C │1D │ │ │
+├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤ ┌──┴┐1E │ ISO Enter
+│20 │21 │22 │23 │24 │25 │26 │27 │28 │29 │2A │2B │2D │ │2C │ │
+├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────┬───┤ └───┴────┘
+│30 │31 │32 │33 │34 │35 │36 │37 │38 │39 │3A │3B │3C │3E │
+├────┼───┴┬──┴─┬─┴───┴──┬┴───┼───┴───┴──┬┴───┼───┴┬────┬┴───┤
+│40 │41 │42 │44 │46 │48 │4A │4B │4C │4D │
+└────┴────┴────┴────────┴────┴──────────┴────┴────┴────┴────┘
+Shift Row:
+┌────────┐ ┌──────────┐
+│30 │ 2.25u LShift 2.75u RShift │3D │
+└────────┘ └──────────┘
+ ┌───┬──────┐
+ 1u-1.75u RShift │3C │3D │
+ └───┴──────┘
+Bottom Row:
+┌────┬────┬────┬────────────────────────┬────┬────┬────┬────┐
+│40 │41 │42 │46 │4A │4B │4C │4D │ 6.25u Spacebar
+└────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
+┌─────┬───┬─────┬───────────────────────────┬─────┬───┬─────┐
+│40** │41*│42 │46 │4B │4C*│4D** │ Tsangan/WKL*/HHKB**
+└─────┴───┴─────┴───────────────────────────┴─────┴───┴─────┘
+┌─────┬───┬─────┬───────────────────────┬─────┬───┬───┬─────┐
+│40* │41 │42 │46 │4A │4B │4C*│4D* │ Infinity/True HHKB*
+└─────┴───┴─────┴───────────────────────┴─────┴───┴───┴─────┘
+ ┌───────────┬───────────┐
+ │44 │48 │ Split 6u Spacebar (3u-3u)
+ └───────────┴───────────┘
+ ┌─────────┬───┬─────────┐
+ │44 │46 │48 │ Split 6u Spacebar (2.5u-1u-2.5u)
+ └─────────┴───┴─────────┘
+┌─────┬───┬─────┬─────┬─────────┬─────┬─────┬─────┬───┬─────┐
+│40 │41*│42 │44 │46 │48 │4A │4B │4C*│4D │ JIS/JIS WKL*
+└─────┴───┴─────┴─────┴─────────┴─────┴─────┴─────┴───┴─────┘
+```
diff --git a/keyboards/cipulot/ec_60x/post_rules.mk b/keyboards/cipulot/ec_60x/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_60x/post_rules.mk
+++ b/keyboards/cipulot/ec_60x/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_60x/rules.mk b/keyboards/cipulot/ec_60x/rules.mk
index 318e0215ce90..3aa0e2bf0615 100644
--- a/keyboards/cipulot/ec_60x/rules.mk
+++ b/keyboards/cipulot/ec_60x/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 2
diff --git a/keyboards/cipulot/ec_65x/config.h b/keyboards/cipulot/ec_65x/config.h
new file mode 100644
index 000000000000..142f7a140ec2
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/config.h
@@ -0,0 +1,69 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 16
+
+#define MATRIX_ROW_PINS \
+ { A8, A15, B13, B8, B9}
+
+#define AMUX_COUNT 1
+#define AMUX_MAX_COLS_COUNT 16
+
+#define AMUX_EN_PINS \
+ { B5 }
+
+#define AMUX_SEL_PINS \
+ { B6, B7, B4, B3 }
+
+#define AMUX_COL_CHANNELS_SIZES \
+ { 16 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 7, 6, 5, 4, 3, 2, 1, 0, 8, 15, 14, 12, 11, 13, 9, 10}
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS
+
+#define DISCHARGE_PIN A2
+#define ANALOG_PORT A3
+
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 50
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+#define EECONFIG_KB_DATA_SIZE 169
+
+// PWM driver with direct memory access (DMA) support
+#define WS2812_PWM_COMPLEMENTARY_OUTPUT
+#define WS2812_PWM_DRIVER PWMD1
+#define WS2812_PWM_CHANNEL 3
+#define WS2812_PWM_PAL_MODE 1
+#define WS2812_DMA_STREAM STM32_DMA2_STREAM5
+#define WS2812_DMA_CHANNEL 6
diff --git a/keyboards/cipulot/ec_65x/halconf.h b/keyboards/cipulot/ec_65x/halconf.h
new file mode 100644
index 000000000000..fb0f77d82f93
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/halconf.h
@@ -0,0 +1,23 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_ADC TRUE
+#define HAL_USE_PAL TRUE
+#define HAL_USE_PWM TRUE
+
+#include_next
diff --git a/keyboards/cipulot/ec_65x/keyboard.json b/keyboards/cipulot/ec_65x/keyboard.json
new file mode 100644
index 000000000000..2baf3ea5f017
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/keyboard.json
@@ -0,0 +1,420 @@
+{
+ "manufacturer": "Cipulot",
+ "keyboard_name": "EC 65X",
+ "maintainer": "Cipulot",
+ "bootloader": "stm32-dfu",
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "features": {
+ "bootmagic": false,
+ "console": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "processor": "STM32F411",
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "rgblight": {
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ },
+ "led_count": 19
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6BD1",
+ "shared_endpoint": {
+ "keyboard": true
+ },
+ "vid": "0x6369"
+ },
+ "ws2812": {
+ "driver": "pwm",
+ "pin": "B15"
+ },
+ "layouts": {
+ "LAYOUT_65_ansi_blocker": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
+ {"matrix": [3, 7], "x": 7.25, "y": 3},
+ {"matrix": [3, 8], "x": 8.25, "y": 3},
+ {"matrix": [3, 9], "x": 9.25, "y": 3},
+ {"matrix": [3, 10], "x": 10.25, "y": 3},
+ {"matrix": [3, 11], "x": 11.25, "y": 3},
+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 14], "x": 14, "y": 3},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
+ {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 12], "x": 13, "y": 4},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4}
+ ]
+ },
+ "LAYOUT_65_ansi_blocker_tsangan": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 13], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
+ {"matrix": [3, 7], "x": 7.25, "y": 3},
+ {"matrix": [3, 8], "x": 8.25, "y": 3},
+ {"matrix": [3, 9], "x": 9.25, "y": 3},
+ {"matrix": [3, 10], "x": 10.25, "y": 3},
+ {"matrix": [3, 11], "x": 11.25, "y": 3},
+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 14], "x": 14, "y": 3},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+ {"matrix": [4, 12], "x": 13, "y": 4},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4}
+ ]
+ },
+ "LAYOUT_65_iso_blocker": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"matrix": [3, 1], "x": 1.25, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
+ {"matrix": [3, 7], "x": 7.25, "y": 3},
+ {"matrix": [3, 8], "x": 8.25, "y": 3},
+ {"matrix": [3, 9], "x": 9.25, "y": 3},
+ {"matrix": [3, 10], "x": 10.25, "y": 3},
+ {"matrix": [3, 11], "x": 11.25, "y": 3},
+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 14], "x": 14, "y": 3},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"matrix": [4, 6], "x": 3.75, "y": 4, "w": 6.25},
+ {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 12], "x": 13, "y": 4},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4}
+ ]
+ },
+ "LAYOUT_65_iso_blocker_tsangan": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 14], "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"matrix": [3, 1], "x": 1.25, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
+ {"matrix": [3, 7], "x": 7.25, "y": 3},
+ {"matrix": [3, 8], "x": 8.25, "y": 3},
+ {"matrix": [3, 9], "x": 9.25, "y": 3},
+ {"matrix": [3, 10], "x": 10.25, "y": 3},
+ {"matrix": [3, 11], "x": 11.25, "y": 3},
+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 14], "x": 14, "y": 3},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 4, "y": 4, "w": 7},
+ {"matrix": [4, 11], "x": 11, "y": 4, "w": 1.5},
+ {"matrix": [4, 12], "x": 13, "y": 4},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4}
+ ]
+ },
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 0.75},
+ {"matrix": [1, 14], "x": 14.25, "y": 1, "w": 0.75},
+ {"matrix": [1, 15], "x": 15, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2},
+ {"matrix": [2, 13], "x": 13.75, "y": 2, "w": 1.25},
+ {"matrix": [2, 15], "x": 15, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 1.25},
+ {"matrix": [3, 1], "x": 1.25, "y": 3},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
+ {"matrix": [3, 7], "x": 7.25, "y": 3},
+ {"matrix": [3, 8], "x": 8.25, "y": 3},
+ {"matrix": [3, 9], "x": 9.25, "y": 3},
+ {"matrix": [3, 10], "x": 10.25, "y": 3},
+ {"matrix": [3, 11], "x": 11.25, "y": 3},
+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 14], "x": 14, "y": 3},
+ {"matrix": [3, 15], "x": 15, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"matrix": [4, 4], "x": 3.75, "y": 4, "w": 2.25},
+ {"matrix": [4, 6], "x": 6, "y": 4, "w": 1.25},
+ {"matrix": [4, 8], "x": 7.25, "y": 4, "w": 2.75},
+ {"matrix": [4, 10], "x": 10, "y": 4, "w": 1.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"matrix": [4, 12], "x": 13, "y": 4},
+ {"matrix": [4, 14], "x": 14, "y": 4},
+ {"matrix": [4, 15], "x": 15, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cipulot/ec_65x/keymaps/65_ansi_blocker/keymap.c b/keyboards/cipulot/ec_65x/keymaps/65_ansi_blocker/keymap.c
new file mode 100644
index 000000000000..9af029b2e33b
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/keymaps/65_ansi_blocker/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_65_ansi_blocker(
+ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_65_ansi_blocker(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, MO(2), _______, _______, _______),
+
+ [2] = LAYOUT_65_ansi_blocker(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_65x/keymaps/65_ansi_blocker_tsangan/keymap.c b/keyboards/cipulot/ec_65x/keymaps/65_ansi_blocker_tsangan/keymap.c
new file mode 100644
index 000000000000..69f17a0ae47c
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/keymaps/65_ansi_blocker_tsangan/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_65_ansi_blocker_tsangan(
+ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_65_ansi_blocker_tsangan(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, MO(2), _______, _______, _______),
+
+ [2] = LAYOUT_65_ansi_blocker_tsangan(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_65x/keymaps/65_iso_blocker/keymap.c b/keyboards/cipulot/ec_65x/keymaps/65_iso_blocker/keymap.c
new file mode 100644
index 000000000000..0d695c2978c4
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/keymaps/65_iso_blocker/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_65_iso_blocker(
+ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENTER, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_65_iso_blocker(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, MO(2), _______, _______, _______),
+
+ [2] = LAYOUT_65_iso_blocker(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_65x/keymaps/65_iso_blocker_tsangan/keymap.c b/keyboards/cipulot/ec_65x/keymaps/65_iso_blocker_tsangan/keymap.c
new file mode 100644
index 000000000000..867167cdea6c
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/keymaps/65_iso_blocker_tsangan/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_65_iso_blocker_tsangan(
+ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENTER, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_65_iso_blocker_tsangan(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, MO(2), _______, _______, _______),
+
+ [2] = LAYOUT_65_iso_blocker_tsangan(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_65x/keymaps/default/keymap.c b/keyboards/cipulot/ec_65x/keymaps/default/keymap.c
new file mode 100644
index 000000000000..e7fb368b0c7d
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/keymaps/default/keymap.c
@@ -0,0 +1,42 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_all(
+ QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_DEL,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_ENTER, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER, KC_PGDN,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, MO(1),
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_all(
+ _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______),
+
+ [2] = LAYOUT_all(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_65x/mcuconf.h b/keyboards/cipulot/ec_65x/mcuconf.h
new file mode 100644
index 000000000000..88185d8e9dac
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/mcuconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_ADC_USE_ADC1
+#define STM32_ADC_USE_ADC1 TRUE
+
+#undef STM32_PWM_USE_TIM1
+#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/cipulot/ec_65x/post_rules.mk b/keyboards/cipulot/ec_65x/post_rules.mk
new file mode 100644
index 000000000000..5dba48cc5fd6
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/post_rules.mk
@@ -0,0 +1 @@
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_65x/readme.md b/keyboards/cipulot/ec_65x/readme.md
new file mode 100644
index 000000000000..786d2b450424
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/readme.md
@@ -0,0 +1,26 @@
+# EC 65X
+
+![EC 65X PCB](https://i.imgur.com/8B86zsO.png)
+
+Universal 65% Electrostatic Capacitive PCB, with multi-layout support.
+
+* Keyboard Maintainer: [cipulot](https://github.com/cipulot)
+* Hardware Supported: EC 65X
+* Hardware Availability: TBD
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cipulot/ec_66x:default
+
+Flashing example for this keyboard:
+
+ make cipulot/ec_66x:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Physical button**: Long press the button on the back of the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec_65x/rules.mk b/keyboards/cipulot/ec_65x/rules.mk
new file mode 100644
index 000000000000..3aa0e2bf0615
--- /dev/null
+++ b/keyboards/cipulot/ec_65x/rules.mk
@@ -0,0 +1 @@
+OPT = 2
diff --git a/keyboards/cipulot/ec_660c/config.h b/keyboards/cipulot/ec_660c/config.h
index 9e883c40da28..16b2ade719da 100644
--- a/keyboards/cipulot/ec_660c/config.h
+++ b/keyboards/cipulot/ec_660c/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
+#define UNUSED_POSITIONS_LIST { {3, 14}, {4, 3}, {4, 4}, {4, 5}, {4, 7}, {4, 8} }
+
#define MATRIX_ROW_PINS \
{ B1, B10, B0, A1, A0 }
diff --git a/keyboards/cipulot/ec_660c/keymaps/via/keymap.c b/keyboards/cipulot/ec_660c/keymaps/via/keymap.c
deleted file mode 100644
index 5d82bdc3abdf..000000000000
--- a/keyboards/cipulot/ec_660c/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______, _______, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, KC_HOME, KC_PGUP, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, _______, _______, _______,
- _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______
- ),
- [2] = LAYOUT(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_660c/keymaps/via/rules.mk b/keyboards/cipulot/ec_660c/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_660c/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_660c/post_rules.mk b/keyboards/cipulot/ec_660c/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_660c/post_rules.mk
+++ b/keyboards/cipulot/ec_660c/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_660c/rules.mk b/keyboards/cipulot/ec_660c/rules.mk
index ce525670a68b..1716098b3e10 100644
--- a/keyboards/cipulot/ec_660c/rules.mk
+++ b/keyboards/cipulot/ec_660c/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 3
diff --git a/keyboards/cipulot/ec_980c/config.h b/keyboards/cipulot/ec_980c/config.h
index e3723822e331..bd8afcb687dc 100644
--- a/keyboards/cipulot/ec_980c/config.h
+++ b/keyboards/cipulot/ec_980c/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 6
#define MATRIX_COLS 19
+#define UNUSED_POSITIONS_LIST { {0, 1}, {0, 10}, {3, 14}, {4, 13}, {5, 4}, {5, 7}, {5, 12} }
+
#define MATRIX_ROW_PINS \
{ B13, B12, B14, A9, B6, B7 }
diff --git a/keyboards/cipulot/ec_980c/ec_980c.c b/keyboards/cipulot/ec_980c/ec_980c.c
index 2b40d5a5e697..eaa636ede6ae 100644
--- a/keyboards/cipulot/ec_980c/ec_980c.c
+++ b/keyboards/cipulot/ec_980c/ec_980c.c
@@ -69,6 +69,8 @@ void keyboard_post_init_kb(void) {
ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_1_actuation_offset[row][col] = rescale(ec_config.mode_1_actuation_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_1_release_offset[row][col] = rescale(ec_config.mode_1_release_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
}
}
@@ -86,26 +88,30 @@ void keyboard_post_init_kb(void) {
* Num | Caps | Scroll |
*/
bool rgb_matrix_indicators_kb(void) {
+ if (!rgb_matrix_indicators_user()) {
+ return false;
+ }
+
if (eeprom_ec_config.num.enabled) {
// The rgb_matrix_set_color function needs an RGB code to work, so first the indicator color is cast to an HSV value and then translated to RGB
- HSV hsv_num_indicator_color = {eeprom_ec_config.num.h, eeprom_ec_config.num.s, eeprom_ec_config.num.v};
- RGB rgb_num_indicator_color = hsv_to_rgb(hsv_num_indicator_color);
+ hsv_t hsv_num_indicator_color = {eeprom_ec_config.num.h, eeprom_ec_config.num.s, eeprom_ec_config.num.v};
+ rgb_t rgb_num_indicator_color = hsv_to_rgb(hsv_num_indicator_color);
if (host_keyboard_led_state().num_lock)
rgb_matrix_set_color(NUM_INDICATOR_INDEX, rgb_num_indicator_color.r, rgb_num_indicator_color.g, rgb_num_indicator_color.b);
else
rgb_matrix_set_color(NUM_INDICATOR_INDEX, 0, 0, 0);
}
if (eeprom_ec_config.caps.enabled) {
- HSV hsv_caps_indicator_color = {eeprom_ec_config.caps.h, eeprom_ec_config.caps.s, eeprom_ec_config.caps.v};
- RGB rgb_caps_indicator_color = hsv_to_rgb(hsv_caps_indicator_color);
+ hsv_t hsv_caps_indicator_color = {eeprom_ec_config.caps.h, eeprom_ec_config.caps.s, eeprom_ec_config.caps.v};
+ rgb_t rgb_caps_indicator_color = hsv_to_rgb(hsv_caps_indicator_color);
if (host_keyboard_led_state().caps_lock)
rgb_matrix_set_color(CAPS_INDICATOR_INDEX, rgb_caps_indicator_color.r, rgb_caps_indicator_color.g, rgb_caps_indicator_color.b);
else
rgb_matrix_set_color(CAPS_INDICATOR_INDEX, 0, 0, 0);
}
if (eeprom_ec_config.scroll.enabled) {
- HSV hsv_scroll_indicator_color = {eeprom_ec_config.scroll.h, eeprom_ec_config.scroll.s, eeprom_ec_config.scroll.v};
- RGB rgb_scroll_indicator_color = hsv_to_rgb(hsv_scroll_indicator_color);
+ hsv_t hsv_scroll_indicator_color = {eeprom_ec_config.scroll.h, eeprom_ec_config.scroll.s, eeprom_ec_config.scroll.v};
+ rgb_t rgb_scroll_indicator_color = hsv_to_rgb(hsv_scroll_indicator_color);
if (host_keyboard_led_state().scroll_lock)
rgb_matrix_set_color(SCROLL_INDICATOR_INDEX, rgb_scroll_indicator_color.r, rgb_scroll_indicator_color.g, rgb_scroll_indicator_color.b);
else
diff --git a/keyboards/cipulot/ec_980c/ec_switch_matrix.c b/keyboards/cipulot/ec_980c/ec_switch_matrix.c
index 33123bd236e1..00a0b632fbc3 100644
--- a/keyboards/cipulot/ec_980c/ec_switch_matrix.c
+++ b/keyboards/cipulot/ec_980c/ec_switch_matrix.c
@@ -37,6 +37,11 @@ const pin_t amux_en_pins[] = AMUX_EN_PINS;
const pin_t amux_n_col_sizes[] = AMUX_COL_CHANNELS_SIZES;
const pin_t amux_n_col_channels[][AMUX_MAX_COLS_COUNT] = {AMUX_COL_CHANNELS};
+#ifdef UNUSED_POSITIONS_LIST
+const uint8_t UNUSED_POSITIONS[][2] = UNUSED_POSITIONS_LIST;
+# define UNUSED_POSITIONS_COUNT (sizeof(UNUSED_POSITIONS) / sizeof(UNUSED_POSITIONS[0]))
+#endif
+
#define AMUX_SEL_PINS_COUNT ARRAY_SIZE(amux_sel_pins)
#define EXPECTED_AMUX_SEL_PINS_COUNT ceil(log2(AMUX_MAX_COLS_COUNT)
// Checks for the correctness of the configuration
@@ -70,6 +75,16 @@ void init_amux(void) {
}
}
+// Disable all the unused rows
+void disable_unused_row(uint8_t row) {
+ // disable all the other rows apart from the current selected one
+ for (uint8_t idx = 0; idx < MATRIX_ROWS; idx++) {
+ if (idx != row) {
+ gpio_write_pin_low(row_pins[idx]);
+ }
+ }
+}
+
// Select the multiplexer channel of the specified multiplexer
void select_amux_channel(uint8_t channel, uint8_t col) {
// Get the channel for the specified multiplexer
@@ -158,6 +173,10 @@ void ec_noise_floor(void) {
sum += amux_n_col_sizes[i];
uint8_t adjusted_col = col + sum;
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+#ifdef UNUSED_POSITIONS_LIST
+ if (is_unused_position(row, adjusted_col)) continue;
+#endif
+ disable_unused_row(row);
ec_config.noise_floor[row][adjusted_col] += ec_readkey_raw(amux, row, col);
}
}
@@ -180,11 +199,15 @@ bool ec_matrix_scan(matrix_row_t current_matrix[]) {
for (uint8_t amux = 0; amux < AMUX_COUNT; amux++) {
disable_unused_amux(amux);
for (uint8_t col = 0; col < amux_n_col_sizes[amux]; col++) {
+ uint8_t sum = 0;
+ for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++)
+ sum += amux_n_col_sizes[i];
+ uint8_t adjusted_col = col + sum;
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- uint8_t sum = 0;
- for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++)
- sum += amux_n_col_sizes[i];
- uint8_t adjusted_col = col + sum;
+#ifdef UNUSED_POSITIONS_LIST
+ if (is_unused_position(row, adjusted_col)) continue;
+#endif
+ disable_unused_row(row);
sw_value[row][adjusted_col] = ec_readkey_raw(amux, row, col);
if (ec_config.bottoming_calibration) {
@@ -229,7 +252,7 @@ uint16_t ec_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
}
// Update press/release state of key
-bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
+bool ec_update_key(matrix_row_t *current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
bool current_state = (*current_row >> col) & 1;
// Real Time Noise Floor Calibration
@@ -266,7 +289,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t
uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
}
// Has key moved up enough to be released?
- else if (sw_value < ec_config.extremum[row][col] - ec_config.mode_1_release_offset) {
+ else if (sw_value < ec_config.extremum[row][col] - ec_config.rescaled_mode_1_release_offset[row][col]) {
ec_config.extremum[row][col] = sw_value;
*current_row &= ~(1 << col);
uprintf("Key released: %d, %d, %d\n", row, col, sw_value);
@@ -280,7 +303,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t
ec_config.extremum[row][col] = sw_value;
}
// Has key moved down enough to be pressed?
- else if (sw_value > ec_config.extremum[row][col] + ec_config.mode_1_actuation_offset) {
+ else if (sw_value > ec_config.extremum[row][col] + ec_config.rescaled_mode_1_actuation_offset[row][col]) {
ec_config.extremum[row][col] = sw_value;
*current_row |= (1 << col);
uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
@@ -312,6 +335,18 @@ void ec_print_matrix(void) {
print("\n");
}
+// Check if the position is unused
+#ifdef UNUSED_POSITIONS_LIST
+bool is_unused_position(uint8_t row, uint8_t col) {
+ for (uint8_t i = 0; i < UNUSED_POSITIONS_COUNT; i++) {
+ if (UNUSED_POSITIONS[i][0] == row && UNUSED_POSITIONS[i][1] == col) {
+ return true;
+ }
+ }
+ return false;
+}
+#endif
+
// Rescale the value to a different range
uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max) {
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
diff --git a/keyboards/cipulot/ec_980c/ec_switch_matrix.h b/keyboards/cipulot/ec_980c/ec_switch_matrix.h
index 8a75b5de5fba..a89f8970ab15 100644
--- a/keyboards/cipulot/ec_980c/ec_switch_matrix.h
+++ b/keyboards/cipulot/ec_980c/ec_switch_matrix.h
@@ -47,11 +47,13 @@ typedef struct {
uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0
uint16_t mode_0_release_threshold; // threshold for key release in mode 0
uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1 (initial deadzone)
+ uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255)
+ uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255)
uint16_t rescaled_mode_0_actuation_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 0 rescaled to actual scale
uint16_t rescaled_mode_0_release_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key release in mode 0 rescaled to actual scale
uint16_t rescaled_mode_1_initial_deadzone_offset[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 1 (initial deadzone) rescaled to actual scale
- uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255)
- uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255)
+ uint8_t rescaled_mode_1_actuation_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key press in mode 1 rescaled to actual scale
+ uint8_t rescaled_mode_1_release_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key release in mode 1 rescaled to actual scale
uint16_t extremum[MATRIX_ROWS][MATRIX_COLS]; // extremum values for mode 1
uint16_t noise_floor[MATRIX_ROWS][MATRIX_COLS]; // noise floor detected during startup
bool bottoming_calibration; // calibration mode for bottoming out values (true: calibration mode, false: normal mode)
@@ -81,3 +83,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint
void ec_print_matrix(void);
uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max);
+
+#ifdef UNUSED_POSITIONS_LIST
+bool is_unused_position(uint8_t row, uint8_t col);
+#endif
diff --git a/keyboards/cipulot/ec_980c/keymaps/via/keymap.c b/keyboards/cipulot/ec_980c/keymaps/via/keymap.c
deleted file mode 100644
index c60db783528a..000000000000
--- a/keyboards/cipulot/ec_980c/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-#include "keymap_japanese.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_INS, KC_PGUP, KC_PGDN,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, JP_YEN, KC_BSPC, KC_NUM, KC_PSLS, KC_PAST, KC_PMNS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_ENT, KC_P7, KC_P8, KC_P9, KC_PPLS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, KC_P4, KC_P5, KC_P6, KC_PPLS,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_P1, KC_P2, KC_P3, KC_PENT,
- KC_LCTL, KC_LGUI, KC_LALT, _______, KC_SPC, KC_SPC, _______, KC_RALT, KC_RCTL, MO(1), KC_LEFT, KC_DOWN, KC_RIGHT, KC_P0, KC_PDOT, KC_PENT
- ),
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_980c/keymaps/via/rules.mk b/keyboards/cipulot/ec_980c/keymaps/via/rules.mk
deleted file mode 100644
index b870b6349c08..000000000000
--- a/keyboards/cipulot/ec_980c/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-
-SRC += via_ec_indicators.c
diff --git a/keyboards/cipulot/ec_980c/keymaps/via/via_ec_indicators.c b/keyboards/cipulot/ec_980c/keymaps/via/via_ec_indicators.c
deleted file mode 100644
index f885e7943577..000000000000
--- a/keyboards/cipulot/ec_980c/keymaps/via/via_ec_indicators.c
+++ /dev/null
@@ -1,499 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include "keyboards/cipulot/common/eeprom_tools.h"
-#include "ec_switch_matrix.h"
-#include "action.h"
-#include "print.h"
-#include "via.h"
-
-#ifdef VIA_ENABLE
-
-void ec_rescale_values(uint8_t item);
-void ec_save_threshold_data(uint8_t option);
-void ec_save_bottoming_reading(void);
-void ec_show_calibration_data(void);
-void ec_clear_bottoming_calibration_data(void);
-
-// Declaring enums for VIA config menu
-enum via_enums {
- // clang-format off
- id_num_indicator_enabled = 1,
- id_num_indicator_brightness = 2,
- id_num_indicator_color = 3,
- id_caps_indicator_enabled = 4,
- id_caps_indicator_brightness = 5,
- id_caps_indicator_color = 6,
- id_scroll_indicator_enabled = 7,
- id_scroll_indicator_brightness = 8,
- id_scroll_indicator_color = 9,
- id_actuation_mode = 10,
- id_mode_0_actuation_threshold = 11,
- id_mode_0_release_threshold = 12,
- id_save_threshold_data = 13,
- id_mode_1_initial_deadzone_offset = 14,
- id_mode_1_actuation_offset = 15,
- id_mode_1_release_offset = 16,
- id_bottoming_calibration = 17,
- id_noise_floor_calibration = 18,
- id_show_calibration_data = 19,
- id_clear_bottoming_calibration_data = 20
- // clang-format on
-};
-
-// Handle the data received by the keyboard from the VIA menus
-void via_config_set_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_num_indicator_enabled: {
- if (value_data[0] == 1) {
- eeprom_ec_config.num.enabled = true;
- uprintf("#########################\n");
- uprintf("# Num indicator enabled #\n");
- uprintf("#########################\n");
- } else {
- eeprom_ec_config.num.enabled = false;
- uprintf("##########################\n");
- uprintf("# Num indicator disabled #\n");
- uprintf("##########################\n");
- }
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.enabled);
- break;
- }
- case id_num_indicator_brightness: {
- eeprom_ec_config.num.v = value_data[0];
- uprintf("Num indicator brightness: %d\n", eeprom_ec_config.num.v);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.v);
- break;
- }
- case id_num_indicator_color: {
- eeprom_ec_config.num.h = value_data[0];
- eeprom_ec_config.num.s = value_data[1];
- uprintf("Num indicator color: %d, %d\n", eeprom_ec_config.num.h, eeprom_ec_config.num.s);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.h);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.s);
- break;
- }
- case id_caps_indicator_enabled: {
- if (value_data[0] == 1) {
- eeprom_ec_config.caps.enabled = true;
- uprintf("##########################\n");
- uprintf("# Caps indicator enabled #\n");
- uprintf("##########################\n");
- } else {
- eeprom_ec_config.caps.enabled = false;
- uprintf("###########################\n");
- uprintf("# Caps indicator disabled #\n");
- uprintf("###########################\n");
- }
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.enabled);
- break;
- }
- case id_caps_indicator_brightness: {
- eeprom_ec_config.caps.v = value_data[0];
- uprintf("Caps indicator brightness: %d\n", eeprom_ec_config.caps.v);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.v);
- break;
- }
- case id_caps_indicator_color: {
- eeprom_ec_config.caps.h = value_data[0];
- eeprom_ec_config.caps.s = value_data[1];
- uprintf("Caps indicator color: %d, %d\n", eeprom_ec_config.caps.h, eeprom_ec_config.caps.s);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.h);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.s);
- break;
- }
- case id_scroll_indicator_enabled: {
- if (value_data[0] == 1) {
- eeprom_ec_config.scroll.enabled = true;
- uprintf("############################\n");
- uprintf("# Scroll indicator enabled #\n");
- uprintf("############################\n");
- } else {
- eeprom_ec_config.scroll.enabled = false;
- uprintf("#############################\n");
- uprintf("# Scroll indicator disabled #\n");
- uprintf("#############################\n");
- }
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.enabled);
- break;
- }
- case id_scroll_indicator_brightness: {
- eeprom_ec_config.scroll.v = value_data[0];
- uprintf("Scroll indicator brightness: %d\n", eeprom_ec_config.scroll.v);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.v);
- break;
- }
- case id_scroll_indicator_color: {
- eeprom_ec_config.scroll.h = value_data[0];
- eeprom_ec_config.scroll.s = value_data[1];
- uprintf("Scroll indicator color: %d, %d\n", eeprom_ec_config.scroll.h, eeprom_ec_config.scroll.s);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.h);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.s);
- break;
- }
- case id_actuation_mode: {
- eeprom_ec_config.actuation_mode = value_data[0];
- ec_config.actuation_mode = eeprom_ec_config.actuation_mode;
- if (ec_config.actuation_mode == 0) {
- uprintf("#########################\n");
- uprintf("# Actuation Mode: APC #\n");
- uprintf("#########################\n");
- } else if (ec_config.actuation_mode == 1) {
- uprintf("#################################\n");
- uprintf("# Actuation Mode: Rapid Trigger #\n");
- uprintf("#################################\n");
- }
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, actuation_mode);
- break;
- }
- case id_mode_0_actuation_threshold: {
- ec_config.mode_0_actuation_threshold = value_data[1] | (value_data[0] << 8);
- uprintf("APC Mode Actuation Threshold: %d\n", ec_config.mode_0_actuation_threshold);
- break;
- }
- case id_mode_0_release_threshold: {
- ec_config.mode_0_release_threshold = value_data[1] | (value_data[0] << 8);
- uprintf("APC Mode Release Threshold: %d\n", ec_config.mode_0_release_threshold);
- break;
- }
- case id_mode_1_initial_deadzone_offset: {
- ec_config.mode_1_initial_deadzone_offset = value_data[1] | (value_data[0] << 8);
- uprintf("Rapid Trigger Mode Initial Deadzone Offset: %d\n", ec_config.mode_1_initial_deadzone_offset);
- break;
- }
- case id_mode_1_actuation_offset: {
- ec_config.mode_1_actuation_offset = value_data[0];
- uprintf("Rapid Trigger Mode Actuation Offset: %d\n", ec_config.mode_1_actuation_offset);
- break;
- }
- case id_mode_1_release_offset: {
- ec_config.mode_1_release_offset = value_data[0];
- uprintf("Rapid Trigger Mode Release Offset: %d\n", ec_config.mode_1_release_offset);
- break;
- }
- case id_bottoming_calibration: {
- if (value_data[0] == 1) {
- ec_config.bottoming_calibration = true;
- uprintf("##############################\n");
- uprintf("# Bottoming calibration mode #\n");
- uprintf("##############################\n");
- } else {
- ec_config.bottoming_calibration = false;
- ec_save_bottoming_reading();
- uprintf("## Bottoming calibration done ##\n");
- ec_show_calibration_data();
- }
- break;
- }
- case id_save_threshold_data: {
- ec_save_threshold_data(value_data[0]);
- break;
- }
- case id_noise_floor_calibration: {
- if (value_data[0] == 0) {
- ec_noise_floor();
- ec_rescale_values(0);
- ec_rescale_values(1);
- ec_rescale_values(2);
- uprintf("#############################\n");
- uprintf("# Noise floor data acquired #\n");
- uprintf("#############################\n");
- break;
- }
- }
- case id_show_calibration_data: {
- if (value_data[0] == 0) {
- ec_show_calibration_data();
- break;
- }
- }
- case id_clear_bottoming_calibration_data: {
- if (value_data[0] == 0) {
- ec_clear_bottoming_calibration_data();
- }
- }
- default: {
- // Unhandled value.
- break;
- }
- }
-}
-
-// Handle the data sent by the keyboard to the VIA menus
-void via_config_get_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_num_indicator_enabled: {
- value_data[0] = eeprom_ec_config.num.enabled;
- break;
- }
- case id_num_indicator_brightness: {
- value_data[0] = eeprom_ec_config.num.v;
- break;
- }
- case id_num_indicator_color: {
- value_data[0] = eeprom_ec_config.num.h;
- value_data[1] = eeprom_ec_config.num.s;
- break;
- }
- case id_caps_indicator_enabled: {
- value_data[0] = eeprom_ec_config.caps.enabled;
- break;
- }
- case id_caps_indicator_brightness: {
- value_data[0] = eeprom_ec_config.caps.v;
- break;
- }
- case id_caps_indicator_color: {
- value_data[0] = eeprom_ec_config.caps.h;
- value_data[1] = eeprom_ec_config.caps.s;
- break;
- }
- case id_scroll_indicator_enabled: {
- value_data[0] = eeprom_ec_config.scroll.enabled;
- break;
- }
- case id_scroll_indicator_brightness: {
- value_data[0] = eeprom_ec_config.scroll.v;
- break;
- }
- case id_scroll_indicator_color: {
- value_data[0] = eeprom_ec_config.scroll.h;
- value_data[1] = eeprom_ec_config.scroll.s;
- break;
- }
- case id_actuation_mode: {
- value_data[0] = eeprom_ec_config.actuation_mode;
- break;
- }
- case id_mode_0_actuation_threshold: {
- value_data[0] = eeprom_ec_config.mode_0_actuation_threshold >> 8;
- value_data[1] = eeprom_ec_config.mode_0_actuation_threshold & 0xFF;
- break;
- }
- case id_mode_0_release_threshold: {
- value_data[0] = eeprom_ec_config.mode_0_release_threshold >> 8;
- value_data[1] = eeprom_ec_config.mode_0_release_threshold & 0xFF;
- break;
- }
- case id_mode_1_initial_deadzone_offset: {
- value_data[0] = eeprom_ec_config.mode_1_initial_deadzone_offset >> 8;
- value_data[1] = eeprom_ec_config.mode_1_initial_deadzone_offset & 0xFF;
- break;
- }
- case id_mode_1_actuation_offset: {
- value_data[0] = eeprom_ec_config.mode_1_actuation_offset;
- break;
- }
- case id_mode_1_release_offset: {
- value_data[0] = eeprom_ec_config.mode_1_release_offset;
- break;
- }
- default: {
- // Unhandled value.
- break;
- }
- }
-}
-
-// Handle the commands sent and received by the keyboard with VIA
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if (*channel_id == id_custom_channel) {
- switch (*command_id) {
- case id_custom_set_value: {
- via_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value: {
- via_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save: {
- // Bypass the save function in favor of pinpointed saves
- break;
- }
- default: {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-}
-
-// Rescale the values received by VIA to fit the new range
-void ec_rescale_values(uint8_t item) {
- switch (item) {
- // Rescale the APC mode actuation thresholds
- case 0:
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
- }
- }
- break;
- // Rescale the APC mode release thresholds
- case 1:
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
- }
- }
- break;
- // Rescale the Rapid Trigger mode initial deadzone offsets
- case 2:
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
- }
- }
- break;
-
- default:
- // Unhandled item.
- break;
- }
-}
-
-void ec_save_threshold_data(uint8_t option) {
- // Save APC mode thresholds and rescale them for runtime usage
- if (option == 0) {
- eeprom_ec_config.mode_0_actuation_threshold = ec_config.mode_0_actuation_threshold;
- eeprom_ec_config.mode_0_release_threshold = ec_config.mode_0_release_threshold;
- ec_rescale_values(0);
- ec_rescale_values(1);
- }
- // Save Rapid Trigger mode thresholds and rescale them for runtime usage
- else if (option == 1) {
- eeprom_ec_config.mode_1_initial_deadzone_offset = ec_config.mode_1_initial_deadzone_offset;
- eeprom_ec_config.mode_1_actuation_offset = ec_config.mode_1_actuation_offset;
- eeprom_ec_config.mode_1_release_offset = ec_config.mode_1_release_offset;
- ec_rescale_values(2);
- }
- eeconfig_update_kb_datablock(&eeprom_ec_config);
- uprintf("####################################\n");
- uprintf("# New thresholds applied and saved #\n");
- uprintf("####################################\n");
-}
-
-// Save the bottoming reading
-void ec_save_bottoming_reading(void) {
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- // If the bottom reading doesn't go over the noise floor by BOTTOMING_CALIBRATION_THRESHOLD, it is likely that:
- // 1. The key is not actually in the matrix
- // 2. The key is on an alternative layout, therefore not being pressed
- // 3. The key in in the current layout but not being pressed
- if (ec_config.bottoming_reading[row][col] < (ec_config.noise_floor[row][col] + BOTTOMING_CALIBRATION_THRESHOLD)) {
- eeprom_ec_config.bottoming_reading[row][col] = 1023;
- } else {
- eeprom_ec_config.bottoming_reading[row][col] = ec_config.bottoming_reading[row][col];
- }
- }
- }
- // Rescale the values to fit the new range for runtime usage
- ec_rescale_values(0);
- ec_rescale_values(1);
- ec_rescale_values(2);
- eeconfig_update_kb_datablock(&eeprom_ec_config);
-}
-
-// Show the calibration data
-void ec_show_calibration_data(void) {
- uprintf("\n###############\n");
- uprintf("# Noise Floor #\n");
- uprintf("###############\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
- uprintf("%4d,", ec_config.noise_floor[row][col]);
- }
- uprintf("%4d\n", ec_config.noise_floor[row][MATRIX_COLS - 1]);
- }
-
- uprintf("\n######################\n");
- uprintf("# Bottoming Readings #\n");
- uprintf("######################\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
- uprintf("%4d,", eeprom_ec_config.bottoming_reading[row][col]);
- }
- uprintf("%4d\n", eeprom_ec_config.bottoming_reading[row][MATRIX_COLS - 1]);
- }
-
- uprintf("\n######################################\n");
- uprintf("# Rescaled APC Mode Actuation Points #\n");
- uprintf("######################################\n");
- uprintf("Original APC Mode Actuation Point: %4d\n", ec_config.mode_0_actuation_threshold);
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
- uprintf("%4d,", ec_config.rescaled_mode_0_actuation_threshold[row][col]);
- }
- uprintf("%4d\n", ec_config.rescaled_mode_0_actuation_threshold[row][MATRIX_COLS - 1]);
- }
-
- uprintf("\n######################################\n");
- uprintf("# Rescaled APC Mode Release Points #\n");
- uprintf("######################################\n");
- uprintf("Original APC Mode Release Point: %4d\n", ec_config.mode_0_release_threshold);
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
- uprintf("%4d,", ec_config.rescaled_mode_0_release_threshold[row][col]);
- }
- uprintf("%4d\n", ec_config.rescaled_mode_0_release_threshold[row][MATRIX_COLS - 1]);
- }
-
- uprintf("\n#######################################################\n");
- uprintf("# Rescaled Rapid Trigger Mode Initial Deadzone Offset #\n");
- uprintf("#######################################################\n");
- uprintf("Original Rapid Trigger Mode Initial Deadzone Offset: %4d\n", ec_config.mode_1_initial_deadzone_offset);
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
- uprintf("%4d,", ec_config.rescaled_mode_1_initial_deadzone_offset[row][col]);
- }
- uprintf("%4d\n", ec_config.rescaled_mode_1_initial_deadzone_offset[row][MATRIX_COLS - 1]);
- }
- print("\n");
-}
-
-// Clear the calibration data
-void ec_clear_bottoming_calibration_data(void) {
- // Clear the EEPROM data
- eeconfig_init_kb();
-
- // Reset the runtime values to the EEPROM values
- keyboard_post_init_kb();
-
- uprintf("######################################\n");
- uprintf("# Bottoming calibration data cleared #\n");
- uprintf("######################################\n");
-}
-
-#endif // VIA_ENABLE
diff --git a/keyboards/cipulot/ec_980c/mcuconf.h b/keyboards/cipulot/ec_980c/mcuconf.h
index 5f9ecca48dd8..2f22252a008c 100644
--- a/keyboards/cipulot/ec_980c/mcuconf.h
+++ b/keyboards/cipulot/ec_980c/mcuconf.h
@@ -21,8 +21,5 @@
#undef STM32_ADC_USE_ADC1
#define STM32_ADC_USE_ADC1 TRUE
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/config.h b/keyboards/cipulot/ec_alveus/1_0_0/config.h
index ab51289c023c..995ede408bd3 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/config.h
+++ b/keyboards/cipulot/ec_alveus/1_0_0/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
+#define UNUSED_POSITIONS_LIST { {2, 12}, {3, 11}, {3, 12}, {4, 3}, {4, 4}, {4, 6}, {4, 7}, {4, 8}, {4, 9}, {4, 10} }
+
#define MATRIX_ROW_PINS \
{ A14, B3, A15, B5, B4 }
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/config.h b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/config.h
deleted file mode 100644
index 1ab0d3d9aa2a..000000000000
--- a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-// This is the firmware version for VIA support to avoid conflicts on menu fetching
-#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/keymap.c b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/keymap.c
deleted file mode 100644
index 692a631ea821..000000000000
--- a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [2] = LAYOUT_all(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/rules.mk b/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_alveus/1_0_0/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk b/keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk
+++ b/keyboards/cipulot/ec_alveus/1_0_0/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_alveus/1_0_0/rules.mk b/keyboards/cipulot/ec_alveus/1_0_0/rules.mk
index ce525670a68b..1716098b3e10 100644
--- a/keyboards/cipulot/ec_alveus/1_0_0/rules.mk
+++ b/keyboards/cipulot/ec_alveus/1_0_0/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 3
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/config.h b/keyboards/cipulot/ec_alveus/1_2_0/config.h
index ab51289c023c..05276c1d75dd 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/config.h
+++ b/keyboards/cipulot/ec_alveus/1_2_0/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 16
+#define UNUSED_POSITIONS_LIST { {3, 11}, {3, 12}, {4, 3}, {4, 4}, {4, 6}, {4, 7}, {4, 8}, {4, 9}, {4, 10} }
+
#define MATRIX_ROW_PINS \
{ A14, B3, A15, B5, B4 }
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/config.h b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/config.h
deleted file mode 100644
index 1ab0d3d9aa2a..000000000000
--- a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-// This is the firmware version for VIA support to avoid conflicts on menu fetching
-#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/keymap.c b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/keymap.c
deleted file mode 100644
index 2134def61aec..000000000000
--- a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- [1] = LAYOUT_all(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______),
-
- [2] = LAYOUT_all(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/rules.mk b/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_alveus/1_2_0/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk b/keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk
+++ b/keyboards/cipulot/ec_alveus/1_2_0/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_alveus/1_2_0/rules.mk b/keyboards/cipulot/ec_alveus/1_2_0/rules.mk
index ce525670a68b..1716098b3e10 100644
--- a/keyboards/cipulot/ec_alveus/1_2_0/rules.mk
+++ b/keyboards/cipulot/ec_alveus/1_2_0/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 3
diff --git a/keyboards/cipulot/ec_constellation/config.h b/keyboards/cipulot/ec_constellation/config.h
new file mode 100644
index 000000000000..1a2ecf54a0b6
--- /dev/null
+++ b/keyboards/cipulot/ec_constellation/config.h
@@ -0,0 +1,63 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define MATRIX_ROWS 5
+#define MATRIX_COLS 15
+
+#define UNUSED_POSITIONS_LIST { {3, 1}, {4, 3}, {4, 4}, {4, 5}, {4, 7}, {4, 8}, {4, 9} }
+
+#define MATRIX_ROW_PINS \
+ { A8, A15, B12, B8, B9 }
+
+#define AMUX_COUNT 1
+#define AMUX_MAX_COLS_COUNT 15
+
+#define AMUX_EN_PINS \
+ { B5 }
+
+#define AMUX_SEL_PINS \
+ { B6, B7, B4, B3 }
+
+#define AMUX_COL_CHANNELS_SIZES \
+ { 15 }
+
+#define AMUX_0_COL_CHANNELS \
+ { 7, 6, 5, 4, 3, 2, 1, 0, 9, 15, 14, 13, 10, 11, 12}
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS
+
+#define DISCHARGE_PIN A2
+#define ANALOG_PORT A3
+
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 50
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+#define EECONFIG_KB_DATA_SIZE 159
diff --git a/keyboards/cipulot/ec_constellation/halconf.h b/keyboards/cipulot/ec_constellation/halconf.h
new file mode 100644
index 000000000000..6b63cb5af98e
--- /dev/null
+++ b/keyboards/cipulot/ec_constellation/halconf.h
@@ -0,0 +1,21 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_ADC TRUE
+
+#include_next
diff --git a/keyboards/cipulot/ec_constellation/keyboard.json b/keyboards/cipulot/ec_constellation/keyboard.json
new file mode 100644
index 000000000000..15187c472f21
--- /dev/null
+++ b/keyboards/cipulot/ec_constellation/keyboard.json
@@ -0,0 +1,185 @@
+{
+ "manufacturer": "Cipulot",
+ "keyboard_name": "Constellation EC",
+ "maintainer": "Cipulot",
+ "bootloader": "stm32-dfu",
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 4096
+ }
+ },
+ "features": {
+ "bootmagic": false,
+ "console": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true
+ },
+ "processor": "STM32F411",
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6BC9",
+ "shared_endpoint": {
+ "keyboard": true
+ },
+ "vid": "0x6369"
+ },
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_65_ansi_rwkl_split_bs"
+ },
+ "layouts": {
+ "LAYOUT_65_ansi_rwkl": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0, "w": 2},
+ {"matrix": [1, 14], "x": 15, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [2, 14], "x": 15, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [2, 13], "x": 15, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
+ {"matrix": [3, 7], "x": 7.25, "y": 3},
+ {"matrix": [3, 8], "x": 8.25, "y": 3},
+ {"matrix": [3, 9], "x": 9.25, "y": 3},
+ {"matrix": [3, 10], "x": 10.25, "y": 3},
+ {"matrix": [3, 11], "x": 11.25, "y": 3},
+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 13], "x": 14, "y": 3},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 4, "y": 4, "w": 6.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 11], "x": 11.75, "y": 4, "w": 1.25},
+ {"matrix": [4, 12], "x": 13, "y": 4},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4}
+ ]
+ },
+ "LAYOUT_65_ansi_rwkl_split_bs": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6, "y": 0},
+ {"matrix": [0, 7], "x": 7, "y": 0},
+ {"matrix": [0, 8], "x": 8, "y": 0},
+ {"matrix": [0, 9], "x": 9, "y": 0},
+ {"matrix": [0, 10], "x": 10, "y": 0},
+ {"matrix": [0, 11], "x": 11, "y": 0},
+ {"matrix": [0, 12], "x": 12, "y": 0},
+ {"matrix": [0, 13], "x": 13, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [1, 14], "x": 15, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1, "w": 1.5},
+ {"matrix": [1, 1], "x": 1.5, "y": 1},
+ {"matrix": [1, 2], "x": 2.5, "y": 1},
+ {"matrix": [1, 3], "x": 3.5, "y": 1},
+ {"matrix": [1, 4], "x": 4.5, "y": 1},
+ {"matrix": [1, 5], "x": 5.5, "y": 1},
+ {"matrix": [1, 6], "x": 6.5, "y": 1},
+ {"matrix": [1, 7], "x": 7.5, "y": 1},
+ {"matrix": [1, 8], "x": 8.5, "y": 1},
+ {"matrix": [1, 9], "x": 9.5, "y": 1},
+ {"matrix": [1, 10], "x": 10.5, "y": 1},
+ {"matrix": [1, 11], "x": 11.5, "y": 1},
+ {"matrix": [1, 12], "x": 12.5, "y": 1},
+ {"matrix": [1, 13], "x": 13.5, "y": 1, "w": 1.5},
+ {"matrix": [2, 14], "x": 15, "y": 1},
+ {"matrix": [2, 0], "x": 0, "y": 2, "w": 1.75},
+ {"matrix": [2, 1], "x": 1.75, "y": 2},
+ {"matrix": [2, 2], "x": 2.75, "y": 2},
+ {"matrix": [2, 3], "x": 3.75, "y": 2},
+ {"matrix": [2, 4], "x": 4.75, "y": 2},
+ {"matrix": [2, 5], "x": 5.75, "y": 2},
+ {"matrix": [2, 6], "x": 6.75, "y": 2},
+ {"matrix": [2, 7], "x": 7.75, "y": 2},
+ {"matrix": [2, 8], "x": 8.75, "y": 2},
+ {"matrix": [2, 9], "x": 9.75, "y": 2},
+ {"matrix": [2, 10], "x": 10.75, "y": 2},
+ {"matrix": [2, 11], "x": 11.75, "y": 2},
+ {"matrix": [2, 12], "x": 12.75, "y": 2, "w": 2.25},
+ {"matrix": [2, 13], "x": 15, "y": 2},
+ {"matrix": [3, 0], "x": 0, "y": 3, "w": 2.25},
+ {"matrix": [3, 2], "x": 2.25, "y": 3},
+ {"matrix": [3, 3], "x": 3.25, "y": 3},
+ {"matrix": [3, 4], "x": 4.25, "y": 3},
+ {"matrix": [3, 5], "x": 5.25, "y": 3},
+ {"matrix": [3, 6], "x": 6.25, "y": 3},
+ {"matrix": [3, 7], "x": 7.25, "y": 3},
+ {"matrix": [3, 8], "x": 8.25, "y": 3},
+ {"matrix": [3, 9], "x": 9.25, "y": 3},
+ {"matrix": [3, 10], "x": 10.25, "y": 3},
+ {"matrix": [3, 11], "x": 11.25, "y": 3},
+ {"matrix": [3, 12], "x": 12.25, "y": 3, "w": 1.75},
+ {"matrix": [3, 13], "x": 14, "y": 3},
+ {"matrix": [3, 14], "x": 15, "y": 3},
+ {"matrix": [4, 0], "x": 0, "y": 4, "w": 1.5},
+ {"matrix": [4, 1], "x": 1.5, "y": 4},
+ {"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.5},
+ {"matrix": [4, 6], "x": 4, "y": 4, "w": 6.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4, "w": 1.5},
+ {"matrix": [4, 11], "x": 11.75, "y": 4, "w": 1.25},
+ {"matrix": [4, 12], "x": 13, "y": 4},
+ {"matrix": [4, 13], "x": 14, "y": 4},
+ {"matrix": [4, 14], "x": 15, "y": 4}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cipulot/ec_constellation/keymaps/65_ansi_rwkl/keymap.c b/keyboards/cipulot/ec_constellation/keymaps/65_ansi_rwkl/keymap.c
new file mode 100644
index 000000000000..acc4c91e4c3f
--- /dev/null
+++ b/keyboards/cipulot/ec_constellation/keymaps/65_ansi_rwkl/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_65_ansi_rwkl(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_65_ansi_rwkl(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
+ _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_65_ansi_rwkl(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_constellation/keymaps/default/keymap.c b/keyboards/cipulot/ec_constellation/keymaps/default/keymap.c
new file mode 100644
index 000000000000..18d1418be214
--- /dev/null
+++ b/keyboards/cipulot/ec_constellation/keymaps/default/keymap.c
@@ -0,0 +1,43 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_65_ansi_rwkl_split_bs(
+ KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_HOME,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
+ ),
+ [1] = LAYOUT_65_ansi_rwkl_split_bs(
+ KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______, _______,
+ _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ ),
+ [2] = LAYOUT_65_ansi_rwkl_split_bs(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______
+ )
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_constellation/mcuconf.h b/keyboards/cipulot/ec_constellation/mcuconf.h
new file mode 100644
index 000000000000..1679d3fbc04c
--- /dev/null
+++ b/keyboards/cipulot/ec_constellation/mcuconf.h
@@ -0,0 +1,22 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_ADC_USE_ADC1
+#define STM32_ADC_USE_ADC1 TRUE
diff --git a/keyboards/cipulot/ec_constellation/post_rules.mk b/keyboards/cipulot/ec_constellation/post_rules.mk
new file mode 100644
index 000000000000..5dba48cc5fd6
--- /dev/null
+++ b/keyboards/cipulot/ec_constellation/post_rules.mk
@@ -0,0 +1 @@
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_constellation/readme.md b/keyboards/cipulot/ec_constellation/readme.md
new file mode 100644
index 000000000000..16bbdcdf6f8b
--- /dev/null
+++ b/keyboards/cipulot/ec_constellation/readme.md
@@ -0,0 +1,26 @@
+# Constellation EC
+
+![Constellation EC](https://i.imgur.com/ndgUV63.jpeg)
+
+EC version of the Constellation keyboard.
+
+* Keyboard Maintainer: [cipulot](https://github.com/cipulot)
+* Hardware Supported: Constellation EC PCB
+* Hardware Availability: [Keyboard Treehouse](https://keyboardtreehouse.com/collections/constellation)
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cipulot/ec_constellation:default
+
+Flashing example for this keyboard:
+
+ make cipulot/ec_constellation:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Physical reset**: Long short the exposed pins on the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec_constellation/rules.mk b/keyboards/cipulot/ec_constellation/rules.mk
new file mode 100644
index 000000000000..1716098b3e10
--- /dev/null
+++ b/keyboards/cipulot/ec_constellation/rules.mk
@@ -0,0 +1 @@
+OPT = 3
diff --git a/keyboards/cipulot/ec_dolice/config.h b/keyboards/cipulot/ec_dolice/config.h
index a5c56e794917..2048fd4449e5 100644
--- a/keyboards/cipulot/ec_dolice/config.h
+++ b/keyboards/cipulot/ec_dolice/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
+#define UNUSED_POSITIONS_LIST { {2, 14}, {4, 0}, {4, 2}, {4, 4}, {4, 7}, {4, 9}, {4, 11}, {4, 12}, {4, 13} }
+
#define MATRIX_ROW_PINS \
{ B13, A8, B12, B14, B15 }
diff --git a/keyboards/cipulot/ec_dolice/keymaps/via/keymap.c b/keyboards/cipulot/ec_dolice/keymaps/via/keymap.c
deleted file mode 100644
index 8e6745b68191..000000000000
--- a/keyboards/cipulot/ec_dolice/keymaps/via/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_all(
- KC_PSCR, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_SPC, KC_RALT, KC_RCTL
- ),
- [1] = LAYOUT_all(
- _______, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_DEL,
- _______, _______, KC_HOME, KC_UP, KC_END, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, KC_CAPS, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPRV, KC_MNXT, KC_MPLY, _______, _______,
- _______, _______, _______, _______, _______, _______, MO(2)
- ),
- [2] = LAYOUT_all(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cipulot/ec_dolice/keymaps/via/rules.mk b/keyboards/cipulot/ec_dolice/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_dolice/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_dolice/post_rules.mk b/keyboards/cipulot/ec_dolice/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_dolice/post_rules.mk
+++ b/keyboards/cipulot/ec_dolice/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_dolice/rules.mk b/keyboards/cipulot/ec_dolice/rules.mk
index ce525670a68b..1716098b3e10 100644
--- a/keyboards/cipulot/ec_dolice/rules.mk
+++ b/keyboards/cipulot/ec_dolice/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 3
diff --git a/keyboards/cipulot/ec_menhir/config.h b/keyboards/cipulot/ec_menhir/config.h
index bd0094c7f159..d70fed7a3b46 100644
--- a/keyboards/cipulot/ec_menhir/config.h
+++ b/keyboards/cipulot/ec_menhir/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 4
#define MATRIX_COLS 12
+#define UNUSED_POSITIONS_LIST { {2, 11}, {3, 0}, {3, 3}, {3, 7}, {3, 10}, {3, 11} }
+
#define MATRIX_ROW_PINS \
{ A0, A3, A2, A1 }
diff --git a/keyboards/cipulot/ec_menhir/keymaps/via/keymap.c b/keyboards/cipulot/ec_menhir/keymaps/via/keymap.c
deleted file mode 100644
index e6780e6439f7..000000000000
--- a/keyboards/cipulot/ec_menhir/keymaps/via/keymap.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_RSFT,
- KC_LALT, KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_LCTL)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_menhir/keymaps/via/rules.mk b/keyboards/cipulot/ec_menhir/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_menhir/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_menhir/post_rules.mk b/keyboards/cipulot/ec_menhir/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_menhir/post_rules.mk
+++ b/keyboards/cipulot/ec_menhir/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_menhir/rules.mk b/keyboards/cipulot/ec_menhir/rules.mk
deleted file mode 100644
index e7d73cefc98a..000000000000
--- a/keyboards/cipulot/ec_menhir/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
diff --git a/keyboards/cipulot/ec_pro2/config.h b/keyboards/cipulot/ec_pro2/config.h
index a05e716823a2..63c81a6364b8 100644
--- a/keyboards/cipulot/ec_pro2/config.h
+++ b/keyboards/cipulot/ec_pro2/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
+#define UNUSED_POSITIONS_LIST { {1, 14}, {2, 14}, {3, 12}, {4, 0}, {4, 3}, {4, 4}, {4, 5}, {4, 7}, {4, 8}, {4, 11}, {4, 12}, {4, 13}, {4, 14} }
+
#define MATRIX_ROW_PINS \
{ B15, A8, B0, A7, B1 }
diff --git a/keyboards/cipulot/ec_pro2/keymaps/via/config.h b/keyboards/cipulot/ec_pro2/keymaps/via/config.h
deleted file mode 100644
index 1ab0d3d9aa2a..000000000000
--- a/keyboards/cipulot/ec_pro2/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-// This is the firmware version for VIA support to avoid conflicts on menu fetching
-#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_pro2/keymaps/via/keymap.c b/keyboards/cipulot/ec_pro2/keymaps/via/keymap.c
deleted file mode 100644
index 45e25068e533..000000000000
--- a/keyboards/cipulot/ec_pro2/keymaps/via/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
-
- [1] = LAYOUT_all(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, KC_BSPC,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, MO(2)),
-
- [2] = LAYOUT_all(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_pro2/keymaps/via/rules.mk b/keyboards/cipulot/ec_pro2/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_pro2/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_pro2/post_rules.mk b/keyboards/cipulot/ec_pro2/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_pro2/post_rules.mk
+++ b/keyboards/cipulot/ec_pro2/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_pro2/rules.mk b/keyboards/cipulot/ec_pro2/rules.mk
index 318e0215ce90..3aa0e2bf0615 100644
--- a/keyboards/cipulot/ec_pro2/rules.mk
+++ b/keyboards/cipulot/ec_pro2/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 2
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/config.h b/keyboards/cipulot/ec_prox/ansi_iso/config.h
index bf25d0b71289..00794921a367 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/config.h
+++ b/keyboards/cipulot/ec_prox/ansi_iso/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
+#define UNUSED_POSITIONS_LIST { {1, 14}, {2, 14}, {3, 12}, {4, 0}, {4, 3}, {4, 4}, {4, 5}, {4, 7}, {4, 8}, {4, 11}, {4, 12}, {4, 13}, {4, 14} }
+
#define MATRIX_ROW_PINS \
{ A7, B0, A4, A5, A6 }
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/config.h b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/config.h
deleted file mode 100644
index 1ab0d3d9aa2a..000000000000
--- a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-// This is the firmware version for VIA support to avoid conflicts on menu fetching
-#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/keymap.c b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/keymap.c
deleted file mode 100644
index 9a0f1dfcbd15..000000000000
--- a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
-
- [1] = LAYOUT_all(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, KC_BSPC,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, MO(2)),
-
- [2] = LAYOUT_all(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/rules.mk b/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_prox/ansi_iso/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk b/keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk
+++ b/keyboards/cipulot/ec_prox/ansi_iso/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_prox/ansi_iso/rules.mk b/keyboards/cipulot/ec_prox/ansi_iso/rules.mk
index 318e0215ce90..3aa0e2bf0615 100644
--- a/keyboards/cipulot/ec_prox/ansi_iso/rules.mk
+++ b/keyboards/cipulot/ec_prox/ansi_iso/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 2
diff --git a/keyboards/cipulot/ec_prox/jis/config.h b/keyboards/cipulot/ec_prox/jis/config.h
index fd3c048bc38b..d7461097cd51 100644
--- a/keyboards/cipulot/ec_prox/jis/config.h
+++ b/keyboards/cipulot/ec_prox/jis/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
+#define UNUSED_POSITIONS_LIST { {4, 6} }
+
#define MATRIX_ROW_PINS \
{ A7, B0, A4, A5, A6 }
diff --git a/keyboards/cipulot/ec_prox/jis/keymaps/via/config.h b/keyboards/cipulot/ec_prox/jis/keymaps/via/config.h
deleted file mode 100644
index 1ab0d3d9aa2a..000000000000
--- a/keyboards/cipulot/ec_prox/jis/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-// This is the firmware version for VIA support to avoid conflicts on menu fetching
-#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_prox/jis/keymaps/via/keymap.c b/keyboards/cipulot/ec_prox/jis/keymaps/via/keymap.c
deleted file mode 100644
index f793b355b23b..000000000000
--- a/keyboards/cipulot/ec_prox/jis/keymaps/via/keymap.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-#include "keymap_japanese.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_jp(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, JP_YEN, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_ENT,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_BSLS,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_UNDS, KC_UP, KC_RSFT,
- MO(1), JP_ZKHK, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_HENK, JP_KANA, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT),
-
- [1] = LAYOUT_jp(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, KC_PENT,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, KC_PAST, KC_PSLS, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
- _______, _______, _______, _______, _______, _______, KC_PPLS, KC_PMNS, KC_END, KC_PGDN, KC_DOWN, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______),
-
- [2] = LAYOUT_jp(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_prox/jis/keymaps/via/rules.mk b/keyboards/cipulot/ec_prox/jis/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_prox/jis/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_prox/jis/post_rules.mk b/keyboards/cipulot/ec_prox/jis/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_prox/jis/post_rules.mk
+++ b/keyboards/cipulot/ec_prox/jis/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_prox/jis/rules.mk b/keyboards/cipulot/ec_prox/jis/rules.mk
index 318e0215ce90..3aa0e2bf0615 100644
--- a/keyboards/cipulot/ec_prox/jis/rules.mk
+++ b/keyboards/cipulot/ec_prox/jis/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 2
diff --git a/keyboards/cipulot/ec_theca/config.h b/keyboards/cipulot/ec_theca/config.h
index d9fea5596756..e62801b10fcf 100644
--- a/keyboards/cipulot/ec_theca/config.h
+++ b/keyboards/cipulot/ec_theca/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
+#define UNUSED_POSITIONS_LIST { {3, 12}, {4, 11}, {4, 12}, {5, 3}, {5, 4}, {5, 6}, {5, 7}, {5, 8}, {5, 9} }
+
#define MATRIX_ROW_PINS \
{ B4, A14, B3, A15, B6, B5 }
diff --git a/keyboards/cipulot/ec_theca/keymaps/via/config.h b/keyboards/cipulot/ec_theca/keymaps/via/config.h
deleted file mode 100644
index 1ab0d3d9aa2a..000000000000
--- a/keyboards/cipulot/ec_theca/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-// This is the firmware version for VIA support to avoid conflicts on menu fetching
-#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_theca/keymaps/via/keymap.c b/keyboards/cipulot/ec_theca/keymaps/via/keymap.c
deleted file mode 100644
index ca11bf60fc83..000000000000
--- a/keyboards/cipulot/ec_theca/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- [1] = LAYOUT_all(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_theca/keymaps/via/rules.mk b/keyboards/cipulot/ec_theca/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_theca/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_theca/post_rules.mk b/keyboards/cipulot/ec_theca/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_theca/post_rules.mk
+++ b/keyboards/cipulot/ec_theca/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_theca/rules.mk b/keyboards/cipulot/ec_theca/rules.mk
index ce525670a68b..1716098b3e10 100644
--- a/keyboards/cipulot/ec_theca/rules.mk
+++ b/keyboards/cipulot/ec_theca/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 3
diff --git a/keyboards/cipulot/ec_tkl/config.h b/keyboards/cipulot/ec_tkl/config.h
index 95a7f9137a11..d2178fa869d8 100644
--- a/keyboards/cipulot/ec_tkl/config.h
+++ b/keyboards/cipulot/ec_tkl/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
+#define UNUSED_POSITIONS_LIST { {5, 3}, {5, 5} }
+
#define MATRIX_ROW_PINS \
{ B6, B5, B12, B10, B13, B7 }
diff --git a/keyboards/cipulot/ec_tkl/keymaps/via/config.h b/keyboards/cipulot/ec_tkl/keymaps/via/config.h
deleted file mode 100644
index 1ab0d3d9aa2a..000000000000
--- a/keyboards/cipulot/ec_tkl/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-// This is the firmware version for VIA support to avoid conflicts on menu fetching
-#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/ec_tkl/keymaps/via/keymap.c b/keyboards/cipulot/ec_tkl/keymaps/via/keymap.c
deleted file mode 100644
index 983bdefe8a99..000000000000
--- a/keyboards/cipulot/ec_tkl/keymaps/via/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-#include "keymap_japanese.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, JP_YEN, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_ENTER, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_UNDS, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_KANA, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- [1] = LAYOUT_all(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_tkl/keymaps/via/rules.mk b/keyboards/cipulot/ec_tkl/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_tkl/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_tkl/post_rules.mk b/keyboards/cipulot/ec_tkl/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_tkl/post_rules.mk
+++ b/keyboards/cipulot/ec_tkl/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_tkl/rules.mk b/keyboards/cipulot/ec_tkl/rules.mk
index 318e0215ce90..3aa0e2bf0615 100644
--- a/keyboards/cipulot/ec_tkl/rules.mk
+++ b/keyboards/cipulot/ec_tkl/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 2
diff --git a/keyboards/cipulot/ec_tkl_x/config.h b/keyboards/cipulot/ec_tkl_x/config.h
new file mode 100644
index 000000000000..04d19a5f54ef
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/config.h
@@ -0,0 +1,68 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define MATRIX_ROWS 6
+#define MATRIX_COLS 18
+
+#define UNUSED_POSITIONS_LIST { {0, 13}, {3, 14}, {3, 15}, {3, 16}, {3, 17}, {4, 15}, {4, 17}, {5, 3}, {5, 5}, {5, 7}, {5, 10}, {5, 15} }
+
+#define MATRIX_ROW_PINS {A15, B5, B12, B10, B6, B7}
+
+#define AMUX_COUNT 2
+#define AMUX_MAX_COLS_COUNT 15
+
+#define AMUX_EN_PINS {B13, A10}
+
+#define AMUX_SEL_PINS {A8, A9, B14, B15}
+
+#define AMUX_COL_CHANNELS_SIZES {15, 3}
+
+#define AMUX_0_COL_CHANNELS {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14}
+
+#define AMUX_1_COL_CHANNELS {3, 0, 1}
+
+#define AMUX_COL_CHANNELS AMUX_0_COL_CHANNELS, AMUX_1_COL_CHANNELS
+
+#define DISCHARGE_PIN A4
+#define ANALOG_PORT A2
+
+#define DEFAULT_ACTUATION_MODE 0
+#define DEFAULT_MODE_0_ACTUATION_LEVEL 550
+#define DEFAULT_MODE_0_RELEASE_LEVEL 500
+#define DEFAULT_MODE_1_INITIAL_DEADZONE_OFFSET DEFAULT_MODE_0_ACTUATION_LEVEL
+#define DEFAULT_MODE_1_ACTUATION_OFFSET 70
+#define DEFAULT_MODE_1_RELEASE_OFFSET 70
+#define DEFAULT_EXTREMUM 1023
+#define EXPECTED_NOISE_FLOOR 0
+#define NOISE_FLOOR_THRESHOLD 50
+#define BOTTOMING_CALIBRATION_THRESHOLD 50
+#define DEFAULT_NOISE_FLOOR_SAMPLING_COUNT 30
+#define DEFAULT_BOTTOMING_READING 1023
+#define DEFAULT_CALIBRATION_STARTER true
+
+#define DISCHARGE_TIME 10
+
+// #define DEBUG_MATRIX_SCAN_RATE
+#define EECONFIG_KB_DATA_SIZE 225
+
+// PWM driver with direct memory access (DMA) support
+#define WS2812_PWM_DRIVER PWMD3
+#define WS2812_PWM_CHANNEL 1
+#define WS2812_PWM_PAL_MODE 2
+#define WS2812_DMA_STREAM STM32_DMA1_STREAM2
+#define WS2812_DMA_CHANNEL 5
diff --git a/keyboards/cipulot/ec_tkl_x/halconf.h b/keyboards/cipulot/ec_tkl_x/halconf.h
new file mode 100644
index 000000000000..fb0f77d82f93
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/halconf.h
@@ -0,0 +1,23 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#define HAL_USE_ADC TRUE
+#define HAL_USE_PAL TRUE
+#define HAL_USE_PWM TRUE
+
+#include_next
diff --git a/keyboards/cipulot/ec_tkl_x/keyboard.json b/keyboards/cipulot/ec_tkl_x/keyboard.json
new file mode 100644
index 000000000000..9149fb1d3bce
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/keyboard.json
@@ -0,0 +1,714 @@
+{
+ "manufacturer": "Cipulot",
+ "keyboard_name": "EC TKL X",
+ "maintainer": "Cipulot",
+ "bootloader": "stm32-dfu",
+ "build": {
+ "lto": true
+ },
+ "diode_direction": "COL2ROW",
+ "eeprom": {
+ "wear_leveling": {
+ "backing_size": 8192
+ }
+ },
+ "features": {
+ "bootmagic": false,
+ "console": true,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": true,
+ "rgblight": true
+ },
+ "processor": "STM32F411",
+ "qmk": {
+ "locking": {
+ "enabled": true,
+ "resync": true
+ }
+ },
+ "rgblight": {
+ "animations": {
+ "alternating": true,
+ "breathing": true,
+ "christmas": true,
+ "knight": true,
+ "rainbow_mood": true,
+ "rainbow_swirl": true,
+ "rgb_test": true,
+ "snake": true,
+ "static_gradient": true,
+ "twinkle": true
+ },
+ "led_count": 22
+ },
+ "usb": {
+ "device_version": "0.0.1",
+ "pid": "0x6BC8",
+ "shared_endpoint": {
+ "keyboard": true
+ },
+ "vid": "0x6369"
+ },
+ "ws2812": {
+ "driver": "pwm",
+ "pin": "B4"
+ },
+ "layouts": {
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1.25, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.75, "y": 0},
+ {"matrix": [0, 10], "x": 10.75, "y": 0},
+ {"matrix": [0, 11], "x": 11.75, "y": 0},
+ {"matrix": [0, 12], "x": 12.75, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [0, 16], "x": 16.25, "y": 0},
+ {"matrix": [0, 17], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [1, 14], "x": 14, "y": 1.25},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 17], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 0.75},
+ {"matrix": [2, 14], "x": 14.25, "y": 2.25, "w": 0.75},
+ {"matrix": [2, 15], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 17], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 13.75, "y": 3.25, "w": 1.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25},
+ {"matrix": [4, 13], "x": 13.25, "y": 4.25, "w": 0.75},
+ {"matrix": [4, 14], "x": 14, "y": 4.25},
+ {"matrix": [4, 16], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 4], "x": 4, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 5.5, "y": 5.25, "w": 2.5},
+ {"matrix": [5, 8], "x": 8, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 9], "x": 9.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25},
+ {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 17], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_ansi_tsangan": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.5, "y": 0},
+ {"matrix": [0, 10], "x": 11, "y": 0},
+ {"matrix": [0, 11], "x": 12, "y": 0},
+ {"matrix": [0, 12], "x": 13, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [0, 16], "x": 16.25, "y": 0},
+ {"matrix": [0, 17], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 14], "x": 13, "y": 1.25, "w": 2},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 17], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 15], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 17], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75},
+ {"matrix": [4, 16], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25},
+ {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 17], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_tsangan": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1.25, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.75, "y": 0},
+ {"matrix": [0, 10], "x": 10.75, "y": 0},
+ {"matrix": [0, 11], "x": 11.75, "y": 0},
+ {"matrix": [0, 12], "x": 12.75, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [0, 16], "x": 16.25, "y": 0},
+ {"matrix": [0, 17], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 14], "x": 13, "y": 1.25, "w": 2},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 17], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 15], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 17], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 13], "x": 12.75, "y": 3.25, "w": 2.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75},
+ {"matrix": [4, 16], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25},
+ {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 17], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_tsangan": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1.25, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.75, "y": 0},
+ {"matrix": [0, 10], "x": 10.75, "y": 0},
+ {"matrix": [0, 11], "x": 11.75, "y": 0},
+ {"matrix": [0, 12], "x": 12.75, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [0, 16], "x": 16.25, "y": 0},
+ {"matrix": [0, 17], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 14], "x": 13, "y": 1.25, "w": 2},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 17], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 14], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+ {"matrix": [2, 15], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 17], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75},
+ {"matrix": [4, 16], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25},
+ {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 17], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_jis": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 1], "x": 1.25, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.75, "y": 0},
+ {"matrix": [0, 10], "x": 10.75, "y": 0},
+ {"matrix": [0, 11], "x": 11.75, "y": 0},
+ {"matrix": [0, 12], "x": 12.75, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [0, 16], "x": 16.25, "y": 0},
+ {"matrix": [0, 17], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [1, 14], "x": 14, "y": 1.25},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 17], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 14], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+ {"matrix": [2, 15], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 17], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25},
+ {"matrix": [4, 13], "x": 13.25, "y": 4.25, "w": 1.75},
+ {"matrix": [4, 16], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 4], "x": 4, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 5.5, "y": 5.25, "w": 2.5},
+ {"matrix": [5, 8], "x": 8, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 9], "x": 9.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25},
+ {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 17], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_iso_tsangan": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.5, "y": 0},
+ {"matrix": [0, 10], "x": 11, "y": 0},
+ {"matrix": [0, 11], "x": 12, "y": 0},
+ {"matrix": [0, 12], "x": 13, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [0, 16], "x": 16.25, "y": 0},
+ {"matrix": [0, 17], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 14], "x": 13, "y": 1.25, "w": 2},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 17], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 14], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+ {"matrix": [2, 15], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 17], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 13], "x": 12.25, "y": 4.25, "w": 2.75},
+ {"matrix": [4, 16], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 4, "y": 5.25, "w": 7},
+ {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25},
+ {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 17], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_jis": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+ {"matrix": [0, 2], "x": 2, "y": 0},
+ {"matrix": [0, 3], "x": 3, "y": 0},
+ {"matrix": [0, 4], "x": 4, "y": 0},
+ {"matrix": [0, 5], "x": 5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+ {"matrix": [0, 9], "x": 9.5, "y": 0},
+ {"matrix": [0, 10], "x": 11, "y": 0},
+ {"matrix": [0, 11], "x": 12, "y": 0},
+ {"matrix": [0, 12], "x": 13, "y": 0},
+ {"matrix": [0, 14], "x": 14, "y": 0},
+ {"matrix": [0, 15], "x": 15.25, "y": 0},
+ {"matrix": [0, 16], "x": 16.25, "y": 0},
+ {"matrix": [0, 17], "x": 17.25, "y": 0},
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [1, 14], "x": 14, "y": 1.25},
+ {"matrix": [1, 15], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 17], "x": 17.25, "y": 1.25},
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 14], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+ {"matrix": [2, 15], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 17], "x": 17.25, "y": 2.25},
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25},
+ {"matrix": [4, 13], "x": 13.25, "y": 4.25, "w": 1.75},
+ {"matrix": [4, 16], "x": 16.25, "y": 4.25},
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 1], "x": 1.5, "y": 5.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 4], "x": 4, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 6], "x": 5.5, "y": 5.25, "w": 2.5},
+ {"matrix": [5, 8], "x": 8, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 9], "x": 9.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 11], "x": 11, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25},
+ {"matrix": [5, 13], "x": 13.5, "y": 5.25, "w": 1.5},
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 17], "x": 17.25, "y": 5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/cipulot/ec_tkl_x/keymaps/default/keymap.c b/keyboards/cipulot/ec_tkl_x/keymaps/default/keymap.c
new file mode 100644
index 000000000000..9a357e2cf3f6
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/keymaps/default/keymap.c
@@ -0,0 +1,45 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_all(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_ENTER, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
+ KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_RSFT, MO(1), KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_RALT, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_all(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______),
+
+ [2] = LAYOUT_all(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_tkl_x/keymaps/tkl_ansi_tsangan/keymap.c b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_ansi_tsangan/keymap.c
new file mode 100644
index 000000000000..86b06999864e
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_ansi_tsangan/keymap.c
@@ -0,0 +1,45 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_tkl_ansi_tsangan(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_tkl_ansi_tsangan(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______),
+
+ [2] = LAYOUT_tkl_ansi_tsangan(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_tkl_x/keymaps/tkl_f13_ansi_tsangan/keymap.c b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_f13_ansi_tsangan/keymap.c
new file mode 100644
index 000000000000..eece893fe4c2
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_f13_ansi_tsangan/keymap.c
@@ -0,0 +1,45 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_tkl_f13_ansi_tsangan(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_tkl_f13_ansi_tsangan(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______),
+
+ [2] = LAYOUT_tkl_f13_ansi_tsangan(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_tkl_x/keymaps/tkl_f13_iso_tsangan/keymap.c b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_f13_iso_tsangan/keymap.c
new file mode 100644
index 000000000000..9af7db900855
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_f13_iso_tsangan/keymap.c
@@ -0,0 +1,45 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_tkl_f13_ansi_tsangan(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_tkl_f13_ansi_tsangan(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______),
+
+ [2] = LAYOUT_tkl_f13_ansi_tsangan(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_tkl_x/keymaps/tkl_f13_jis/keymap.c b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_f13_jis/keymap.c
new file mode 100644
index 000000000000..8e0fd18d0b9b
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_f13_jis/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+#include "keymap_japanese.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_tkl_f13_jis(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F13, KC_PSCR, KC_SCRL, KC_PAUS,
+ JP_ZKHK, JP_1, JP_2, JP_3, JP_4, JP_5, JP_6, JP_7, JP_8, JP_9, JP_0, JP_MINS, JP_CIRC, JP_YEN, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, JP_Q, JP_W, JP_E, JP_R, JP_T, JP_Y, JP_U, JP_I, JP_O, JP_P, JP_AT, JP_LBRC, KC_ENTER, KC_DEL, KC_END, KC_PGDN,
+ JP_EISU, JP_A, JP_S, JP_D, JP_F, JP_G, JP_H, JP_J, JP_K, JP_L, JP_SCLN, JP_COLN, JP_RBRC,
+ KC_LSFT, JP_Z, JP_X, JP_C, JP_V, JP_B, JP_N, JP_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_HENK, JP_KANA, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_tkl_f13_jis(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______),
+
+ [2] = LAYOUT_tkl_f13_jis(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_tkl_x/keymaps/tkl_iso_tsangan/keymap.c b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_iso_tsangan/keymap.c
new file mode 100644
index 000000000000..bae33d072dc1
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_iso_tsangan/keymap.c
@@ -0,0 +1,45 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_tkl_ansi_tsangan(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
+ KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN,
+ KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
+ KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_tkl_ansi_tsangan(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______),
+
+ [2] = LAYOUT_tkl_ansi_tsangan(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_tkl_x/keymaps/tkl_jis/keymap.c b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_jis/keymap.c
new file mode 100644
index 000000000000..f445d71d6ea3
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/keymaps/tkl_jis/keymap.c
@@ -0,0 +1,47 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include QMK_KEYBOARD_H
+
+#include "keymap_japanese.h"
+
+const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
+ // clang-format off
+ [0] = LAYOUT_tkl_jis(
+ KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
+ JP_ZKHK, JP_1, JP_2, JP_3, JP_4, JP_5, JP_6, JP_7, JP_8, JP_9, JP_0, JP_MINS, JP_CIRC, JP_YEN, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
+ KC_TAB, JP_Q, JP_W, JP_E, JP_R, JP_T, JP_Y, JP_U, JP_I, JP_O, JP_P, JP_AT, JP_LBRC, KC_ENTER, KC_DEL, KC_END, KC_PGDN,
+ JP_EISU, JP_A, JP_S, JP_D, JP_F, JP_G, JP_H, JP_J, JP_K, JP_L, JP_SCLN, JP_COLN, JP_RBRC,
+ KC_LSFT, JP_Z, JP_X, JP_C, JP_V, JP_B, JP_N, JP_M, JP_COMM, JP_DOT, JP_SLSH, JP_BSLS, KC_RSFT, KC_UP,
+ KC_LCTL, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_HENK, JP_KANA, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
+
+ [1] = LAYOUT_tkl_jis(
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, MO(2), _______, _______, _______, _______, _______),
+
+ [2] = LAYOUT_tkl_jis(
+ QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
+ _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
+ // clang-format on
+};
diff --git a/keyboards/cipulot/ec_tkl_x/mcuconf.h b/keyboards/cipulot/ec_tkl_x/mcuconf.h
new file mode 100644
index 000000000000..99b613c493a3
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/mcuconf.h
@@ -0,0 +1,25 @@
+/* Copyright 2024 Cipulot
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#pragma once
+
+#include_next
+
+#undef STM32_ADC_USE_ADC1
+#define STM32_ADC_USE_ADC1 TRUE
+
+#undef STM32_PWM_USE_TIM3
+#define STM32_PWM_USE_TIM3 TRUE
diff --git a/keyboards/cipulot/ec_tkl_x/post_rules.mk b/keyboards/cipulot/ec_tkl_x/post_rules.mk
new file mode 100644
index 000000000000..5dba48cc5fd6
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/post_rules.mk
@@ -0,0 +1 @@
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_tkl_x/readme.md b/keyboards/cipulot/ec_tkl_x/readme.md
new file mode 100644
index 000000000000..0e37c237626b
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/readme.md
@@ -0,0 +1,26 @@
+# EC TKL X
+
+![EC TKL X PCB](https://i.imgur.com/pdkT14y.png)
+
+Universal TKL Electrostatic Capacitive PCB, with multi-layout support (F12/F13 version).
+
+* Keyboard Maintainer: [cipulot](https://github.com/cipulot)
+* Hardware Supported: EC TKL X PCB
+* Hardware Availability: TBD
+
+Make example for this keyboard (after setting up your build environment):
+
+ make cipulot/ec_tkl_x:default
+
+Flashing example for this keyboard:
+
+ make cipulot/ec_tkl_x:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 2 ways:
+
+* **Physical reset**: Long press the button on the bottom on the PCB
+* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available
diff --git a/keyboards/cipulot/ec_tkl_x/rules.mk b/keyboards/cipulot/ec_tkl_x/rules.mk
new file mode 100644
index 000000000000..3aa0e2bf0615
--- /dev/null
+++ b/keyboards/cipulot/ec_tkl_x/rules.mk
@@ -0,0 +1 @@
+OPT = 2
diff --git a/keyboards/cipulot/ec_typeb/config.h b/keyboards/cipulot/ec_typeb/config.h
index bf25d0b71289..908bae13e652 100644
--- a/keyboards/cipulot/ec_typeb/config.h
+++ b/keyboards/cipulot/ec_typeb/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
+#define UNUSED_POSITIONS_LIST { {1, 14}, {2, 12}, {2, 14}, {3, 1}, {3, 12}, {4, 0}, {4, 3}, {4, 4}, {4, 5}, {4, 7}, {4, 8}, {4, 11}, {4, 12}, {4, 13}, {4, 14} }
+
#define MATRIX_ROW_PINS \
{ A7, B0, A4, A5, A6 }
diff --git a/keyboards/cipulot/ec_typeb/keymaps/via/keymap.c b/keyboards/cipulot/ec_typeb/keymaps/via/keymap.c
deleted file mode 100644
index 71f8cd0368d7..000000000000
--- a/keyboards/cipulot/ec_typeb/keymaps/via/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_60_hhkb(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
-
- [1] = LAYOUT_60_hhkb(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, KC_BSPC,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______,
- _______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, MO(2)),
-
- [2] = LAYOUT_60_hhkb(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_typeb/keymaps/via/rules.mk b/keyboards/cipulot/ec_typeb/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_typeb/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_typeb/post_rules.mk b/keyboards/cipulot/ec_typeb/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_typeb/post_rules.mk
+++ b/keyboards/cipulot/ec_typeb/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_typeb/rules.mk b/keyboards/cipulot/ec_typeb/rules.mk
index ce525670a68b..1716098b3e10 100644
--- a/keyboards/cipulot/ec_typeb/rules.mk
+++ b/keyboards/cipulot/ec_typeb/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 3
diff --git a/keyboards/cipulot/ec_typek/config.h b/keyboards/cipulot/ec_typek/config.h
index 1fad97e71173..9821dcbba66e 100644
--- a/keyboards/cipulot/ec_typek/config.h
+++ b/keyboards/cipulot/ec_typek/config.h
@@ -17,6 +17,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
+#define UNUSED_POSITIONS_LIST { {2, 13}, {4, 2}, {4, 4}, {4, 9}, {4, 11}, {4, 12}, {4, 14} }
+
#define MATRIX_ROW_PINS \
{ B14, B13, B12, A6, A7 }
@@ -73,7 +75,7 @@
#define WS2812_DMA_CHANNEL 6
#define WS2812_DMAMUX_ID STM32_DMAMUX1_TIM1_UP
-#define RGBLIGHT_DEFAULT_VAL 175
+#define RGBLIGHT_DEFAULT_VAL 200
#define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5)
#define NUM_INDICATOR_INDEX 2
diff --git a/keyboards/cipulot/ec_typek/ec_switch_matrix.c b/keyboards/cipulot/ec_typek/ec_switch_matrix.c
index da58a75bbcf3..ca5553782559 100644
--- a/keyboards/cipulot/ec_typek/ec_switch_matrix.c
+++ b/keyboards/cipulot/ec_typek/ec_switch_matrix.c
@@ -37,6 +37,11 @@ const pin_t amux_en_pins[] = AMUX_EN_PINS;
const pin_t amux_n_col_sizes[] = AMUX_COL_CHANNELS_SIZES;
const pin_t amux_n_col_channels[][AMUX_MAX_COLS_COUNT] = {AMUX_COL_CHANNELS};
+#ifdef UNUSED_POSITIONS_LIST
+const uint8_t UNUSED_POSITIONS[][2] = UNUSED_POSITIONS_LIST;
+# define UNUSED_POSITIONS_COUNT (sizeof(UNUSED_POSITIONS) / sizeof(UNUSED_POSITIONS[0]))
+#endif
+
#define AMUX_SEL_PINS_COUNT ARRAY_SIZE(amux_sel_pins)
#define EXPECTED_AMUX_SEL_PINS_COUNT ceil(log2(AMUX_MAX_COLS_COUNT)
// Checks for the correctness of the configuration
@@ -70,6 +75,16 @@ void init_amux(void) {
}
}
+// Disable all the unused rows
+void disable_unused_row(uint8_t row) {
+ // disable all the other rows apart from the current selected one
+ for (uint8_t idx = 0; idx < MATRIX_ROWS; idx++) {
+ if (idx != row) {
+ gpio_write_pin_low(row_pins[idx]);
+ }
+ }
+}
+
// Select the multiplexer channel of the specified multiplexer
void select_amux_channel(uint8_t channel, uint8_t col) {
// Get the channel for the specified multiplexer
@@ -158,6 +173,10 @@ void ec_noise_floor(void) {
sum += amux_n_col_sizes[i];
uint8_t adjusted_col = col + sum;
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
+#ifdef UNUSED_POSITIONS_LIST
+ if (is_unused_position(row, adjusted_col)) continue;
+#endif
+ disable_unused_row(row);
ec_config.noise_floor[row][adjusted_col] += ec_readkey_raw(amux, row, col);
}
}
@@ -180,11 +199,15 @@ bool ec_matrix_scan(matrix_row_t current_matrix[]) {
for (uint8_t amux = 0; amux < AMUX_COUNT; amux++) {
disable_unused_amux(amux);
for (uint8_t col = 0; col < amux_n_col_sizes[amux]; col++) {
+ uint8_t sum = 0;
+ for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++)
+ sum += amux_n_col_sizes[i];
+ uint8_t adjusted_col = col + sum;
for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- uint8_t sum = 0;
- for (uint8_t i = 0; i < (amux > 0 ? amux : 0); i++)
- sum += amux_n_col_sizes[i];
- uint8_t adjusted_col = col + sum;
+#ifdef UNUSED_POSITIONS_LIST
+ if (is_unused_position(row, adjusted_col)) continue;
+#endif
+ disable_unused_row(row);
sw_value[row][adjusted_col] = ec_readkey_raw(amux, row, col);
if (ec_config.bottoming_calibration) {
@@ -229,7 +252,7 @@ uint16_t ec_readkey_raw(uint8_t channel, uint8_t row, uint8_t col) {
}
// Update press/release state of key
-bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
+bool ec_update_key(matrix_row_t *current_row, uint8_t row, uint8_t col, uint16_t sw_value) {
bool current_state = (*current_row >> col) & 1;
// Real Time Noise Floor Calibration
@@ -266,7 +289,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t
uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
}
// Has key moved up enough to be released?
- else if (sw_value < ec_config.extremum[row][col] - ec_config.mode_1_release_offset) {
+ else if (sw_value < ec_config.extremum[row][col] - ec_config.rescaled_mode_1_release_offset[row][col]) {
ec_config.extremum[row][col] = sw_value;
*current_row &= ~(1 << col);
uprintf("Key released: %d, %d, %d\n", row, col, sw_value);
@@ -280,7 +303,7 @@ bool ec_update_key(matrix_row_t* current_row, uint8_t row, uint8_t col, uint16_t
ec_config.extremum[row][col] = sw_value;
}
// Has key moved down enough to be pressed?
- else if (sw_value > ec_config.extremum[row][col] + ec_config.mode_1_actuation_offset) {
+ else if (sw_value > ec_config.extremum[row][col] + ec_config.rescaled_mode_1_actuation_offset[row][col]) {
ec_config.extremum[row][col] = sw_value;
*current_row |= (1 << col);
uprintf("Key pressed: %d, %d, %d\n", row, col, sw_value);
@@ -312,6 +335,18 @@ void ec_print_matrix(void) {
print("\n");
}
+// Check if the position is unused
+#ifdef UNUSED_POSITIONS_LIST
+bool is_unused_position(uint8_t row, uint8_t col) {
+ for (uint8_t i = 0; i < UNUSED_POSITIONS_COUNT; i++) {
+ if (UNUSED_POSITIONS[i][0] == row && UNUSED_POSITIONS[i][1] == col) {
+ return true;
+ }
+ }
+ return false;
+}
+#endif
+
// Rescale the value to a different range
uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max) {
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min;
diff --git a/keyboards/cipulot/ec_typek/ec_switch_matrix.h b/keyboards/cipulot/ec_typek/ec_switch_matrix.h
index fad20360bc7e..e3b6afb976d2 100644
--- a/keyboards/cipulot/ec_typek/ec_switch_matrix.h
+++ b/keyboards/cipulot/ec_typek/ec_switch_matrix.h
@@ -33,13 +33,13 @@ typedef struct PACKED {
indicator_config num;
indicator_config caps;
indicator_config scroll;
- uint8_t actuation_mode; // 0: normal board-wide APC, 1: Rapid trigger from specific board-wide actuation point, 2: Rapid trigger from resting point
- uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0
- uint16_t mode_0_release_threshold; // threshold for key release in mode 0
- uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1
- uint8_t mode_1_actuation_offset; // offset for key press in mode 1 and 2 (1-255)
- uint8_t mode_1_release_offset; // offset for key release in mode 1 and 2 (1-255)
- uint16_t bottoming_reading[MATRIX_ROWS][MATRIX_COLS]; // bottoming reading
+ uint8_t actuation_mode; // 0: normal board-wide APC, 1: Rapid trigger from specific board-wide actuation point, 2: Rapid trigger from resting point
+ uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0
+ uint16_t mode_0_release_threshold; // threshold for key release in mode 0
+ uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1
+ uint8_t mode_1_actuation_offset; // offset for key press in mode 1 and 2 (1-255)
+ uint8_t mode_1_release_offset; // offset for key release in mode 1 and 2 (1-255)
+ uint16_t bottoming_reading[MATRIX_ROWS][MATRIX_COLS]; // bottoming reading
} eeprom_ec_config_t;
typedef struct {
@@ -47,11 +47,13 @@ typedef struct {
uint16_t mode_0_actuation_threshold; // threshold for key press in mode 0
uint16_t mode_0_release_threshold; // threshold for key release in mode 0
uint16_t mode_1_initial_deadzone_offset; // threshold for key press in mode 1 (initial deadzone)
+ uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255)
+ uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255)
uint16_t rescaled_mode_0_actuation_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 0 rescaled to actual scale
uint16_t rescaled_mode_0_release_threshold[MATRIX_ROWS][MATRIX_COLS]; // threshold for key release in mode 0 rescaled to actual scale
uint16_t rescaled_mode_1_initial_deadzone_offset[MATRIX_ROWS][MATRIX_COLS]; // threshold for key press in mode 1 (initial deadzone) rescaled to actual scale
- uint8_t mode_1_actuation_offset; // offset for key press in mode 1 (1-255)
- uint8_t mode_1_release_offset; // offset for key release in mode 1 (1-255)
+ uint8_t rescaled_mode_1_actuation_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key press in mode 1 rescaled to actual scale
+ uint8_t rescaled_mode_1_release_offset[MATRIX_ROWS][MATRIX_COLS]; // offset for key release in mode 1 rescaled to actual scale
uint16_t extremum[MATRIX_ROWS][MATRIX_COLS]; // extremum values for mode 1
uint16_t noise_floor[MATRIX_ROWS][MATRIX_COLS]; // noise floor detected during startup
bool bottoming_calibration; // calibration mode for bottoming out values (true: calibration mode, false: normal mode)
@@ -82,3 +84,7 @@ void ec_print_matrix(void);
uint16_t rescale(uint16_t x, uint16_t in_min, uint16_t in_max, uint16_t out_min, uint16_t out_max);
bool indicators_callback(void);
+
+#ifdef UNUSED_POSITIONS_LIST
+bool is_unused_position(uint8_t row, uint8_t col);
+#endif
diff --git a/keyboards/cipulot/ec_typek/ec_typek.c b/keyboards/cipulot/ec_typek/ec_typek.c
index d8e0f9236ee9..d4241f66f1e4 100644
--- a/keyboards/cipulot/ec_typek/ec_typek.c
+++ b/keyboards/cipulot/ec_typek/ec_typek.c
@@ -69,6 +69,8 @@ void keyboard_post_init_kb(void) {
ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_1_actuation_offset[row][col] = rescale(ec_config.mode_1_actuation_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
+ ec_config.rescaled_mode_1_release_offset[row][col] = rescale(ec_config.mode_1_release_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
}
}
@@ -82,12 +84,14 @@ void keyboard_post_init_kb(void) {
// This function gets called when caps, num, scroll change
bool led_update_kb(led_t led_state) {
- indicators_callback();
+ if (led_update_user(led_state)) {
+ indicators_callback();
+ }
return true;
}
// This function is called when layers change
-layer_state_t layer_state_set_user(layer_state_t state) {
+__attribute__((weak)) layer_state_t layer_state_set_user(layer_state_t state) {
indicators_callback();
return state;
}
diff --git a/keyboards/cipulot/ec_typek/keyboard.json b/keyboards/cipulot/ec_typek/keyboard.json
index be8c6d027017..5ddf550432bb 100644
--- a/keyboards/cipulot/ec_typek/keyboard.json
+++ b/keyboards/cipulot/ec_typek/keyboard.json
@@ -1,6 +1,6 @@
{
"manufacturer": "Cipulot",
- "keyboard_name": "EC Type-K",
+ "keyboard_name": "Type-K EC",
"maintainer": "Cipulot",
"bootloader": "stm32-dfu",
"build": {
@@ -42,7 +42,7 @@
},
"led_count": 69,
"led_map": [0, 1, 2, 3, 4, 5, 66, 67, 68, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65],
- "max_brightness": 175
+ "max_brightness": 200
},
"usb": {
"device_version": "0.0.1",
diff --git a/keyboards/cipulot/ec_typek/keymaps/via/keymap.c b/keyboards/cipulot/ec_typek/keymaps/via/keymap.c
deleted file mode 100644
index e47e50680e03..000000000000
--- a/keyboards/cipulot/ec_typek/keymaps/via/keymap.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_DEL,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
- KC_LGUI, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_SPC, KC_LGUI, KC_RGUI, KC_SPC, KC_RALT, MO(1)
- ),
- [1] = LAYOUT(
- _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______,
- KC_HOME, _______, _______, KC_UP, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, _______, _______, _______,
- KC_END, _______, KC_LEFT, KC_DOWN, KC_RIGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, MO(2), _______
- ),
- [2] = LAYOUT(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______)
-};
diff --git a/keyboards/cipulot/ec_typek/keymaps/via/rules.mk b/keyboards/cipulot/ec_typek/keymaps/via/rules.mk
deleted file mode 100644
index b870b6349c08..000000000000
--- a/keyboards/cipulot/ec_typek/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-
-SRC += via_ec_indicators.c
diff --git a/keyboards/cipulot/ec_typek/keymaps/via/via_ec_indicators.c b/keyboards/cipulot/ec_typek/keymaps/via/via_ec_indicators.c
deleted file mode 100644
index 742dac0e6f15..000000000000
--- a/keyboards/cipulot/ec_typek/keymaps/via/via_ec_indicators.c
+++ /dev/null
@@ -1,502 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include "keyboards/cipulot/common/eeprom_tools.h"
-#include "ec_switch_matrix.h"
-#include "action.h"
-#include "print.h"
-#include "via.h"
-
-#ifdef VIA_ENABLE
-
-void ec_rescale_values(uint8_t item);
-void ec_save_threshold_data(uint8_t option);
-void ec_save_bottoming_reading(void);
-void ec_show_calibration_data(void);
-void ec_clear_bottoming_calibration_data(void);
-
-// Declaring enums for VIA config menu
-enum via_enums {
- // clang-format off
- id_num_indicator_enabled = 1,
- id_num_indicator_brightness = 2,
- id_num_indicator_color = 3,
- id_caps_indicator_enabled = 4,
- id_caps_indicator_brightness = 5,
- id_caps_indicator_color = 6,
- id_scroll_indicator_enabled = 7,
- id_scroll_indicator_brightness = 8,
- id_scroll_indicator_color = 9,
- id_actuation_mode = 10,
- id_mode_0_actuation_threshold = 11,
- id_mode_0_release_threshold = 12,
- id_save_threshold_data = 13,
- id_mode_1_initial_deadzone_offset = 14,
- id_mode_1_actuation_offset = 15,
- id_mode_1_release_offset = 16,
- id_bottoming_calibration = 17,
- id_noise_floor_calibration = 18,
- id_show_calibration_data = 19,
- id_clear_bottoming_calibration_data = 20
- // clang-format on
-};
-
-// Handle the data received by the keyboard from the VIA menus
-void via_config_set_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_num_indicator_enabled: {
- if (value_data[0] == 1) {
- eeprom_ec_config.num.enabled = true;
- uprintf("#########################\n");
- uprintf("# Num indicator enabled #\n");
- uprintf("#########################\n");
- } else {
- eeprom_ec_config.num.enabled = false;
- uprintf("##########################\n");
- uprintf("# Num indicator disabled #\n");
- uprintf("##########################\n");
- }
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.enabled);
- break;
- }
- case id_num_indicator_brightness: {
- eeprom_ec_config.num.v = value_data[0];
- uprintf("Num indicator brightness: %d\n", eeprom_ec_config.num.v);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.v);
- break;
- }
- case id_num_indicator_color: {
- eeprom_ec_config.num.h = value_data[0];
- eeprom_ec_config.num.s = value_data[1];
- uprintf("Num indicator color: %d, %d\n", eeprom_ec_config.num.h, eeprom_ec_config.num.s);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.h);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, num.s);
- break;
- }
- case id_caps_indicator_enabled: {
- if (value_data[0] == 1) {
- eeprom_ec_config.caps.enabled = true;
- uprintf("##########################\n");
- uprintf("# Caps indicator enabled #\n");
- uprintf("##########################\n");
- } else {
- eeprom_ec_config.caps.enabled = false;
- uprintf("###########################\n");
- uprintf("# Caps indicator disabled #\n");
- uprintf("###########################\n");
- }
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.enabled);
- break;
- }
- case id_caps_indicator_brightness: {
- eeprom_ec_config.caps.v = value_data[0];
- uprintf("Caps indicator brightness: %d\n", eeprom_ec_config.caps.v);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.v);
- break;
- }
- case id_caps_indicator_color: {
- eeprom_ec_config.caps.h = value_data[0];
- eeprom_ec_config.caps.s = value_data[1];
- uprintf("Caps indicator color: %d, %d\n", eeprom_ec_config.caps.h, eeprom_ec_config.caps.s);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.h);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, caps.s);
- break;
- }
- case id_scroll_indicator_enabled: {
- if (value_data[0] == 1) {
- eeprom_ec_config.scroll.enabled = true;
- uprintf("############################\n");
- uprintf("# Scroll indicator enabled #\n");
- uprintf("############################\n");
- } else {
- eeprom_ec_config.scroll.enabled = false;
- uprintf("#############################\n");
- uprintf("# Scroll indicator disabled #\n");
- uprintf("#############################\n");
- }
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.enabled);
- break;
- }
- case id_scroll_indicator_brightness: {
- eeprom_ec_config.scroll.v = value_data[0];
- uprintf("Scroll indicator brightness: %d\n", eeprom_ec_config.scroll.v);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.v);
- break;
- }
- case id_scroll_indicator_color: {
- eeprom_ec_config.scroll.h = value_data[0];
- eeprom_ec_config.scroll.s = value_data[1];
- uprintf("Scroll indicator color: %d, %d\n", eeprom_ec_config.scroll.h, eeprom_ec_config.scroll.s);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.h);
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, scroll.s);
- break;
- }
- case id_actuation_mode: {
- eeprom_ec_config.actuation_mode = value_data[0];
- ec_config.actuation_mode = eeprom_ec_config.actuation_mode;
- if (ec_config.actuation_mode == 0) {
- uprintf("#########################\n");
- uprintf("# Actuation Mode: APC #\n");
- uprintf("#########################\n");
- } else if (ec_config.actuation_mode == 1) {
- uprintf("#################################\n");
- uprintf("# Actuation Mode: Rapid Trigger #\n");
- uprintf("#################################\n");
- }
- EEPROM_KB_PARTIAL_UPDATE(eeprom_ec_config, actuation_mode);
- break;
- }
- case id_mode_0_actuation_threshold: {
- ec_config.mode_0_actuation_threshold = value_data[1] | (value_data[0] << 8);
- uprintf("APC Mode Actuation Threshold: %d\n", ec_config.mode_0_actuation_threshold);
- break;
- }
- case id_mode_0_release_threshold: {
- eeprom_ec_config.mode_0_release_threshold = value_data[1] | (value_data[0] << 8);
- ec_config.mode_0_release_threshold = eeprom_ec_config.mode_0_release_threshold;
- uprintf("APC Mode Release Threshold: %d\n", ec_config.mode_0_release_threshold);
- break;
- }
- case id_mode_1_initial_deadzone_offset: {
- ec_config.mode_1_initial_deadzone_offset = value_data[1] | (value_data[0] << 8);
- uprintf("Rapid Trigger Mode Initial Deadzone Offset: %d\n", ec_config.mode_1_initial_deadzone_offset);
- break;
- }
- case id_mode_1_actuation_offset: {
- ec_config.mode_1_actuation_offset = value_data[0];
- uprintf("Rapid Trigger Mode Actuation Sensitivity: %d\n", ec_config.mode_1_actuation_offset);
- break;
- }
- case id_mode_1_release_offset: {
- ec_config.mode_1_release_offset = value_data[0];
- uprintf("Rapid Trigger Mode Release Sensitivity: %d\n", ec_config.mode_1_release_offset);
- break;
- }
- case id_bottoming_calibration: {
- if (value_data[0] == 1) {
- ec_config.bottoming_calibration = true;
- uprintf("##############################\n");
- uprintf("# Bottoming calibration mode #\n");
- uprintf("##############################\n");
- } else {
- ec_config.bottoming_calibration = false;
- ec_save_bottoming_reading();
- uprintf("## Bottoming calibration done ##\n");
- ec_show_calibration_data();
- }
- break;
- }
- case id_save_threshold_data: {
- ec_save_threshold_data(value_data[0]);
- break;
- }
- case id_noise_floor_calibration: {
- if (value_data[0] == 0) {
- ec_noise_floor();
- ec_rescale_values(0);
- ec_rescale_values(1);
- ec_rescale_values(2);
- uprintf("#############################\n");
- uprintf("# Noise floor data acquired #\n");
- uprintf("#############################\n");
- break;
- }
- }
- case id_show_calibration_data: {
- // Show calibration data once if the user toggle the switch
- if (value_data[0] == 0) {
- ec_show_calibration_data();
- break;
- }
- }
- case id_clear_bottoming_calibration_data: {
- if (value_data[0] == 0) {
- ec_clear_bottoming_calibration_data();
- }
- }
- default: {
- // Unhandled value.
- break;
- }
- }
-
- // Call the indicator callback to set the indicator color
- indicators_callback();
-}
-
-// Handle the data sent by the keyboard to the VIA menus
-void via_config_get_value(uint8_t *data) {
- // data = [ value_id, value_data ]
- uint8_t *value_id = &(data[0]);
- uint8_t *value_data = &(data[1]);
-
- switch (*value_id) {
- case id_num_indicator_enabled: {
- value_data[0] = eeprom_ec_config.num.enabled;
- break;
- }
- case id_num_indicator_brightness: {
- value_data[0] = eeprom_ec_config.num.v;
- break;
- }
- case id_num_indicator_color: {
- value_data[0] = eeprom_ec_config.num.h;
- value_data[1] = eeprom_ec_config.num.s;
- break;
- }
- case id_caps_indicator_enabled: {
- value_data[0] = eeprom_ec_config.caps.enabled;
- break;
- }
- case id_caps_indicator_brightness: {
- value_data[0] = eeprom_ec_config.caps.v;
- break;
- }
- case id_caps_indicator_color: {
- value_data[0] = eeprom_ec_config.caps.h;
- value_data[1] = eeprom_ec_config.caps.s;
- break;
- }
- case id_scroll_indicator_enabled: {
- value_data[0] = eeprom_ec_config.scroll.enabled;
- break;
- }
- case id_scroll_indicator_brightness: {
- value_data[0] = eeprom_ec_config.scroll.v;
- break;
- }
- case id_scroll_indicator_color: {
- value_data[0] = eeprom_ec_config.scroll.h;
- value_data[1] = eeprom_ec_config.scroll.s;
- break;
- }
- case id_actuation_mode: {
- value_data[0] = eeprom_ec_config.actuation_mode;
- break;
- }
- case id_mode_0_actuation_threshold: {
- value_data[0] = eeprom_ec_config.mode_0_actuation_threshold >> 8;
- value_data[1] = eeprom_ec_config.mode_0_actuation_threshold & 0xFF;
- break;
- }
- case id_mode_0_release_threshold: {
- value_data[0] = eeprom_ec_config.mode_0_release_threshold >> 8;
- value_data[1] = eeprom_ec_config.mode_0_release_threshold & 0xFF;
- break;
- }
- case id_mode_1_initial_deadzone_offset: {
- value_data[0] = eeprom_ec_config.mode_1_initial_deadzone_offset >> 8;
- value_data[1] = eeprom_ec_config.mode_1_initial_deadzone_offset & 0xFF;
- break;
- }
- case id_mode_1_actuation_offset: {
- value_data[0] = eeprom_ec_config.mode_1_actuation_offset;
- break;
- }
- case id_mode_1_release_offset: {
- value_data[0] = eeprom_ec_config.mode_1_release_offset;
- break;
- }
- default: {
- // Unhandled value.
- break;
- }
- }
-}
-
-// Handle the commands sent and received by the keyboard with VIA
-void via_custom_value_command_kb(uint8_t *data, uint8_t length) {
- // data = [ command_id, channel_id, value_id, value_data ]
- uint8_t *command_id = &(data[0]);
- uint8_t *channel_id = &(data[1]);
- uint8_t *value_id_and_data = &(data[2]);
-
- if (*channel_id == id_custom_channel) {
- switch (*command_id) {
- case id_custom_set_value: {
- via_config_set_value(value_id_and_data);
- break;
- }
- case id_custom_get_value: {
- via_config_get_value(value_id_and_data);
- break;
- }
- case id_custom_save: {
- // Bypass the save function in favor of pinpointed saves
- break;
- }
- default: {
- // Unhandled message.
- *command_id = id_unhandled;
- break;
- }
- }
- return;
- }
-
- *command_id = id_unhandled;
-}
-
-// Rescale the values received by VIA to fit the new range
-void ec_rescale_values(uint8_t item) {
- switch (item) {
- // Rescale the APC mode actuation thresholds
- case 0:
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- ec_config.rescaled_mode_0_actuation_threshold[row][col] = rescale(ec_config.mode_0_actuation_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
- }
- }
- break;
- // Rescale the APC mode release thresholds
- case 1:
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- ec_config.rescaled_mode_0_release_threshold[row][col] = rescale(ec_config.mode_0_release_threshold, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
- }
- }
- break;
- // Rescale the Rapid Trigger mode initial deadzone offsets
- case 2:
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- ec_config.rescaled_mode_1_initial_deadzone_offset[row][col] = rescale(ec_config.mode_1_initial_deadzone_offset, 0, 1023, ec_config.noise_floor[row][col], eeprom_ec_config.bottoming_reading[row][col]);
- }
- }
- break;
-
- default:
- // Unhandled item.
- break;
- }
-}
-
-void ec_save_threshold_data(uint8_t option) {
- // Save APC mode thresholds and rescale them for runtime usage
- if (option == 0) {
- eeprom_ec_config.mode_0_actuation_threshold = ec_config.mode_0_actuation_threshold;
- eeprom_ec_config.mode_0_release_threshold = ec_config.mode_0_release_threshold;
- ec_rescale_values(0);
- ec_rescale_values(1);
- }
- // Save Rapid Trigger mode thresholds and rescale them for runtime usage
- else if (option == 1) {
- eeprom_ec_config.mode_1_initial_deadzone_offset = ec_config.mode_1_initial_deadzone_offset;
- ec_rescale_values(2);
- }
- eeconfig_update_kb_datablock(&eeprom_ec_config);
- uprintf("####################################\n");
- uprintf("# New thresholds applied and saved #\n");
- uprintf("####################################\n");
-}
-
-// Save the bottoming reading
-void ec_save_bottoming_reading(void) {
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS; col++) {
- // If the bottom reading doesn't go over the noise floor by 100, it is likely that:
- // 1. The key is not actually in the matrix
- // 2. The key is on an alternative layout, therefore not being pressed
- // 3. The key in in the current layout but not being pressed
- if (ec_config.bottoming_reading[row][col] < (ec_config.noise_floor[row][col] + 100)) {
- eeprom_ec_config.bottoming_reading[row][col] = 1023;
- } else {
- eeprom_ec_config.bottoming_reading[row][col] = ec_config.bottoming_reading[row][col];
- }
- }
- }
- // Rescale the values to fit the new range for runtime usage
- ec_rescale_values(0);
- ec_rescale_values(1);
- ec_rescale_values(2);
- eeconfig_update_kb_datablock(&eeprom_ec_config);
-}
-
-// Show the calibration data
-void ec_show_calibration_data(void) {
- uprintf("\n###############\n");
- uprintf("# Noise Floor #\n");
- uprintf("###############\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
- uprintf("%4d,", ec_config.noise_floor[row][col]);
- }
- uprintf("%4d\n", ec_config.noise_floor[row][MATRIX_COLS - 1]);
- }
-
- uprintf("\n######################\n");
- uprintf("# Bottoming Readings #\n");
- uprintf("######################\n");
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
- uprintf("%4d,", eeprom_ec_config.bottoming_reading[row][col]);
- }
- uprintf("%4d\n", eeprom_ec_config.bottoming_reading[row][MATRIX_COLS - 1]);
- }
-
- uprintf("\n######################################\n");
- uprintf("# Rescaled APC Mode Actuation Points #\n");
- uprintf("######################################\n");
- uprintf("Original APC Mode Actuation Point: %4d\n", ec_config.mode_0_actuation_threshold);
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
- uprintf("%4d,", ec_config.rescaled_mode_0_actuation_threshold[row][col]);
- }
- uprintf("%4d\n", ec_config.rescaled_mode_0_actuation_threshold[row][MATRIX_COLS - 1]);
- }
-
- uprintf("\n######################################\n");
- uprintf("# Rescaled APC Mode Release Points #\n");
- uprintf("######################################\n");
- uprintf("Original APC Mode Release Point: %4d\n", ec_config.mode_0_release_threshold);
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
- uprintf("%4d,", ec_config.rescaled_mode_0_release_threshold[row][col]);
- }
- uprintf("%4d\n", ec_config.rescaled_mode_0_release_threshold[row][MATRIX_COLS - 1]);
- }
-
- uprintf("\n#######################################################\n");
- uprintf("# Rescaled Rapid Trigger Mode Initial Deadzone Offset #\n");
- uprintf("#######################################################\n");
- uprintf("Original Rapid Trigger Mode Initial Deadzone Offset: %4d\n", ec_config.mode_1_initial_deadzone_offset);
- for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
- for (uint8_t col = 0; col < MATRIX_COLS - 1; col++) {
- uprintf("%4d,", ec_config.rescaled_mode_1_initial_deadzone_offset[row][col]);
- }
- uprintf("%4d\n", ec_config.rescaled_mode_1_initial_deadzone_offset[row][MATRIX_COLS - 1]);
- }
- print("\n");
-}
-
-// Clear the calibration data
-void ec_clear_bottoming_calibration_data(void) {
- // Clear the EEPROM data
- eeconfig_init_kb();
-
- // Reset the runtime values to the EEPROM values
- keyboard_post_init_kb();
-
- uprintf("######################################\n");
- uprintf("# Bottoming calibration data cleared #\n");
- uprintf("######################################\n");
-}
-
-#endif // VIA_ENABLE
diff --git a/keyboards/cipulot/ec_typek/mcuconf.h b/keyboards/cipulot/ec_typek/mcuconf.h
index 5f9ecca48dd8..2f22252a008c 100644
--- a/keyboards/cipulot/ec_typek/mcuconf.h
+++ b/keyboards/cipulot/ec_typek/mcuconf.h
@@ -21,8 +21,5 @@
#undef STM32_ADC_USE_ADC1
#define STM32_ADC_USE_ADC1 TRUE
-#undef STM32_PWM_USE_ADVANCED
-#define STM32_PWM_USE_ADVANCED TRUE
-
#undef STM32_PWM_USE_TIM1
#define STM32_PWM_USE_TIM1 TRUE
diff --git a/keyboards/cipulot/ec_vero/config.h b/keyboards/cipulot/ec_vero/config.h
index 89f7474b552d..d86c0b6ab04b 100644
--- a/keyboards/cipulot/ec_vero/config.h
+++ b/keyboards/cipulot/ec_vero/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
+#define UNUSED_POSITIONS_LIST { {2, 14}, {3, 12}, {4, 0}, {4, 3}, {4, 4}, {4, 5}, {4, 7}, {4, 8}, {4, 9}, {4, 12}, {4, 13}, {4, 14} }
+
#define MATRIX_ROW_PINS \
{ B7, B6, A9, A10, B3 }
diff --git a/keyboards/cipulot/ec_vero/keymaps/via/keymap.c b/keyboards/cipulot/ec_vero/keymaps/via/keymap.c
deleted file mode 100644
index 06b3651d94a6..000000000000
--- a/keyboards/cipulot/ec_vero/keymaps/via/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_all(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_ENTER,
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
- KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT),
-
- [1] = LAYOUT_all(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, KC_BSPC, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, MO(2)),
-
- [2] = LAYOUT_all(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_vero/keymaps/via/rules.mk b/keyboards/cipulot/ec_vero/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_vero/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_vero/post_rules.mk b/keyboards/cipulot/ec_vero/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_vero/post_rules.mk
+++ b/keyboards/cipulot/ec_vero/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_vero/rules.mk b/keyboards/cipulot/ec_vero/rules.mk
index ce525670a68b..1716098b3e10 100644
--- a/keyboards/cipulot/ec_vero/rules.mk
+++ b/keyboards/cipulot/ec_vero/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 3
diff --git a/keyboards/cipulot/ec_virgo/config.h b/keyboards/cipulot/ec_virgo/config.h
index 2fce8cd7fa7c..87cfbcdd76aa 100644
--- a/keyboards/cipulot/ec_virgo/config.h
+++ b/keyboards/cipulot/ec_virgo/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 6
#define MATRIX_COLS 18
+#define UNUSED_POSITIONS_LIST { {0, 6}, {0, 14}, {3, 14}, {3, 15}, {3, 16}, {3, 17}, {4, 12}, {4, 15}, {4, 17}, {5, 1}, {5, 4}, {5, 8}, {5, 11}, {5, 12}, {5, 14} }
+
#define MATRIX_ROW_PINS \
{ B6, B7, B5, B4, B3, A15 }
diff --git a/keyboards/cipulot/ec_virgo/keymaps/via/keymap.c b/keyboards/cipulot/ec_virgo/keymaps/via/keymap.c
deleted file mode 100644
index f176ec71dc08..000000000000
--- a/keyboards/cipulot/ec_virgo/keymaps/via/keymap.c
+++ /dev/null
@@ -1,37 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_ENTER, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
- [1] = LAYOUT(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
-
- // clang-format on
-};
diff --git a/keyboards/cipulot/ec_virgo/keymaps/via/rules.mk b/keyboards/cipulot/ec_virgo/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/ec_virgo/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/ec_virgo/post_rules.mk b/keyboards/cipulot/ec_virgo/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/ec_virgo/post_rules.mk
+++ b/keyboards/cipulot/ec_virgo/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/ec_virgo/rules.mk b/keyboards/cipulot/ec_virgo/rules.mk
index ce525670a68b..1716098b3e10 100644
--- a/keyboards/cipulot/ec_virgo/rules.mk
+++ b/keyboards/cipulot/ec_virgo/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 3
diff --git a/keyboards/cipulot/kallos/keymaps/via/keymap.c b/keyboards/cipulot/kallos/keymaps/via/keymap.c
deleted file mode 100644
index f09cf850f976..000000000000
--- a/keyboards/cipulot/kallos/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2022 Cipulot
-
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_default(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, MO(1), KC_DEL,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LALT, KC_SPC, KC_RCTL, KC_RALT, KC_LEFT, KC_DOWN, KC_RIGHT
- ),
- [1] = LAYOUT_default(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT_default(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_default(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cipulot/kallos/keymaps/via/rules.mk b/keyboards/cipulot/kallos/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/kallos/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/kawayo/keymaps/via/keymap.c b/keyboards/cipulot/kawayo/keymaps/via/keymap.c
deleted file mode 100644
index 06cf47bc5fcb..000000000000
--- a/keyboards/cipulot/kawayo/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2022 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_65_ansi_cb_blocker_split_bs(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, MO(1),
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, _______,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, _______,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_65_ansi_cb_blocker_split_bs(
- QK_BOOT, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [2] = LAYOUT_65_ansi_cb_blocker_split_bs(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT_65_ansi_cb_blocker_split_bs(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/cipulot/kawayo/keymaps/via/rules.mk b/keyboards/cipulot/kawayo/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/kawayo/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/mnk_60_ec/config.h b/keyboards/cipulot/mnk_60_ec/config.h
index 1a7df4865727..1f31c91aaa1e 100644
--- a/keyboards/cipulot/mnk_60_ec/config.h
+++ b/keyboards/cipulot/mnk_60_ec/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
+#define UNUSED_POSITIONS_LIST { {3, 13}, {4, 3}, {4, 4}, {4, 6}, {4, 7}, {4, 8}, {4, 9}, {4, 13} }
+
#define MATRIX_ROW_PINS \
{ B13, B14, B15, A8, A15 }
diff --git a/keyboards/cipulot/mnk_60_ec/keyboard.json b/keyboards/cipulot/mnk_60_ec/keyboard.json
index 802e216f6720..8929e3d5ff8a 100644
--- a/keyboards/cipulot/mnk_60_ec/keyboard.json
+++ b/keyboards/cipulot/mnk_60_ec/keyboard.json
@@ -25,7 +25,14 @@
"pid": "0x6BB6",
"vid": "0x6369"
},
- "community_layouts": ["60_ansi_wkl_split_bs_rshift", "60_hhkb", "60_tsangan_hhkb"],
+ "community_layouts": [
+ "60_ansi_wkl_split_bs_rshift",
+ "60_hhkb",
+ "60_ansi_tsangan_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_60_tsangan_hhkb": "LAYOUT_60_ansi_tsangan_split_bs_rshift"
+ },
"layouts": {
"LAYOUT_60_ansi_wkl_split_bs_rshift": {
"layout": [
@@ -155,7 +162,7 @@
{"matrix": [4, 11], "x": 12.5, "y": 4}
]
},
- "LAYOUT_60_tsangan_hhkb": {
+ "LAYOUT_60_ansi_tsangan_split_bs_rshift": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1, "y": 0},
diff --git a/keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c b/keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c
index 08599b93d3ae..6ce10b137520 100644
--- a/keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c
+++ b/keyboards/cipulot/mnk_60_ec/keymaps/default/keymap.c
@@ -18,21 +18,21 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// clang-format off
- [0] = LAYOUT_60_tsangan_hhkb(
+ [0] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RGUI, KC_RALT),
- [1] = LAYOUT_60_tsangan_hhkb(
+ [1] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
_______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, _______,
_______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______,
_______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
_______, _______, _______, _______, _______, MO(2), _______),
- [2] = LAYOUT_60_tsangan_hhkb(
+ [2] = LAYOUT_60_ansi_tsangan_split_bs_rshift(
QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
diff --git a/keyboards/cipulot/mnk_60_ec/keymaps/via/keymap.c b/keyboards/cipulot/mnk_60_ec/keymaps/via/keymap.c
deleted file mode 100644
index 08599b93d3ae..000000000000
--- a/keyboards/cipulot/mnk_60_ec/keymaps/via/keymap.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_60_tsangan_hhkb(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENTER,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RCTL, KC_RGUI, KC_RALT),
-
- [1] = LAYOUT_60_tsangan_hhkb(
- _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUSE, KC_UP, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, _______, _______, S(KC_8), KC_SLSH, KC_HOME, KC_PGUP, KC_LEFT, KC_RIGHT, _______,
- _______, _______, _______, _______, _______, _______, S(KC_EQL), KC_MINS, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, MO(2), _______),
-
- [2] = LAYOUT_60_tsangan_hhkb(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/mnk_60_ec/keymaps/via/rules.mk b/keyboards/cipulot/mnk_60_ec/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/mnk_60_ec/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/mnk_60_ec/post_rules.mk b/keyboards/cipulot/mnk_60_ec/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/mnk_60_ec/post_rules.mk
+++ b/keyboards/cipulot/mnk_60_ec/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/mnk_60_ec/rules.mk b/keyboards/cipulot/mnk_60_ec/rules.mk
index ce525670a68b..1716098b3e10 100644
--- a/keyboards/cipulot/mnk_60_ec/rules.mk
+++ b/keyboards/cipulot/mnk_60_ec/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 3
diff --git a/keyboards/cipulot/mnk_65_ec/config.h b/keyboards/cipulot/mnk_65_ec/config.h
index 01d1248c436f..9d880ba3bdad 100644
--- a/keyboards/cipulot/mnk_65_ec/config.h
+++ b/keyboards/cipulot/mnk_65_ec/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 5
#define MATRIX_COLS 15
+#define UNUSED_POSITIONS_LIST { {2, 13}, {3, 13}, {4, 3}, {4, 4}, {4, 6}, {4, 7}, {4, 8}, {4, 10}, {4, 13} }
+
#define MATRIX_ROW_PINS \
{ B14, B15, A8, B12, A15 }
diff --git a/keyboards/cipulot/mnk_65_ec/keymaps/via/keymap.c b/keyboards/cipulot/mnk_65_ec/keymaps/via/keymap.c
deleted file mode 100644
index 03b9c3de33e5..000000000000
--- a/keyboards/cipulot/mnk_65_ec/keymaps/via/keymap.c
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_65_ansi_blocker_tsangan(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_PGUP,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGDN,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_END,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
- [1] = LAYOUT_65_ansi_blocker_tsangan(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, _______,
- _______, _______, _______, _______, _______, _______, KC_INS, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT_65_ansi_blocker_tsangan(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
- // clang-format on
-};
diff --git a/keyboards/cipulot/mnk_65_ec/keymaps/via/rules.mk b/keyboards/cipulot/mnk_65_ec/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/mnk_65_ec/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/mnk_65_ec/post_rules.mk b/keyboards/cipulot/mnk_65_ec/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/mnk_65_ec/post_rules.mk
+++ b/keyboards/cipulot/mnk_65_ec/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/mnk_65_ec/rules.mk b/keyboards/cipulot/mnk_65_ec/rules.mk
index ce525670a68b..1716098b3e10 100644
--- a/keyboards/cipulot/mnk_65_ec/rules.mk
+++ b/keyboards/cipulot/mnk_65_ec/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 3
diff --git a/keyboards/cipulot/rf_r1_8_9xu/config.h b/keyboards/cipulot/rf_r1_8_9xu/config.h
index cd98ff7f3da6..91e3a459c37b 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/config.h
+++ b/keyboards/cipulot/rf_r1_8_9xu/config.h
@@ -19,6 +19,8 @@
#define MATRIX_ROWS 6
#define MATRIX_COLS 16
+#define UNUSED_POSITIONS_LIST { {5, 3}, {5, 5} }
+
#define MATRIX_ROW_PINS \
{ B15, A8, B13, B12, B14, B0 }
diff --git a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/config.h b/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/config.h
deleted file mode 100644
index 1ab0d3d9aa2a..000000000000
--- a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/config.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-
-// This is the firmware version for VIA support to avoid conflicts on menu fetching
-#define VIA_FIRMWARE_VERSION 1
diff --git a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/keymap.c b/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/keymap.c
deleted file mode 100644
index 983bdefe8a99..000000000000
--- a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/keymap.c
+++ /dev/null
@@ -1,39 +0,0 @@
-/* Copyright 2023 Cipulot
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-#include "keymap_japanese.h"
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // clang-format off
- [0] = LAYOUT_all(
- KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SCRL, KC_PAUS,
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, JP_YEN, KC_BSPC, KC_INS, KC_HOME, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_ENTER, KC_DEL, KC_END, KC_PGDN,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENTER,
- KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, JP_UNDS, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, JP_MHEN, KC_SPC, JP_KANA, KC_RALT, KC_RGUI, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RIGHT),
-
- [1] = LAYOUT_all(
- QK_BOOT, NK_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______)
- // clang-format on
-};
diff --git a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/rules.mk b/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cipulot/rf_r1_8_9xu/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cipulot/rf_r1_8_9xu/post_rules.mk b/keyboards/cipulot/rf_r1_8_9xu/post_rules.mk
index d726a112a8c7..5dba48cc5fd6 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/post_rules.mk
+++ b/keyboards/cipulot/rf_r1_8_9xu/post_rules.mk
@@ -1,3 +1 @@
-ifeq ($(strip $(VIA_ENABLE)), yes)
- SRC += keyboards/cipulot/common/via_ec.c
-endif
+include keyboards/cipulot/common/common_cipulot.mk
diff --git a/keyboards/cipulot/rf_r1_8_9xu/rules.mk b/keyboards/cipulot/rf_r1_8_9xu/rules.mk
index 318e0215ce90..3aa0e2bf0615 100644
--- a/keyboards/cipulot/rf_r1_8_9xu/rules.mk
+++ b/keyboards/cipulot/rf_r1_8_9xu/rules.mk
@@ -1,5 +1 @@
-CUSTOM_MATRIX = lite
-ANALOG_DRIVER_REQUIRED = yes
-VPATH += keyboards/cipulot/common
-SRC += matrix.c ec_board.c ec_switch_matrix.c
OPT = 2
diff --git a/keyboards/citrus/erdnuss65/keymaps/via/keymap.c b/keyboards/citrus/erdnuss65/keymaps/via/keymap.c
deleted file mode 100644
index 55ce4b8677ca..000000000000
--- a/keyboards/citrus/erdnuss65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,38 +0,0 @@
-// Copyright 2023 Citrus Lab
-// SPDX-License-Identifier: GPL-2.0
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT(
- QK_GESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_PGUP,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, KC_PGDN,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT(
- KC_TILD, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, KC_MPRV,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, _______, _______, QK_BOOT, KC_MNXT,
- _______, _______, _______, _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, KC_HOME,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MYCM, KC_VOLU, KC_END,
- _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_MPLY
- ),
-
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- ),
-
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
diff --git a/keyboards/citrus/erdnuss65/keymaps/via/rules.mk b/keyboards/citrus/erdnuss65/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/citrus/erdnuss65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/ck60i/keymaps/via/keymap.c b/keyboards/ck60i/keymaps/via/keymap.c
deleted file mode 100755
index 4c859464dbca..000000000000
--- a/keyboards/ck60i/keymaps/via/keymap.c
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
-Copyright 2012,2013 Jun Wako
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- QK_GESC, KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_MINS, KC_EQL , KC_BSPC,
- KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_Y , KC_U , KC_I , KC_O , KC_P , KC_LBRC, KC_RBRC, KC_PGUP,
- KC_CAPS, KC_A , KC_S , KC_D , KC_F , KC_G , KC_H , KC_J , KC_K , KC_L , KC_SCLN, KC_QUOT, KC_ENT , KC_PGDN,
- KC_LSFT, KC_BSLS, KC_Z , KC_X , KC_C , KC_V , KC_B , KC_N , KC_M , KC_COMM, KC_DOT , KC_SLSH, KC_RSFT, KC_NUHS ,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC , KC_RALT, MO(1) , KC_RGUI, KC_RCTL, MO(2) ),
- [1] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______),
- [2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______),
- [3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______)
-};
diff --git a/keyboards/ck60i/keymaps/via/rules.mk b/keyboards/ck60i/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/ck60i/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/clickety_split/leeloo/info.json b/keyboards/clickety_split/leeloo/info.json
index c83fedeb2803..2c17a28c8d89 100644
--- a/keyboards/clickety_split/leeloo/info.json
+++ b/keyboards/clickety_split/leeloo/info.json
@@ -26,13 +26,15 @@
},
"split": {
"enabled": true,
- "soft_serial_pin": "D2",
"encoder": {
"right": {
"rotary": [
{"pin_a": "F4", "pin_b": "F5"}
]
}
+ },
+ "serial": {
+ "pin": "D2"
}
},
"development_board": "promicro",
diff --git a/keyboards/clickety_split/leeloo/keymaps/default/keymap.c b/keyboards/clickety_split/leeloo/keymaps/default/keymap.c
index 6bf982447283..65ca6213300a 100644
--- a/keyboards/clickety_split/leeloo/keymaps/default/keymap.c
+++ b/keyboards/clickety_split/leeloo/keymaps/default/keymap.c
@@ -107,8 +107,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[_ADJUST] = LAYOUT(
_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, _______,
- _______, RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, _______, _______, _______, KC_VOLD, _______, _______, _______,
- _______, RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______,
+ _______, RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, _______, _______, _______, KC_VOLD, _______, _______, _______,
+ _______, RM_NEXT, RM_HUED, RM_SATD, RM_VALD, _______, _______, _______, _______, KC_MUTE, _______, _______, _______, _______,
_______, _______, _______, _______, _______, _______, _______, _______
)
};
diff --git a/keyboards/clueboard/17/keymaps/default/keymap.c b/keyboards/clueboard/17/keymaps/default/keymap.c
index a0223bce1314..7833753c4e17 100644
--- a/keyboards/clueboard/17/keymaps/default/keymap.c
+++ b/keyboards/clueboard/17/keymaps/default/keymap.c
@@ -43,10 +43,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* '-------------------'
*/
[_FL] = LAYOUT_numpad_5x4(
- LT(_FL, KC_NUM), _______, _______, RGB_TOG,
- _______, RGB_SAI, _______,
- RGB_HUD, BL_STEP, RGB_HUI, RGB_VAI,
- _______, RGB_SAD, _______,
- RGB_MOD, _______, RGB_VAD
+ LT(_FL, KC_NUM), _______, _______, UG_TOGG,
+ _______, UG_SATU, _______,
+ UG_HUED, BL_STEP, UG_HUEU, UG_VALU,
+ _______, UG_SATD, _______,
+ UG_NEXT, _______, UG_VALD
)
};
diff --git a/keyboards/clueboard/2x1800/2019/2019.c b/keyboards/clueboard/2x1800/2019/2019.c
index 8b0ba6a71e16..b7fb799ecb33 100644
--- a/keyboards/clueboard/2x1800/2019/2019.c
+++ b/keyboards/clueboard/2x1800/2019/2019.c
@@ -18,9 +18,6 @@
void matrix_init_kb(void) {
// Set our LED pins as output
gpio_set_pin_output(D6);
- gpio_set_pin_output(B4);
- gpio_set_pin_output(B5);
- gpio_set_pin_output(B6);
// Set our Tilt Sensor pins as input
gpio_set_pin_input_high(SHAKE_PIN_A);
@@ -61,7 +58,7 @@ uint8_t detected_shakes = 0;
static uint16_t shake_timer;
#endif
-void matrix_scan_kb(void) {
+void housekeeping_task_kb(void) {
#ifdef SHAKE_ENABLE
// Read the current state of the tilt sensor. It is physically
// impossible for both pins to register a low state at the same time.
@@ -84,8 +81,6 @@ void matrix_scan_kb(void) {
detected_shakes = 0;
}
#endif
-
- matrix_scan_user();
}
bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
@@ -133,22 +128,8 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
return process_record_user(keycode, record);
}
-bool led_update_kb(led_t led_state) {
- bool res = led_update_user(led_state);
- if(res) {
- gpio_write_pin(B4, !led_state.num_lock);
- gpio_write_pin(B5, !led_state.caps_lock);
- gpio_write_pin(B6, !led_state.scroll_lock);
- }
-
- return res;
-}
-
-__attribute__((weak)) bool encoder_update_keymap(uint8_t index, bool clockwise) { return true; }
-__attribute__((weak)) bool encoder_update_user(uint8_t index, bool clockwise) { return encoder_update_keymap(index, clockwise); }
-
bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_user(index, clockwise)) {
+ if (encoder_update_user(index, clockwise)) {
// Encoder 1, outside left
if (index == 0 && clockwise) {
tap_code(KC_MS_U); // turned right
diff --git a/keyboards/clueboard/2x1800/2019/2019.h b/keyboards/clueboard/2x1800/2019/2019.h
index c5869ff66ffa..d5867dacac4c 100644
--- a/keyboards/clueboard/2x1800/2019/2019.h
+++ b/keyboards/clueboard/2x1800/2019/2019.h
@@ -24,8 +24,5 @@ enum TWOx1800_keycodes {
ENC_BTN4,
};
-// Encoder update function that returns true/false
-bool encoder_update_keymap(uint8_t index, bool clockwise);
-
// Encoder button combo check
void check_encoder_buttons(void);
diff --git a/keyboards/clueboard/2x1800/2019/keyboard.json b/keyboards/clueboard/2x1800/2019/keyboard.json
index 6f33a11ca758..31ff448d17e7 100644
--- a/keyboards/clueboard/2x1800/2019/keyboard.json
+++ b/keyboards/clueboard/2x1800/2019/keyboard.json
@@ -32,6 +32,12 @@
{"pin_a": "A1", "pin_b": "A0"}
]
},
+ "indicators": {
+ "caps_lock": "B5",
+ "num_lock": "B4",
+ "scroll_lock": "B6",
+ "on_state": 0
+ },
"layout_aliases": {
"LAYOUT": "LAYOUT_all"
},
diff --git a/keyboards/clueboard/2x1800/2021/2021.c b/keyboards/clueboard/2x1800/2021/2021.c
index 2a3f1304c7ee..511c40a699d3 100644
--- a/keyboards/clueboard/2x1800/2021/2021.c
+++ b/keyboards/clueboard/2x1800/2021/2021.c
@@ -21,7 +21,7 @@
#ifndef DRAWING_TOY_MODE
static uint16_t led_frame_timer = 0;
-void matrix_scan_kb(void) {
+void housekeeping_task_kb(void) {
if (timer_elapsed(led_frame_timer) > 100) {
max7219_message_sign_task(true);
led_frame_timer = timer_read();
@@ -90,18 +90,15 @@ void matrix_init_kb(void) {
#elif defined(DRAWING_TOY_MODE)
max7219_set_led(0, 0, true);
#endif
-}
-__attribute__ ((weak))
-bool encoder_update_keymap(int8_t index, bool clockwise) {
- return false;
+ matrix_init_user();
}
#define NUM_COLUMNS 8*MAX7219_CONTROLLERS
uint8_t led_position[2] = {0,0}; // The location of the cursor in the matrix
bool encoder_update_kb(uint8_t index, bool clockwise) {
- if (!encoder_update_keymap(index, clockwise)) {
+ if (encoder_update_user(index, clockwise)) {
#if defined(DRAWING_TOY_MODE)
// Encoder 1, left
if (index == 0 && clockwise) {
diff --git a/keyboards/clueboard/66/keymaps/66_ansi/keymap.c b/keyboards/clueboard/66/keymaps/66_ansi/keymap.c
index 748f1263a62e..05ed2f431b7c 100644
--- a/keyboards/clueboard/66/keymaps/66_ansi/keymap.c
+++ b/keyboards/clueboard/66/keymaps/66_ansi/keymap.c
@@ -28,9 +28,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _CL: Control layer
*/
[_CL] = LAYOUT_66_ansi(
- BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
+ BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, UG_TOGG, UG_VALU,
+ _______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, UG_VALD,
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
- _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI,
- _______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, UG_SATU,
+ _______,_______,_______, UG_NEXT, _______,MO(_FL),_______,UG_HUED,UG_SATD,UG_HUEU),
};
diff --git a/keyboards/clueboard/66/keymaps/66_iso/keymap.c b/keyboards/clueboard/66/keymaps/66_iso/keymap.c
index e80a0796e898..10e8a59274d4 100644
--- a/keyboards/clueboard/66/keymaps/66_iso/keymap.c
+++ b/keyboards/clueboard/66/keymaps/66_iso/keymap.c
@@ -28,9 +28,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _CL: Control layer
*/
[_CL] = LAYOUT_66_iso(
- BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
+ BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, UG_TOGG, UG_VALU,
+ _______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______, UG_VALD,
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
- MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI,
- _______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
+ MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, UG_SATU,
+ _______,_______,_______, UG_NEXT, _______,MO(_FL),_______,UG_HUED,UG_SATD,UG_HUEU),
};
diff --git a/keyboards/clueboard/66/keymaps/colemak/keymap.c b/keyboards/clueboard/66/keymaps/colemak/keymap.c
index 854ace81dc50..33d37a4a9eed 100644
--- a/keyboards/clueboard/66/keymaps/colemak/keymap.c
+++ b/keyboards/clueboard/66/keymaps/colemak/keymap.c
@@ -30,9 +30,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _CL: Control layer
*/
[_CL] = LAYOUT(
- BL_STEP, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_TOG, RGB_VAI,
- _______, _______, _______,_______,QK_BOOT,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_VAD,
+ BL_STEP, _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, UG_TOGG, UG_VALU,
+ _______, _______, _______,_______,QK_BOOT,_______,_______,_______,_______,_______, _______, _______, _______, _______, UG_VALD,
_______, _______, MO(_CL),_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______,
- MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, RGB_SAI,
- _______, _______, _______,_______, RGB_MOD, RGB_MOD, _______, _______, _______, _______, RGB_HUD, RGB_SAD, RGB_HUI),
+ MO(_FL), _______, _______,_______,_______,_______,_______,_______,_______,_______, _______, _______, _______, _______, UG_SATU,
+ _______, _______, _______,_______, UG_NEXT, UG_NEXT, _______, _______, _______, _______, UG_HUED, UG_SATD, UG_HUEU),
};
diff --git a/keyboards/clueboard/66/keymaps/default/keymap.c b/keyboards/clueboard/66/keymaps/default/keymap.c
index d0c39f774a17..24e3c755fb57 100644
--- a/keyboards/clueboard/66/keymaps/default/keymap.c
+++ b/keyboards/clueboard/66/keymaps/default/keymap.c
@@ -28,9 +28,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _CL: Control layer
*/
[_CL] = LAYOUT(
- BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
+ BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,_______,UG_TOGG, UG_VALU,
+ _______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, UG_VALD,
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
- MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI,
- _______,_______,_______,_______, RGB_MOD, RGB_MOD, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
+ MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, UG_SATU,
+ _______,_______,_______,_______, UG_NEXT, UG_NEXT, _______,_______,MO(_FL),_______,UG_HUED,UG_SATD,UG_HUEU),
};
diff --git a/keyboards/clueboard/66/keymaps/via/keymap.c b/keyboards/clueboard/66/keymaps/via/keymap.c
deleted file mode 100644
index d9585c8c70de..000000000000
--- a/keyboards/clueboard/66/keymaps/via/keymap.c
+++ /dev/null
@@ -1,46 +0,0 @@
-#include QMK_KEYBOARD_H
-
-// Each layer gets a name for readability, which is then used in the keymap matrix below.
-// The underscores don't mean anything - you can have a layer called STUFF or any other name.
-#define _BL 0
-#define _FL 1
-#define _CL 2
-#define _EL 3
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- /* Keymap _BL: Base Layer (Default Layer)
- */
-[_BL] = LAYOUT_66_ansi(
- QK_GESC,KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS,KC_EQL, KC_BSPC, KC_PGUP,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC,KC_RBRC,KC_BSLS, KC_PGDN,
- KC_CAPS,KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL,KC_LGUI,KC_LALT, KC_SPC, KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
-
- /* Keymap _FL: Function Layer
- */
-[_FL] = LAYOUT_66_ansi(
- KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL, KC_VOLU,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE, KC_VOLD,
- _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
- _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, KC_PGUP,
- _______,_______,_______, _______, _______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
-
- /* Keymap _CL: Control layer
- */
-[_CL] = LAYOUT_66_ansi(
- BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
- _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
- _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI,
- _______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
-
- /* Keymap _EL: Empty layer
- */
-[_EL] = LAYOUT_66_ansi(
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
- _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, _______,
- _______,_______,_______, _______, _______,_______,_______,_______,_______,_______)
-};
\ No newline at end of file
diff --git a/keyboards/clueboard/66/keymaps/via/rules.mk b/keyboards/clueboard/66/keymaps/via/rules.mk
deleted file mode 100644
index 7a49719505df..000000000000
--- a/keyboards/clueboard/66/keymaps/via/rules.mk
+++ /dev/null
@@ -1,4 +0,0 @@
-# rules.mk overrides to enable VIA
-
-VIA_ENABLE = yes
-LTO_ENABLE = yes
diff --git a/keyboards/clueboard/66_hotswap/gen1/gen1.c b/keyboards/clueboard/66_hotswap/gen1/gen1.c
index e13a05de054f..e2da60b918d7 100644
--- a/keyboards/clueboard/66_hotswap/gen1/gen1.c
+++ b/keyboards/clueboard/66_hotswap/gen1/gen1.c
@@ -93,34 +93,4 @@ const is31fl3731_led_t PROGMEM g_is31fl3731_leds[IS31FL3731_LED_COUNT] = {
{ 0, C5_14 }, // k96 KC_DOWN
{ 0, C5_15 } // k97 KC_RGHT
};
-
-led_config_t g_led_config = {
- {
- // Key Matrix to LED Index
- { 0, 1, 2, 3, 4, 5, 6, 7 },
- { 15, 16, 17, 18, 19, 20, 21, 22 },
- { 30, 31, 32, 33, 34, 35, 36, 37 },
- { 43, NO_LED, 44, 45, 46, 47, 48, 49 },
- { 56, 57, 58, NO_LED, NO_LED, 60, 61, NO_LED },
- { 8, 9, 10, 11, 12, 13, NO_LED, 14 },
- { 23, 24, 25, 26, 27, 28, NO_LED, 29 },
- { 38, 39, 40, 41, NO_LED, 42, NO_LED, NO_LED },
- { 50, 51, 52, 53, NO_LED, 54, 55, NO_LED },
- { 64, NO_LED, 65, 66, 67, 68, 69, 70 }
- }, {
- // LED Index to Physical Position
- { 0, 0 }, { 15, 0 }, { 29, 0 }, { 43, 0 }, { 58, 0 }, { 72, 0 }, { 87, 0 }, { 101, 0 }, { 116, 0 }, { 130, 0 }, { 145, 0 }, { 159, 0 }, { 173, 0 }, { 195, 0 }, { 224, 0 },
- { 4, 16 }, { 22, 16 }, { 36, 16 }, { 51, 16 }, { 65, 16 }, { 80, 16 }, { 94, 16 }, { 108, 16 }, { 123, 16 }, { 137, 16 }, { 152, 16 }, { 166, 16 }, { 181, 16 }, { 199, 16 }, { 224, 16 },
- { 5, 32 }, { 25, 32 }, { 40, 32 }, { 54, 32 }, { 69, 32 }, { 83, 32 }, { 98, 32 }, { 112, 32 }, { 126, 32 }, { 141, 32 }, { 155, 32 }, { 170, 32 }, { 184, 32 },
- { 16, 48 }, { 33, 48 }, { 47, 48 }, { 61, 48 }, { 76, 48 }, { 90, 48 }, { 105, 48 }, { 119, 48 }, { 134, 48 }, { 148, 48 }, { 163, 48 }, { 188, 48 }, { 210, 48 },
- { 9, 64 }, { 27, 64 }, { 45, 64 }, { 60, 64 }, { 74, 64 }, { 88, 64 }, { 103, 64 }, { 117, 64 }, { 136, 64 }, { 154, 64 }, { 168, 64 }, { 186, 64 }, { 195, 64 }, { 210, 64 }, { 224, 64 }
- }, {
- // LED Index to Flag
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1,
- 1, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 1, 1,
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
- }
-};
#endif
diff --git a/keyboards/clueboard/66_hotswap/gen1/keyboard.json b/keyboards/clueboard/66_hotswap/gen1/keyboard.json
index 17e47e66fe84..de858443ccd4 100644
--- a/keyboards/clueboard/66_hotswap/gen1/keyboard.json
+++ b/keyboards/clueboard/66_hotswap/gen1/keyboard.json
@@ -39,6 +39,79 @@
"wave_left_right": true,
"wave_up_down": true
},
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0, "flags": 1},
+ {"matrix": [0, 1], "x": 15, "y": 0, "flags": 4},
+ {"matrix": [0, 2], "x": 29, "y": 0, "flags": 4},
+ {"matrix": [0, 3], "x": 43, "y": 0, "flags": 4},
+ {"matrix": [0, 4], "x": 58, "y": 0, "flags": 4},
+ {"matrix": [0, 5], "x": 72, "y": 0, "flags": 4},
+ {"matrix": [0, 6], "x": 87, "y": 0, "flags": 4},
+ {"matrix": [0, 7], "x": 101, "y": 0, "flags": 4},
+ {"matrix": [5, 0], "x": 116, "y": 0, "flags": 4},
+ {"matrix": [5, 1], "x": 130, "y": 0, "flags": 4},
+ {"matrix": [5, 2], "x": 145, "y": 0, "flags": 4},
+ {"matrix": [5, 3], "x": 159, "y": 0, "flags": 4},
+ {"matrix": [5, 4], "x": 173, "y": 0, "flags": 4},
+ {"matrix": [5, 5], "x": 195, "y": 0, "flags": 1},
+ {"matrix": [5, 7], "x": 224, "y": 0, "flags": 1},
+ {"matrix": [1, 0], "x": 4, "y": 16, "flags": 1},
+ {"matrix": [1, 1], "x": 22, "y": 16, "flags": 4},
+ {"matrix": [1, 2], "x": 36, "y": 16, "flags": 4},
+ {"matrix": [1, 3], "x": 51, "y": 16, "flags": 4},
+ {"matrix": [1, 4], "x": 65, "y": 16, "flags": 4},
+ {"matrix": [1, 5], "x": 80, "y": 16, "flags": 4},
+ {"matrix": [1, 6], "x": 94, "y": 16, "flags": 4},
+ {"matrix": [1, 7], "x": 108, "y": 16, "flags": 4},
+ {"matrix": [6, 0], "x": 123, "y": 16, "flags": 4},
+ {"matrix": [6, 1], "x": 137, "y": 16, "flags": 4},
+ {"matrix": [6, 2], "x": 152, "y": 16, "flags": 4},
+ {"matrix": [6, 3], "x": 166, "y": 16, "flags": 4},
+ {"matrix": [6, 4], "x": 181, "y": 16, "flags": 4},
+ {"matrix": [6, 5], "x": 199, "y": 16, "flags": 1},
+ {"matrix": [6, 7], "x": 224, "y": 16, "flags": 1},
+ {"matrix": [2, 0], "x": 5, "y": 32, "flags": 1},
+ {"matrix": [2, 1], "x": 25, "y": 32, "flags": 4},
+ {"matrix": [2, 2], "x": 40, "y": 32, "flags": 4},
+ {"matrix": [2, 3], "x": 54, "y": 32, "flags": 4},
+ {"matrix": [2, 4], "x": 69, "y": 32, "flags": 4},
+ {"matrix": [2, 5], "x": 83, "y": 32, "flags": 4},
+ {"matrix": [2, 6], "x": 98, "y": 32, "flags": 4},
+ {"matrix": [2, 7], "x": 112, "y": 32, "flags": 4},
+ {"matrix": [7, 0], "x": 126, "y": 32, "flags": 4},
+ {"matrix": [7, 1], "x": 141, "y": 32, "flags": 4},
+ {"matrix": [7, 2], "x": 155, "y": 32, "flags": 4},
+ {"matrix": [7, 3], "x": 170, "y": 32, "flags": 4},
+ {"matrix": [7, 5], "x": 184, "y": 32, "flags": 1},
+ {"matrix": [3, 0], "x": 16, "y": 48, "flags": 1},
+ {"matrix": [3, 2], "x": 33, "y": 48, "flags": 4},
+ {"matrix": [3, 3], "x": 47, "y": 48, "flags": 4},
+ {"matrix": [3, 4], "x": 61, "y": 48, "flags": 4},
+ {"matrix": [3, 5], "x": 76, "y": 48, "flags": 4},
+ {"matrix": [3, 6], "x": 90, "y": 48, "flags": 4},
+ {"matrix": [3, 7], "x": 105, "y": 48, "flags": 4},
+ {"matrix": [8, 0], "x": 119, "y": 48, "flags": 4},
+ {"matrix": [8, 1], "x": 134, "y": 48, "flags": 4},
+ {"matrix": [8, 2], "x": 148, "y": 48, "flags": 4},
+ {"matrix": [8, 3], "x": 163, "y": 48, "flags": 4},
+ {"matrix": [8, 5], "x": 188, "y": 48, "flags": 1},
+ {"matrix": [8, 6], "x": 210, "y": 48, "flags": 1},
+ {"matrix": [4, 0], "x": 9, "y": 64, "flags": 1},
+ {"matrix": [4, 1], "x": 27, "y": 64, "flags": 1},
+ {"matrix": [4, 2], "x": 45, "y": 64, "flags": 1},
+ {"x": 60, "y": 64, "flags": 1},
+ {"matrix": [4, 5], "x": 74, "y": 64, "flags": 1},
+ {"matrix": [4, 6], "x": 88, "y": 64, "flags": 1},
+ {"x": 103, "y": 64, "flags": 1},
+ {"x": 117, "y": 64, "flags": 1},
+ {"matrix": [9, 0], "x": 136, "y": 64, "flags": 1},
+ {"matrix": [9, 2], "x": 154, "y": 64, "flags": 1},
+ {"matrix": [9, 3], "x": 168, "y": 64, "flags": 1},
+ {"matrix": [9, 4], "x": 186, "y": 64, "flags": 1},
+ {"matrix": [9, 5], "x": 195, "y": 64, "flags": 1},
+ {"matrix": [9, 6], "x": 210, "y": 64, "flags": 1},
+ {"matrix": [9, 7], "x": 224, "y": 64, "flags": 1}
+ ],
"driver": "is31fl3731"
},
"matrix_pins": {
diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c
index 07bfe643ae3e..6d91a841fc91 100644
--- a/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c
+++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/66_ansi/keymap.c
@@ -44,9 +44,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Keymap _CL: Control layer
*/
[_CL] = LAYOUT_66_ansi(
- BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, RGB_TOG, RGB_VAI,
- _______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_VAD,
+ BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, UG_TOGG, UG_VALU,
+ _______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, UG_VALD,
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
- _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, RGB_SAI,
- _______,_______,_______, RGB_MOD, _______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
+ _______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______, _______, UG_SATU,
+ _______,_______,_______, UG_NEXT, _______,MO(_FL),_______,UG_HUED,UG_SATD,UG_HUEU),
};
diff --git a/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c
index 53335ef60dc8..50a0b9a7c953 100644
--- a/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c
+++ b/keyboards/clueboard/66_hotswap/prototype/keymaps/default/keymap.c
@@ -71,8 +71,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
BL_STEP,S_ONEUP,S_SCALE,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______, BL_TOGG, BL_UP,
_______,_______,_______,_______,QK_BOOT,_______,_______,_______,_______,_______,_______,_______,_______,_______, BL_DOWN,
_______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______, _______,
- _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, RGB_SAI,
- _______,_______,_______, BL_BRTG,BL_BRTG, _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
+ _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______, UG_SATU,
+ _______,_______,_______, BL_BRTG,BL_BRTG, _______,_______,MO(_FL),_______,UG_HUED,UG_SATD,UG_HUEU),
};
diff --git a/keyboards/clueboard/card/keymaps/default/keymap.c b/keyboards/clueboard/card/keymaps/default/keymap.c
index 84b7d61ac917..4e8fac2899ac 100644
--- a/keyboards/clueboard/card/keymaps/default/keymap.c
+++ b/keyboards/clueboard/card/keymaps/default/keymap.c
@@ -8,9 +8,9 @@ enum custom_keycodes {
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
- RGB_TOG, RGB_SAI, RGB_VAI,
- RGB_HUD, RGB_HUI,
- RGB_MOD, RGB_SAD, RGB_VAD,
+ UG_TOGG, UG_SATU, UG_VALU,
+ UG_HUED, UG_HUEU,
+ UG_NEXT, UG_SATD, UG_VALD,
BL_STEP,
SONG_SU,SONG_SC,SONG_GB
)
diff --git a/keyboards/clueboard/card/keymaps/rgb_effects/keymap.c b/keyboards/clueboard/card/keymaps/rgb_effects/keymap.c
index 834c174ba9bc..c9d5db7206f4 100644
--- a/keyboards/clueboard/card/keymaps/rgb_effects/keymap.c
+++ b/keyboards/clueboard/card/keymaps/rgb_effects/keymap.c
@@ -2,9 +2,9 @@
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT(
- RGB_TOG, RGB_SAI, RGB_VAI,
- RGB_HUD, RGB_HUI,
- RGB_MOD, RGB_SAD, RGB_VAD,
+ UG_TOGG, UG_SATU, UG_VALU,
+ UG_HUED, UG_HUEU,
+ UG_NEXT, UG_SATD, UG_VALD,
BL_STEP,
KC_NO, KC_NO, KC_NO
)
diff --git a/keyboards/cmm_studio/fuji65/keymaps/via/keymap.c b/keyboards/cmm_studio/fuji65/keymaps/via/keymap.c
deleted file mode 100644
index 88b3fa1f57fd..000000000000
--- a/keyboards/cmm_studio/fuji65/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2021 CMM.Studio Freather
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- [0] = LAYOUT_ansi_blocker_split_bs(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_GRV, KC_BSLS,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_TRNS,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_UP, KC_TRNS,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_ansi_blocker_split_bs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [2] = LAYOUT_ansi_blocker_split_bs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
- [3] = LAYOUT_ansi_blocker_split_bs(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
diff --git a/keyboards/cmm_studio/fuji65/keymaps/via/rules.mk b/keyboards/cmm_studio/fuji65/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/cmm_studio/fuji65/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/cmm_studio/saka68/hotswap/keymaps/via/keymap.c b/keyboards/cmm_studio/saka68/hotswap/keymaps/via/keymap.c
deleted file mode 100644
index 603ca01ba6f1..000000000000
--- a/keyboards/cmm_studio/saka68/hotswap/keymaps/via/keymap.c
+++ /dev/null
@@ -1,52 +0,0 @@
-/* Copyright 2021 CMM.Studio Freather
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_68_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_SPC,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_SPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_68_ansi(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_68_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_68_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
-};
diff --git a/keyboards/cmm_studio/saka68/hotswap/keymaps/via/rules.mk b/keyboards/cmm_studio/saka68/hotswap/keymaps/via/rules.mk
deleted file mode 100644
index eb5b445ddf1a..000000000000
--- a/keyboards/cmm_studio/saka68/hotswap/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/cmm_studio/saka68/solder/keymaps/via/keymap.c b/keyboards/cmm_studio/saka68/solder/keymaps/via/keymap.c
deleted file mode 100644
index 12334284a071..000000000000
--- a/keyboards/cmm_studio/saka68/solder/keymaps/via/keymap.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright 2020 CMM.Studio Freather
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_68_ansi(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP,
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
- ),
-
- [1] = LAYOUT_68_ansi(
- KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [2] = LAYOUT_68_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-
- [3] = LAYOUT_68_ansi(
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- ),
-};
diff --git a/keyboards/cmm_studio/saka68/solder/keymaps/via/rules.mk b/keyboards/cmm_studio/saka68/solder/keymaps/via/rules.mk
deleted file mode 100644
index eb5b445ddf1a..000000000000
--- a/keyboards/cmm_studio/saka68/solder/keymaps/via/rules.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-VIA_ENABLE = yes
-MOUSEKEY_ENABLE = yes
diff --git a/keyboards/coarse/cordillera/keymaps/via/keymap.c b/keyboards/coarse/cordillera/keymaps/via/keymap.c
deleted file mode 100644
index dd74be4d469b..000000000000
--- a/keyboards/coarse/cordillera/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
-Copyright 2020 coarse
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_alice(
- KC_ESC, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC,
- KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS,
- KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LALT, KC_SPC, MO(1), KC_SPC, KC_RALT, KC_RCTL
- ),
- [1] = LAYOUT_alice(
- QK_BOOT, _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_DEL,
- KC_HOME, _______, _______, KC_UP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- KC_END, _______, KC_LEFT, KC_DOWN, KC_RGHT, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
- [2] = LAYOUT_alice(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
- [3] = LAYOUT_alice(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______
- ),
-};
diff --git a/keyboards/coarse/cordillera/keymaps/via/rules.mk b/keyboards/coarse/cordillera/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/coarse/cordillera/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/coban/pad3a/keymaps/via/config.h b/keyboards/coban/pad3a/keymaps/via/config.h
deleted file mode 100644
index bd1b2fc7afa0..000000000000
--- a/keyboards/coban/pad3a/keymaps/via/config.h
+++ /dev/null
@@ -1,18 +0,0 @@
-/* Copyright 2021 RyanDam (https://github.com/RyanDam)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-#define DYNAMIC_KEYMAP_LAYER_COUNT 2
diff --git a/keyboards/coban/pad3a/keymaps/via/keymap.c b/keyboards/coban/pad3a/keymaps/via/keymap.c
deleted file mode 100644
index ba9a458fc528..000000000000
--- a/keyboards/coban/pad3a/keymaps/via/keymap.c
+++ /dev/null
@@ -1,27 +0,0 @@
-/* Copyright 2021 RyanDam (https://github.com/RyanDam)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(KC_MUTE, KC_MNXT, KC_MPLY),
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU) },
-};
-#endif
diff --git a/keyboards/coban/pad3a/keymaps/via/rules.mk b/keyboards/coban/pad3a/keymaps/via/rules.mk
deleted file mode 100644
index 1189f4ad1927..000000000000
--- a/keyboards/coban/pad3a/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/coban/pad9a/keymaps/via/keymap.c b/keyboards/coban/pad9a/keymaps/via/keymap.c
deleted file mode 100644
index 9ef5fc54d7e5..000000000000
--- a/keyboards/coban/pad9a/keymaps/via/keymap.c
+++ /dev/null
@@ -1,31 +0,0 @@
-/* Copyright 2023 RyanDam (https://github.com/RyanDam)
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT(
- KC_MPLY, KC_ENT,
- KC_MPRV, KC_UP, KC_MNXT,
- KC_LEFT, KC_DOWN, KC_RIGHT
- ),
-};
-
-#if defined(ENCODER_MAP_ENABLE)
-const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
- [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_WH_U, KC_WH_D) },
-};
-#endif
diff --git a/keyboards/coban/pad9a/keymaps/via/rules.mk b/keyboards/coban/pad9a/keymaps/via/rules.mk
deleted file mode 100644
index 1189f4ad1927..000000000000
--- a/keyboards/coban/pad9a/keymaps/via/rules.mk
+++ /dev/null
@@ -1,3 +0,0 @@
-VIA_ENABLE = yes
-LTO_ENABLE = yes
-ENCODER_MAP_ENABLE = yes
diff --git a/keyboards/compensator/keymaps/via/keymap.c b/keyboards/compensator/keymaps/via/keymap.c
deleted file mode 100644
index a7285b32577b..000000000000
--- a/keyboards/compensator/keymaps/via/keymap.c
+++ /dev/null
@@ -1,48 +0,0 @@
-/* Copyright 2024 Lrfoster03
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-enum custom_keycodes {
- KC_P00 = SAFE_RANGE
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT( /* Base -> XT:Num:Nav:Alphas:Nav:Num:Xt*/
- KC_F1, KC_F2, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_INS, KC_HOME, KC_PGUP, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, KC_P7, KC_P8, KC_P9, KC_PPLS, KC_F1, KC_F2,
- KC_F3, KC_F4, KC_PMNS, KC_P4, KC_P5, KC_P6, KC_DEL, KC_END, KC_PGDN, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_DEL, KC_END, KC_PGDN, KC_P4, KC_P5, KC_P6, KC_PMNS, KC_F3, KC_F4,
- KC_F5, KC_F6, KC_PENT, KC_P1, KC_P2, KC_P3, KC_NO, KC_UP, KC_NO, KC_LSFT, KC_BSLS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1), KC_NO, KC_UP, KC_NO, KC_P1, KC_P2, KC_P3, KC_PENT, KC_F5, KC_F6,
- KC_F7, KC_F8, KC_PMNS, KC_PDOT, KC_P0, KC_P00, KC_LEFT, KC_DOWN, KC_RIGHT, KC_LCTL, KC_LALT, KC_SPC, KC_SPC, KC_SPC, KC_LALT, KC_LCTL, KC_LEFT, KC_DOWN, KC_RIGHT, KC_P00, KC_P0, KC_PDOT, KC_PMNS, KC_F7, KC_F8
- ),
-
- [1] = LAYOUT( /* MO(1) */
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_NUM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, KC_NUM, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
- KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
- )
-};
-
-bool process_record_user(uint16_t keycode, keyrecord_t *record) {
- if (record->event.pressed) {
- switch(keycode) {
- case KC_P00:
- tap_code(KC_P0);
- tap_code(KC_P0);
- return false;
- }
- }
- return true;
-}
diff --git a/keyboards/compensator/keymaps/via/rules.mk b/keyboards/compensator/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/compensator/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/compound/keymaps/via/keymap.c b/keyboards/compound/keymaps/via/keymap.c
deleted file mode 100644
index 3b820ab65fb2..000000000000
--- a/keyboards/compound/keymaps/via/keymap.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
-Copyright 2021 Rafael Yumagulov
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see .
-*/
-
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
-[0] = LAYOUT(
- KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSLS, KC_GRV,
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSPC,
- KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, MO(1),
- KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, KC_RCTL),
-
-[1] = LAYOUT(
- QK_BOOT, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_INS, KC_DEL,
- KC_CAPS, _______, _______, _______, _______, _______, _______, _______, KC_PSCR, KC_SCRL, KC_PAUS, KC_UP, _______, _______,
- _______, KC_VOLD, KC_VOLU, KC_MUTE, KC_MPLY, _______, _______, _______, KC_HOME, KC_PGUP, KC_LEFT, KC_RGHT, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, KC_END, KC_PGDN, KC_DOWN, _______, _______,
- _______, _______, _______, _______, _______, _______, _______),
-
-[2] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______),
-
-[3] = LAYOUT(
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______),
-};
diff --git a/keyboards/compound/keymaps/via/rules.mk b/keyboards/compound/keymaps/via/rules.mk
deleted file mode 100644
index 1e5b99807cb7..000000000000
--- a/keyboards/compound/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
diff --git a/keyboards/concreteflowers/cor/keyboard.json b/keyboards/concreteflowers/cor/keyboard.json
new file mode 100644
index 000000000000..c2fa4379df63
--- /dev/null
+++ b/keyboards/concreteflowers/cor/keyboard.json
@@ -0,0 +1,351 @@
+{
+ "manufacturer": "concreteflowers",
+ "keyboard_name": "cor",
+ "maintainer": "ramonimbao",
+ "bootloader": "atmel-dfu",
+ "diode_direction": "COL2ROW",
+ "features": {
+ "bootmagic": true,
+ "command": false,
+ "console": false,
+ "extrakey": true,
+ "mousekey": true,
+ "nkro": false
+ },
+ "matrix_pins": {
+ "rows": ["F0", "F1", "F4", "B3", "B6"],
+ "cols": ["F5", "F6", "F7", "C6", "C7", "B1", "B7", "B5", "B4", "D7", "D6", "D4", "D5", "D3", "D2", "D1", "D0"]
+ },
+ "processor": "atmega32u4",
+ "url": "",
+ "usb": {
+ "device_version": "1.0.0",
+ "vid": "0x5001",
+ "pid": "0x0002"
+ },
+ "layout_aliases": {
+ "LAYOUT_all": "LAYOUT_ansi_blocker_split_bs"
+ },
+ "layouts": {
+ "LAYOUT_ansi_blocker": {
+ "layout": [
+ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "Esc", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "1", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "2", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "3", "matrix": [0, 4], "x": 4.25, "y": 0},
+ {"label": "4", "matrix": [0, 5], "x": 5.25, "y": 0},
+ {"label": "5", "matrix": [0, 6], "x": 6.25, "y": 0},
+ {"label": "6", "matrix": [0, 7], "x": 7.25, "y": 0},
+ {"label": "7", "matrix": [0, 8], "x": 8.25, "y": 0},
+ {"label": "8", "matrix": [0, 9], "x": 9.25, "y": 0},
+ {"label": "9", "matrix": [0, 10], "x": 10.25, "y": 0},
+ {"label": "0", "matrix": [0, 11], "x": 11.25, "y": 0},
+ {"label": "-", "matrix": [0, 12], "x": 12.25, "y": 0},
+ {"label": "=", "matrix": [0, 13], "x": 13.25, "y": 0},
+ {"label": "Backspace", "matrix": [0, 14], "x": 14.25, "y": 0, "w": 2},
+ {"label": "Delete", "matrix": [0, 16], "x": 16.75, "y": 0},
+
+ {"label": "F2", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "Tab", "matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 2], "x": 2.75, "y": 1},
+ {"label": "W", "matrix": [1, 3], "x": 3.75, "y": 1},
+ {"label": "E", "matrix": [1, 4], "x": 4.75, "y": 1},
+ {"label": "R", "matrix": [1, 5], "x": 5.75, "y": 1},
+ {"label": "T", "matrix": [1, 6], "x": 6.75, "y": 1},
+ {"label": "Y", "matrix": [1, 7], "x": 7.75, "y": 1},
+ {"label": "U", "matrix": [1, 8], "x": 8.75, "y": 1},
+ {"label": "I", "matrix": [1, 9], "x": 9.75, "y": 1},
+ {"label": "O", "matrix": [1, 10], "x": 10.75, "y": 1},
+ {"label": "P", "matrix": [1, 11], "x": 11.75, "y": 1},
+ {"label": "[", "matrix": [1, 12], "x": 12.75, "y": 1},
+ {"label": "]", "matrix": [1, 13], "x": 13.75, "y": 1},
+ {"label": "\\", "matrix": [1, 15], "x": 14.75, "y": 1, "w": 1.5},
+ {"label": "Page Up", "matrix": [1, 16], "x": 16.75, "y": 1},
+
+ {"label": "F3", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "Caps Lock", "matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 2], "x": 3, "y": 2},
+ {"label": "S", "matrix": [2, 3], "x": 4, "y": 2},
+ {"label": "D", "matrix": [2, 4], "x": 5, "y": 2},
+ {"label": "F", "matrix": [2, 5], "x": 6, "y": 2},
+ {"label": "G", "matrix": [2, 6], "x": 7, "y": 2},
+ {"label": "H", "matrix": [2, 7], "x": 8, "y": 2},
+ {"label": "J", "matrix": [2, 8], "x": 9, "y": 2},
+ {"label": "K", "matrix": [2, 9], "x": 10, "y": 2},
+ {"label": "L", "matrix": [2, 10], "x": 11, "y": 2},
+ {"label": ";", "matrix": [2, 11], "x": 12, "y": 2},
+ {"label": "'", "matrix": [2, 12], "x": 13, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 14, "y": 2, "w": 2.25},
+ {"label": "Page Down", "matrix": [2, 16], "x": 16.75, "y": 2},
+
+ {"label": "F4", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "Shift", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 3], "x": 3.5, "y": 3},
+ {"label": "X", "matrix": [3, 4], "x": 4.5, "y": 3},
+ {"label": "C", "matrix": [3, 5], "x": 5.5, "y": 3},
+ {"label": "V", "matrix": [3, 6], "x": 6.5, "y": 3},
+ {"label": "B", "matrix": [3, 7], "x": 7.5, "y": 3},
+ {"label": "N", "matrix": [3, 8], "x": 8.5, "y": 3},
+ {"label": "M", "matrix": [3, 9], "x": 9.5, "y": 3},
+ {"label": ",", "matrix": [3, 10], "x": 10.5, "y": 3},
+ {"label": ".", "matrix": [3, 11], "x": 11.5, "y": 3},
+ {"label": "/", "matrix": [3, 12], "x": 12.5, "y": 3},
+ {"label": "Shift", "matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75},
+ {"label": "\u2191", "matrix": [3, 15], "x": 15.5, "y": 3.25},
+ {"label": "Fn", "matrix": [3, 16], "x": 16.75, "y": 3},
+
+ {"label": "F5", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"label": "GUI", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"label": "Alt", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25},
+ {"label": "Space", "matrix": [4, 7], "x": 5, "y": 4, "w": 6.25},
+ {"label": "Alt", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"label": "Ctrl", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+ {"label": "\u2190", "matrix": [4, 14], "x": 14.5, "y": 4.25},
+ {"label": "\u2193", "matrix": [4, 15], "x": 15.5, "y": 4.25},
+ {"label": "\u2192", "matrix": [4, 16], "x": 16.5, "y": 4.25}
+ ]
+ },
+ "LAYOUT_ansi_blocker_split_bs": {
+ "layout": [
+ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "Esc", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "1", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "2", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "3", "matrix": [0, 4], "x": 4.25, "y": 0},
+ {"label": "4", "matrix": [0, 5], "x": 5.25, "y": 0},
+ {"label": "5", "matrix": [0, 6], "x": 6.25, "y": 0},
+ {"label": "6", "matrix": [0, 7], "x": 7.25, "y": 0},
+ {"label": "7", "matrix": [0, 8], "x": 8.25, "y": 0},
+ {"label": "8", "matrix": [0, 9], "x": 9.25, "y": 0},
+ {"label": "9", "matrix": [0, 10], "x": 10.25, "y": 0},
+ {"label": "0", "matrix": [0, 11], "x": 11.25, "y": 0},
+ {"label": "-", "matrix": [0, 12], "x": 12.25, "y": 0},
+ {"label": "=", "matrix": [0, 13], "x": 13.25, "y": 0},
+ {"label": "Backspace", "matrix": [0, 14], "x": 14.25, "y": 0},
+ {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Delete", "matrix": [0, 16], "x": 16.75, "y": 0},
+
+ {"label": "F2", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "Tab", "matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 2], "x": 2.75, "y": 1},
+ {"label": "W", "matrix": [1, 3], "x": 3.75, "y": 1},
+ {"label": "E", "matrix": [1, 4], "x": 4.75, "y": 1},
+ {"label": "R", "matrix": [1, 5], "x": 5.75, "y": 1},
+ {"label": "T", "matrix": [1, 6], "x": 6.75, "y": 1},
+ {"label": "Y", "matrix": [1, 7], "x": 7.75, "y": 1},
+ {"label": "U", "matrix": [1, 8], "x": 8.75, "y": 1},
+ {"label": "I", "matrix": [1, 9], "x": 9.75, "y": 1},
+ {"label": "O", "matrix": [1, 10], "x": 10.75, "y": 1},
+ {"label": "P", "matrix": [1, 11], "x": 11.75, "y": 1},
+ {"label": "[", "matrix": [1, 12], "x": 12.75, "y": 1},
+ {"label": "]", "matrix": [1, 13], "x": 13.75, "y": 1},
+ {"label": "\\", "matrix": [1, 15], "x": 14.75, "y": 1, "w": 1.5},
+ {"label": "Page Up", "matrix": [1, 16], "x": 16.75, "y": 1},
+
+ {"label": "F3", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "Caps Lock", "matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 2], "x": 3, "y": 2},
+ {"label": "S", "matrix": [2, 3], "x": 4, "y": 2},
+ {"label": "D", "matrix": [2, 4], "x": 5, "y": 2},
+ {"label": "F", "matrix": [2, 5], "x": 6, "y": 2},
+ {"label": "G", "matrix": [2, 6], "x": 7, "y": 2},
+ {"label": "H", "matrix": [2, 7], "x": 8, "y": 2},
+ {"label": "J", "matrix": [2, 8], "x": 9, "y": 2},
+ {"label": "K", "matrix": [2, 9], "x": 10, "y": 2},
+ {"label": "L", "matrix": [2, 10], "x": 11, "y": 2},
+ {"label": ";", "matrix": [2, 11], "x": 12, "y": 2},
+ {"label": "'", "matrix": [2, 12], "x": 13, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 14, "y": 2, "w": 2.25},
+ {"label": "Page Down", "matrix": [2, 16], "x": 16.75, "y": 2},
+
+ {"label": "F4", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "Shift", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 3], "x": 3.5, "y": 3},
+ {"label": "X", "matrix": [3, 4], "x": 4.5, "y": 3},
+ {"label": "C", "matrix": [3, 5], "x": 5.5, "y": 3},
+ {"label": "V", "matrix": [3, 6], "x": 6.5, "y": 3},
+ {"label": "B", "matrix": [3, 7], "x": 7.5, "y": 3},
+ {"label": "N", "matrix": [3, 8], "x": 8.5, "y": 3},
+ {"label": "M", "matrix": [3, 9], "x": 9.5, "y": 3},
+ {"label": ",", "matrix": [3, 10], "x": 10.5, "y": 3},
+ {"label": ".", "matrix": [3, 11], "x": 11.5, "y": 3},
+ {"label": "/", "matrix": [3, 12], "x": 12.5, "y": 3},
+ {"label": "Shift", "matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75},
+ {"label": "\u2191", "matrix": [3, 15], "x": 15.5, "y": 3.25},
+ {"label": "Fn", "matrix": [3, 16], "x": 16.75, "y": 3},
+
+ {"label": "F5", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
+ {"label": "GUI", "matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
+ {"label": "Alt", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.25},
+ {"label": "Space", "matrix": [4, 7], "x": 5, "y": 4, "w": 6.25},
+ {"label": "Alt", "matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
+ {"label": "Ctrl", "matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
+ {"label": "\u2190", "matrix": [4, 14], "x": 14.5, "y": 4.25},
+ {"label": "\u2193", "matrix": [4, 15], "x": 15.5, "y": 4.25},
+ {"label": "\u2192", "matrix": [4, 16], "x": 16.5, "y": 4.25}
+ ]
+ },
+ "LAYOUT_ansi_blocker_tsangan": {
+ "layout": [
+ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "Esc", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "1", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "2", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "3", "matrix": [0, 4], "x": 4.25, "y": 0},
+ {"label": "4", "matrix": [0, 5], "x": 5.25, "y": 0},
+ {"label": "5", "matrix": [0, 6], "x": 6.25, "y": 0},
+ {"label": "6", "matrix": [0, 7], "x": 7.25, "y": 0},
+ {"label": "7", "matrix": [0, 8], "x": 8.25, "y": 0},
+ {"label": "8", "matrix": [0, 9], "x": 9.25, "y": 0},
+ {"label": "9", "matrix": [0, 10], "x": 10.25, "y": 0},
+ {"label": "0", "matrix": [0, 11], "x": 11.25, "y": 0},
+ {"label": "-", "matrix": [0, 12], "x": 12.25, "y": 0},
+ {"label": "=", "matrix": [0, 13], "x": 13.25, "y": 0},
+ {"label": "Backspace", "matrix": [0, 14], "x": 14.25, "y": 0, "w": 2},
+ {"label": "Delete", "matrix": [0, 16], "x": 16.75, "y": 0},
+
+ {"label": "F2", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "Tab", "matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 2], "x": 2.75, "y": 1},
+ {"label": "W", "matrix": [1, 3], "x": 3.75, "y": 1},
+ {"label": "E", "matrix": [1, 4], "x": 4.75, "y": 1},
+ {"label": "R", "matrix": [1, 5], "x": 5.75, "y": 1},
+ {"label": "T", "matrix": [1, 6], "x": 6.75, "y": 1},
+ {"label": "Y", "matrix": [1, 7], "x": 7.75, "y": 1},
+ {"label": "U", "matrix": [1, 8], "x": 8.75, "y": 1},
+ {"label": "I", "matrix": [1, 9], "x": 9.75, "y": 1},
+ {"label": "O", "matrix": [1, 10], "x": 10.75, "y": 1},
+ {"label": "P", "matrix": [1, 11], "x": 11.75, "y": 1},
+ {"label": "[", "matrix": [1, 12], "x": 12.75, "y": 1},
+ {"label": "]", "matrix": [1, 13], "x": 13.75, "y": 1},
+ {"label": "\\", "matrix": [1, 15], "x": 14.75, "y": 1, "w": 1.5},
+ {"label": "Page Up", "matrix": [1, 16], "x": 16.75, "y": 1},
+
+ {"label": "F3", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "Caps Lock", "matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 2], "x": 3, "y": 2},
+ {"label": "S", "matrix": [2, 3], "x": 4, "y": 2},
+ {"label": "D", "matrix": [2, 4], "x": 5, "y": 2},
+ {"label": "F", "matrix": [2, 5], "x": 6, "y": 2},
+ {"label": "G", "matrix": [2, 6], "x": 7, "y": 2},
+ {"label": "H", "matrix": [2, 7], "x": 8, "y": 2},
+ {"label": "J", "matrix": [2, 8], "x": 9, "y": 2},
+ {"label": "K", "matrix": [2, 9], "x": 10, "y": 2},
+ {"label": "L", "matrix": [2, 10], "x": 11, "y": 2},
+ {"label": ";", "matrix": [2, 11], "x": 12, "y": 2},
+ {"label": "'", "matrix": [2, 12], "x": 13, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 14, "y": 2, "w": 2.25},
+ {"label": "Page Down", "matrix": [2, 16], "x": 16.75, "y": 2},
+
+ {"label": "F4", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "Shift", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 3], "x": 3.5, "y": 3},
+ {"label": "X", "matrix": [3, 4], "x": 4.5, "y": 3},
+ {"label": "C", "matrix": [3, 5], "x": 5.5, "y": 3},
+ {"label": "V", "matrix": [3, 6], "x": 6.5, "y": 3},
+ {"label": "B", "matrix": [3, 7], "x": 7.5, "y": 3},
+ {"label": "N", "matrix": [3, 8], "x": 8.5, "y": 3},
+ {"label": "M", "matrix": [3, 9], "x": 9.5, "y": 3},
+ {"label": ",", "matrix": [3, 10], "x": 10.5, "y": 3},
+ {"label": ".", "matrix": [3, 11], "x": 11.5, "y": 3},
+ {"label": "/", "matrix": [3, 12], "x": 12.5, "y": 3},
+ {"label": "Shift", "matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75},
+ {"label": "\u2191", "matrix": [3, 15], "x": 15.5, "y": 3.25},
+ {"label": "Fn", "matrix": [3, 16], "x": 16.75, "y": 3},
+
+ {"label": "F5", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5},
+ {"label": "GUI", "matrix": [4, 2], "x": 2.75, "y": 4},
+ {"label": "Alt", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 7], "x": 5.25, "y": 4, "w": 7},
+ {"label": "Ctrl", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.5},
+ {"label": "\u2190", "matrix": [4, 14], "x": 14.5, "y": 4.25},
+ {"label": "\u2193", "matrix": [4, 15], "x": 15.5, "y": 4.25},
+ {"label": "\u2192", "matrix": [4, 16], "x": 16.5, "y": 4.25}
+ ]
+ },
+ "LAYOUT_ansi_blocker_tsangan_split_bs": {
+ "layout": [
+ {"label": "F1", "matrix": [0, 0], "x": 0, "y": 0},
+ {"label": "Esc", "matrix": [0, 1], "x": 1.25, "y": 0},
+ {"label": "1", "matrix": [0, 2], "x": 2.25, "y": 0},
+ {"label": "2", "matrix": [0, 3], "x": 3.25, "y": 0},
+ {"label": "3", "matrix": [0, 4], "x": 4.25, "y": 0},
+ {"label": "4", "matrix": [0, 5], "x": 5.25, "y": 0},
+ {"label": "5", "matrix": [0, 6], "x": 6.25, "y": 0},
+ {"label": "6", "matrix": [0, 7], "x": 7.25, "y": 0},
+ {"label": "7", "matrix": [0, 8], "x": 8.25, "y": 0},
+ {"label": "8", "matrix": [0, 9], "x": 9.25, "y": 0},
+ {"label": "9", "matrix": [0, 10], "x": 10.25, "y": 0},
+ {"label": "0", "matrix": [0, 11], "x": 11.25, "y": 0},
+ {"label": "-", "matrix": [0, 12], "x": 12.25, "y": 0},
+ {"label": "=", "matrix": [0, 13], "x": 13.25, "y": 0},
+ {"label": "Backspace", "matrix": [0, 14], "x": 14.25, "y": 0},
+ {"label": "Backspace", "matrix": [0, 15], "x": 15.25, "y": 0},
+ {"label": "Delete", "matrix": [0, 16], "x": 16.75, "y": 0},
+
+ {"label": "F2", "matrix": [1, 0], "x": 0, "y": 1},
+ {"label": "Tab", "matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
+ {"label": "Q", "matrix": [1, 2], "x": 2.75, "y": 1},
+ {"label": "W", "matrix": [1, 3], "x": 3.75, "y": 1},
+ {"label": "E", "matrix": [1, 4], "x": 4.75, "y": 1},
+ {"label": "R", "matrix": [1, 5], "x": 5.75, "y": 1},
+ {"label": "T", "matrix": [1, 6], "x": 6.75, "y": 1},
+ {"label": "Y", "matrix": [1, 7], "x": 7.75, "y": 1},
+ {"label": "U", "matrix": [1, 8], "x": 8.75, "y": 1},
+ {"label": "I", "matrix": [1, 9], "x": 9.75, "y": 1},
+ {"label": "O", "matrix": [1, 10], "x": 10.75, "y": 1},
+ {"label": "P", "matrix": [1, 11], "x": 11.75, "y": 1},
+ {"label": "[", "matrix": [1, 12], "x": 12.75, "y": 1},
+ {"label": "]", "matrix": [1, 13], "x": 13.75, "y": 1},
+ {"label": "\\", "matrix": [1, 15], "x": 14.75, "y": 1, "w": 1.5},
+ {"label": "Page Up", "matrix": [1, 16], "x": 16.75, "y": 1},
+
+ {"label": "F3", "matrix": [2, 0], "x": 0, "y": 2},
+ {"label": "Caps Lock", "matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
+ {"label": "A", "matrix": [2, 2], "x": 3, "y": 2},
+ {"label": "S", "matrix": [2, 3], "x": 4, "y": 2},
+ {"label": "D", "matrix": [2, 4], "x": 5, "y": 2},
+ {"label": "F", "matrix": [2, 5], "x": 6, "y": 2},
+ {"label": "G", "matrix": [2, 6], "x": 7, "y": 2},
+ {"label": "H", "matrix": [2, 7], "x": 8, "y": 2},
+ {"label": "J", "matrix": [2, 8], "x": 9, "y": 2},
+ {"label": "K", "matrix": [2, 9], "x": 10, "y": 2},
+ {"label": "L", "matrix": [2, 10], "x": 11, "y": 2},
+ {"label": ";", "matrix": [2, 11], "x": 12, "y": 2},
+ {"label": "'", "matrix": [2, 12], "x": 13, "y": 2},
+ {"label": "Enter", "matrix": [2, 14], "x": 14, "y": 2, "w": 2.25},
+ {"label": "Page Down", "matrix": [2, 16], "x": 16.75, "y": 2},
+
+ {"label": "F4", "matrix": [3, 0], "x": 0, "y": 3},
+ {"label": "Shift", "matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25},
+ {"label": "Z", "matrix": [3, 3], "x": 3.5, "y": 3},
+ {"label": "X", "matrix": [3, 4], "x": 4.5, "y": 3},
+ {"label": "C", "matrix": [3, 5], "x": 5.5, "y": 3},
+ {"label": "V", "matrix": [3, 6], "x": 6.5, "y": 3},
+ {"label": "B", "matrix": [3, 7], "x": 7.5, "y": 3},
+ {"label": "N", "matrix": [3, 8], "x": 8.5, "y": 3},
+ {"label": "M", "matrix": [3, 9], "x": 9.5, "y": 3},
+ {"label": ",", "matrix": [3, 10], "x": 10.5, "y": 3},
+ {"label": ".", "matrix": [3, 11], "x": 11.5, "y": 3},
+ {"label": "/", "matrix": [3, 12], "x": 12.5, "y": 3},
+ {"label": "Shift", "matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75},
+ {"label": "\u2191", "matrix": [3, 15], "x": 15.5, "y": 3.25},
+ {"label": "Fn", "matrix": [3, 16], "x": 16.75, "y": 3},
+
+ {"label": "F5", "matrix": [4, 0], "x": 0, "y": 4},
+ {"label": "Ctrl", "matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.5},
+ {"label": "GUI", "matrix": [4, 2], "x": 2.75, "y": 4},
+ {"label": "Alt", "matrix": [4, 3], "x": 3.75, "y": 4, "w": 1.5},
+ {"label": "Space", "matrix": [4, 7], "x": 5.25, "y": 4, "w": 7},
+ {"label": "Ctrl", "matrix": [4, 12], "x": 12.25, "y": 4, "w": 1.5},
+ {"label": "\u2190", "matrix": [4, 14], "x": 14.5, "y": 4.25},
+ {"label": "\u2193", "matrix": [4, 15], "x": 15.5, "y": 4.25},
+ {"label": "\u2192", "matrix": [4, 16], "x": 16.5, "y": 4.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/saevus/cor/keymaps/default/keymap.c b/keyboards/concreteflowers/cor/keymaps/default/keymap.c
similarity index 100%
rename from keyboards/saevus/cor/keymaps/default/keymap.c
rename to keyboards/concreteflowers/cor/keymaps/default/keymap.c
diff --git a/keyboards/saevus/cor/matrix_diagram.md b/keyboards/concreteflowers/cor/matrix_diagram.md
similarity index 100%
rename from keyboards/saevus/cor/matrix_diagram.md
rename to keyboards/concreteflowers/cor/matrix_diagram.md
diff --git a/keyboards/concreteflowers/cor/readme.md b/keyboards/concreteflowers/cor/readme.md
new file mode 100644
index 000000000000..a63012ee5c3a
--- /dev/null
+++ b/keyboards/concreteflowers/cor/readme.md
@@ -0,0 +1,26 @@
+# concrete flowers cor
+
+![concrete flowers cor](https://i.imgur.com/AOT6mmMl.jpg)
+
+An exploded 65% with a macro column.
+
+* Keyboard Maintainer: [Ramon Imbao](https://github.com/ramonimbao)
+* Hardware Supported: ATmega32u4
+
+Make example for this keyboard (after setting up your build environment):
+
+ make concreteflowers/cor:default
+
+Flashing example for this keyboard:
+
+ make concrete flowers/cor:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
+
+## Bootloader
+
+Enter the bootloader in 3 ways:
+
+* **Bootmagic reset**: Hold down the upper left key and plug in the keyboard
+* **Physical reset button**: Briefly press the reset button on the back of the PCB.
+* **Keycode in layout**: Press the key mapped to `RESET` if it is available
diff --git a/keyboards/saevus/cor_tkl/cor_tkl.c b/keyboards/concreteflowers/cor_tkl/cor_tkl.c
similarity index 100%
rename from keyboards/saevus/cor_tkl/cor_tkl.c
rename to keyboards/concreteflowers/cor_tkl/cor_tkl.c
diff --git a/keyboards/concreteflowers/cor_tkl/keyboard.json b/keyboards/concreteflowers/cor_tkl/keyboard.json
new file mode 100644
index 000000000000..6a797d644cf3
--- /dev/null
+++ b/keyboards/concreteflowers/cor_tkl/keyboard.json
@@ -0,0 +1,587 @@
+{
+ "keyboard_name": "Cor TKL",
+ "manufacturer": "concreteflowers",
+ "url": "",
+ "maintainer": "ramonimbao",
+ "community_layouts": [
+ "tkl_f13_ansi",
+ "tkl_f13_ansi_split_bs_rshift",
+ "tkl_f13_iso",
+ "tkl_f13_iso_split_bs_rshift"
+ ],
+ "layout_aliases": {
+ "LAYOUT_ansi": "LAYOUT_tkl_f13_ansi",
+ "LAYOUT_iso": "LAYOUT_tkl_f13_iso"
+ },
+ "features": {
+ "bootmagic": true,
+ "mousekey": true,
+ "extrakey": true,
+ "console": false,
+ "command": false,
+ "nkro": false,
+ "rgb_matrix": true
+ },
+ "usb": {
+ "vid": "0x5001",
+ "pid": "0x0003",
+ "device_version": "1.0.0"
+ },
+ "processor": "RP2040",
+ "bootloader": "rp2040",
+ "diode_direction": "COL2ROW",
+ "matrix_pins": {
+ "cols": ["GP29", "GP28", "GP27", "GP26", "GP25", "GP24", "GP23", "GP22", "GP18", "GP17", "GP16", "GP15", "GP14", "GP13", "GP12", "GP11", "GP5"],
+ "rows": ["GP0", "GP1", "GP2", "GP21", "GP3", "GP4"]
+ },
+ "rgb_matrix": {
+ "driver": "ws2812"
+ },
+ "ws2812": {
+ "pin": "GP19",
+ "driver": "vendor"
+ },
+ "layouts": {
+ "LAYOUT_tkl_f13_ansi": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+
+ {"matrix": [0, 1], "x": 1.25, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"matrix": [0, 9], "x": 9.75, "y": 0},
+ {"matrix": [0, 10], "x": 10.75, "y": 0},
+ {"matrix": [0, 11], "x": 11.75, "y": 0},
+ {"matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"matrix": [0, 13], "x": 14, "y": 0},
+
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"matrix": [1, 14], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 15], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 17.25, "y": 1.25},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"matrix": [2, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 2.25},
+
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25},
+
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 7], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_ansi_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+
+ {"matrix": [0, 1], "x": 1.25, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"matrix": [0, 9], "x": 9.75, "y": 0},
+ {"matrix": [0, 10], "x": 10.75, "y": 0},
+ {"matrix": [0, 11], "x": 11.75, "y": 0},
+ {"matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"matrix": [0, 13], "x": 14, "y": 0},
+
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [3, 13], "x": 14, "y": 1.25},
+
+ {"matrix": [1, 14], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 15], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 17.25, "y": 1.25},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"matrix": [2, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 2.25},
+
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25},
+
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 2.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+ {"matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 7], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+
+ {"matrix": [0, 1], "x": 1.25, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"matrix": [0, 9], "x": 9.75, "y": 0},
+ {"matrix": [0, 10], "x": 10.75, "y": 0},
+ {"matrix": [0, 11], "x": 11.75, "y": 0},
+ {"matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"matrix": [0, 13], "x": 14, "y": 0},
+
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25, "w": 2},
+
+ {"matrix": [1, 14], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 15], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 17.25, "y": 1.25},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"matrix": [2, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 2.25},
+
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"matrix": [2, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 2.75},
+
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 7], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_tkl_f13_iso_split_bs_rshift": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+
+ {"matrix": [0, 1], "x": 1.25, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"matrix": [0, 9], "x": 9.75, "y": 0},
+ {"matrix": [0, 10], "x": 10.75, "y": 0},
+ {"matrix": [0, 11], "x": 11.75, "y": 0},
+ {"matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"matrix": [0, 13], "x": 14, "y": 0},
+
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [3, 13], "x": 14, "y": 1.25},
+
+ {"matrix": [1, 14], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 15], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 17.25, "y": 1.25},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+
+ {"matrix": [2, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 2.25},
+
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25},
+ {"matrix": [2, 13], "x": 13.75, "y": 2.25, "w": 1.25, "h": 2},
+
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+
+ {"matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 7], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ },
+ "LAYOUT_all": {
+ "layout": [
+ {"matrix": [0, 0], "x": 0, "y": 0},
+
+ {"matrix": [0, 1], "x": 1.25, "y": 0},
+ {"matrix": [0, 2], "x": 2.25, "y": 0},
+ {"matrix": [0, 3], "x": 3.25, "y": 0},
+ {"matrix": [0, 4], "x": 4.25, "y": 0},
+
+ {"matrix": [0, 5], "x": 5.5, "y": 0},
+ {"matrix": [0, 6], "x": 6.5, "y": 0},
+ {"matrix": [0, 7], "x": 7.5, "y": 0},
+ {"matrix": [0, 8], "x": 8.5, "y": 0},
+
+ {"matrix": [0, 9], "x": 9.75, "y": 0},
+ {"matrix": [0, 10], "x": 10.75, "y": 0},
+ {"matrix": [0, 11], "x": 11.75, "y": 0},
+ {"matrix": [0, 12], "x": 12.75, "y": 0},
+
+ {"matrix": [0, 13], "x": 14, "y": 0},
+
+ {"matrix": [0, 14], "x": 15.25, "y": 0},
+ {"matrix": [0, 15], "x": 16.25, "y": 0},
+ {"matrix": [0, 16], "x": 17.25, "y": 0},
+
+ {"matrix": [1, 0], "x": 0, "y": 1.25},
+ {"matrix": [1, 1], "x": 1, "y": 1.25},
+ {"matrix": [1, 2], "x": 2, "y": 1.25},
+ {"matrix": [1, 3], "x": 3, "y": 1.25},
+ {"matrix": [1, 4], "x": 4, "y": 1.25},
+ {"matrix": [1, 5], "x": 5, "y": 1.25},
+ {"matrix": [1, 6], "x": 6, "y": 1.25},
+ {"matrix": [1, 7], "x": 7, "y": 1.25},
+ {"matrix": [1, 8], "x": 8, "y": 1.25},
+ {"matrix": [1, 9], "x": 9, "y": 1.25},
+ {"matrix": [1, 10], "x": 10, "y": 1.25},
+ {"matrix": [1, 11], "x": 11, "y": 1.25},
+ {"matrix": [1, 12], "x": 12, "y": 1.25},
+ {"matrix": [1, 13], "x": 13, "y": 1.25},
+ {"matrix": [3, 13], "x": 14, "y": 1.25},
+
+ {"matrix": [1, 14], "x": 15.25, "y": 1.25},
+ {"matrix": [1, 15], "x": 16.25, "y": 1.25},
+ {"matrix": [1, 16], "x": 17.25, "y": 1.25},
+
+ {"matrix": [2, 0], "x": 0, "y": 2.25, "w": 1.5},
+ {"matrix": [2, 1], "x": 1.5, "y": 2.25},
+ {"matrix": [2, 2], "x": 2.5, "y": 2.25},
+ {"matrix": [2, 3], "x": 3.5, "y": 2.25},
+ {"matrix": [2, 4], "x": 4.5, "y": 2.25},
+ {"matrix": [2, 5], "x": 5.5, "y": 2.25},
+ {"matrix": [2, 6], "x": 6.5, "y": 2.25},
+ {"matrix": [2, 7], "x": 7.5, "y": 2.25},
+ {"matrix": [2, 8], "x": 8.5, "y": 2.25},
+ {"matrix": [2, 9], "x": 9.5, "y": 2.25},
+ {"matrix": [2, 10], "x": 10.5, "y": 2.25},
+ {"matrix": [2, 11], "x": 11.5, "y": 2.25},
+ {"matrix": [2, 12], "x": 12.5, "y": 2.25},
+ {"matrix": [2, 13], "x": 13.5, "y": 2.25, "w": 1.5},
+
+ {"matrix": [2, 14], "x": 15.25, "y": 2.25},
+ {"matrix": [2, 15], "x": 16.25, "y": 2.25},
+ {"matrix": [2, 16], "x": 17.25, "y": 2.25},
+
+ {"matrix": [3, 0], "x": 0, "y": 3.25, "w": 1.75},
+ {"matrix": [3, 1], "x": 1.75, "y": 3.25},
+ {"matrix": [3, 2], "x": 2.75, "y": 3.25},
+ {"matrix": [3, 3], "x": 3.75, "y": 3.25},
+ {"matrix": [3, 4], "x": 4.75, "y": 3.25},
+ {"matrix": [3, 5], "x": 5.75, "y": 3.25},
+ {"matrix": [3, 6], "x": 6.75, "y": 3.25},
+ {"matrix": [3, 7], "x": 7.75, "y": 3.25},
+ {"matrix": [3, 8], "x": 8.75, "y": 3.25},
+ {"matrix": [3, 9], "x": 9.75, "y": 3.25},
+ {"matrix": [3, 10], "x": 10.75, "y": 3.25},
+ {"matrix": [3, 11], "x": 11.75, "y": 3.25},
+ {"matrix": [3, 12], "x": 12.75, "y": 3.25, "w": 2.25},
+
+ {"matrix": [4, 0], "x": 0, "y": 4.25, "w": 1.25},
+ {"matrix": [4, 1], "x": 1.25, "y": 4.25},
+ {"matrix": [4, 2], "x": 2.25, "y": 4.25},
+ {"matrix": [4, 3], "x": 3.25, "y": 4.25},
+ {"matrix": [4, 4], "x": 4.25, "y": 4.25},
+ {"matrix": [4, 5], "x": 5.25, "y": 4.25},
+ {"matrix": [4, 6], "x": 6.25, "y": 4.25},
+ {"matrix": [4, 7], "x": 7.25, "y": 4.25},
+ {"matrix": [4, 8], "x": 8.25, "y": 4.25},
+ {"matrix": [4, 9], "x": 9.25, "y": 4.25},
+ {"matrix": [4, 10], "x": 10.25, "y": 4.25},
+ {"matrix": [4, 11], "x": 11.25, "y": 4.25},
+ {"matrix": [4, 12], "x": 12.25, "y": 4.25, "w": 1.75},
+
+ {"matrix": [4, 13], "x": 14, "y": 4.25},
+
+ {"matrix": [4, 15], "x": 16.25, "y": 4.25},
+
+ {"matrix": [5, 0], "x": 0, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 1], "x": 1.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 2], "x": 2.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 7], "x": 3.75, "y": 5.25, "w": 6.25},
+ {"matrix": [5, 10], "x": 10, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 11], "x": 11.25, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 12], "x": 12.5, "y": 5.25, "w": 1.25},
+ {"matrix": [5, 13], "x": 13.75, "y": 5.25, "w": 1.25},
+
+ {"matrix": [5, 14], "x": 15.25, "y": 5.25},
+ {"matrix": [5, 15], "x": 16.25, "y": 5.25},
+ {"matrix": [5, 16], "x": 17.25, "y": 5.25}
+ ]
+ }
+ }
+}
diff --git a/keyboards/saevus/cor_tkl/keymaps/default/keymap.c b/keyboards/concreteflowers/cor_tkl/keymaps/default/keymap.c
similarity index 100%
rename from keyboards/saevus/cor_tkl/keymaps/default/keymap.c
rename to keyboards/concreteflowers/cor_tkl/keymaps/default/keymap.c
diff --git a/keyboards/saevus/cor_tkl/keymaps/iso/keymap.c b/keyboards/concreteflowers/cor_tkl/keymaps/iso/keymap.c
similarity index 100%
rename from keyboards/saevus/cor_tkl/keymaps/iso/keymap.c
rename to keyboards/concreteflowers/cor_tkl/keymaps/iso/keymap.c
diff --git a/keyboards/concreteflowers/cor_tkl/readme.md b/keyboards/concreteflowers/cor_tkl/readme.md
new file mode 100644
index 000000000000..0e482bfb2f50
--- /dev/null
+++ b/keyboards/concreteflowers/cor_tkl/readme.md
@@ -0,0 +1,18 @@
+# concrete flowers cor TKL
+
+![Cor TKL](https://i.imgur.com/RGctsaVl.png)
+
+* Keyboard Maintainer: [Ramon Imbao](https://github.com/ramonimbao)
+* Hardware Supported: RP2040
+
+Make example for this keyboard (after setting up your build environment):
+
+ make concreteflowers/cor_tkl:default
+
+To get to the bootloader, simply press the reset button located at the back of the PCB. You can then flash new firmware onto it.
+
+Flashing example for this keyboard:
+
+ make concreteflowers/cor_tkl:default:flash
+
+See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/contender/keymaps/default/keymap.c b/keyboards/contender/keymaps/default/keymap.c
index e4c74f90df9c..6caa364f8f84 100644
--- a/keyboards/contender/keymaps/default/keymap.c
+++ b/keyboards/contender/keymaps/default/keymap.c
@@ -34,7 +34,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_NUM, KC_KP_SLASH, KC_KP_ASTERISK, KC_EQUAL,
KC_KP_7, KC_KP_8, KC_KP_9, KC_KP_MINUS,
MO(_FUNCTION), KC_KP_4, KC_KP_5, KC_KP_6, KC_KP_PLUS,
- RGB_TOG, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
+ UG_TOGG, KC_KP_1, KC_KP_2, KC_KP_3, KC_KP_ENTER,
TG(_UNRULY), KC_KP_0, DOUBLE_ZERO, KC_KP_DOT
),
/* Lightning */
@@ -51,9 +51,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
QK_BOOT, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO,
KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, RGB_RMOD, RGB_MOD, KC_NO, KC_NO,
- KC_TRNS, RGB_HUI, RGB_SAI, RGB_VAI, KC_NO,
- KC_TRNS, RGB_HUD, RGB_SAD, RGB_VAD
+ KC_TRNS, UG_PREV, UG_NEXT, KC_NO, KC_NO,
+ KC_TRNS, UG_HUEU, UG_SATU, UG_VALU, KC_NO,
+ KC_TRNS, UG_HUED, UG_SATD, UG_VALD
)
};
diff --git a/keyboards/contra/keymaps/default/keymap.c b/keyboards/contra/keymaps/default/keymap.c
index 29f98033d612..415e22e81a13 100644
--- a/keyboards/contra/keymaps/default/keymap.c
+++ b/keyboards/contra/keymaps/default/keymap.c
@@ -28,16 +28,17 @@ enum planck_layers {
};
enum planck_keycodes {
- QWERTY = SAFE_RANGE,
- COLEMAK,
- DVORAK,
- PLOVER,
+ PLOVER = SAFE_RANGE,
LOWER,
RAISE,
BACKLIT,
EXT_PLV
};
+#define QWERTY PDF(_QWERTY)
+#define COLEMAK PDF(_COLEMAK)
+#define DVORAK PDF(_DVORAK)
+
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Qwerty
@@ -177,25 +178,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
switch (keycode) {
- case QWERTY:
- if (record->event.pressed) {
- print("mode just switched to qwerty and this is a huge string\n");
- set_single_persistent_default_layer(_QWERTY);
- }
- return false;
- break;
- case COLEMAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_COLEMAK);
- }
- return false;
- break;
- case DVORAK:
- if (record->event.pressed) {
- set_single_persistent_default_layer(_DVORAK);
- }
- return false;
- break;
case LOWER:
if (record->event.pressed) {
layer_on(_LOWER);
diff --git a/keyboards/contra/keymaps/via/keymap.c b/keyboards/contra/keymaps/via/keymap.c
deleted file mode 100644
index aac25422d627..000000000000
--- a/keyboards/contra/keymaps/via/keymap.c
+++ /dev/null
@@ -1,98 +0,0 @@
-/* This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#include QMK_KEYBOARD_H
-
-
-enum planck_layers {
- _BASE,
- _LOWER,
- _RAISE,
- _ADJUST
-};
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-
- /* Base
- * ,-----------------------------------------------------------------------------------.
- * | Esc | Q | W | E | R | T | Y | U | I | O | P | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Tab | A | S | D | F | G | H | J | K | L | ; | " |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | Shift| Z | X | C | V | B | N | M | , | . | / |Enter |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | Adjst| Ctrl | Gui | Alt |Lower | Space |Raise | Left | Down | Up |Right |
- * `-----------------------------------------------------------------------------------'
- */
- [_BASE] = LAYOUT_planck_mit(
- KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT,
- MO(_ADJUST), KC_LCTL, KC_LGUI, KC_LALT, MO(_LOWER), KC_SPC, MO(_RAISE), KC_LEFT, KC_DOWN, KC_UP, KC_RGHT
- ),
-
- /* Lower
- * ,-----------------------------------------------------------------------------------.
- * | ~ | ! | @ | # | $ | % | ^ | & | * | ( | ) | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | | | Home | End | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
- [_LOWER] = LAYOUT_planck_mit(
- KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_HOME, KC_END, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- /* Raise
- * ,-----------------------------------------------------------------------------------.
- * | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | Del | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | \ |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | F7 | F8 | F9 | F10 | F11 | F12 | | |Pg Up |Pg Dn | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | Next | Vol- | Vol+ | Play |
- * `-----------------------------------------------------------------------------------'
- */
- [_RAISE] = LAYOUT_planck_mit(
- KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, KC_PGUP, KC_PGDN, _______,
- _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY
- ),
-
- /* Adjust
- * ,----------------------------------------------------------- ------------------------.
- * | | Reset| Debug| | | | | | | | | Del |
- * |------+------+------+------+------+-------------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------|------+------+------+------+------+------|
- * | | | | | | | | | | | | |
- * |------+------+------+------+------+------+------+------+------+------+------+------|
- * | | | | | | | | | | | |
- * `-----------------------------------------------------------------------------------'
- */
- [_ADJUST] = LAYOUT_planck_mit(
- _______, QK_BOOT, DB_TOGG, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL ,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
- _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
- )
-};
\ No newline at end of file
diff --git a/keyboards/contra/keymaps/via/rules.mk b/keyboards/contra/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/contra/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/controllerworks/city42/keymaps/default/keymap.c b/keyboards/controllerworks/city42/keymaps/default/keymap.c
index 7f46648a7e87..b6b3597e98a4 100644
--- a/keyboards/controllerworks/city42/keymaps/default/keymap.c
+++ b/keyboards/controllerworks/city42/keymaps/default/keymap.c
@@ -58,9 +58,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,-----------------------------------------------------. ,-----------------------------------------------------.
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, RM_NEXT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RM_NEXT, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, RM_PREV, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT
//`--------------------------' `--------------------------'
diff --git a/keyboards/controllerworks/city42/keymaps/via/keymap.c b/keyboards/controllerworks/city42/keymaps/via/keymap.c
deleted file mode 100644
index 7f46648a7e87..000000000000
--- a/keyboards/controllerworks/city42/keymaps/via/keymap.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2023 Kevin Gee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, RSFT_T(KC_ENT),
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), KC_RALT
- //`--------------------------' `--------------------------'
-
- ),
-
- [1] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, XXXXXXX, XXXXXXX, XXXXXXX, KC_VOLU, KC_PGUP, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLD, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, _______, KC_ESC, KC_ENT, MO(3), KC_RALT
- //`--------------------------' `--------------------------'
- ),
-
- [2] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- KC_TAB, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LCTL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_GRV,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LSFT, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TILD,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, MO(3), KC_ESC, KC_DEL, _______, KC_RALT
- //`--------------------------' `--------------------------'
- ),
-
- [3] = LAYOUT_split_3x6_3(
- //,-----------------------------------------------------. ,-----------------------------------------------------.
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, RGB_MOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, RGB_RMOD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
- KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT
- //`--------------------------' `--------------------------'
- )
-};
diff --git a/keyboards/controllerworks/city42/keymaps/via/rules.mk b/keyboards/controllerworks/city42/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/controllerworks/city42/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/controllerworks/mini36/keyboard.json b/keyboards/controllerworks/mini36/keyboard.json
index a3b5365109a5..8039025a282f 100644
--- a/keyboards/controllerworks/mini36/keyboard.json
+++ b/keyboards/controllerworks/mini36/keyboard.json
@@ -39,9 +39,11 @@
]
}
},
- "soft_serial_pin": "GP1",
+ "serial": {
+ "driver": "vendor",
+ "pin": "GP1"
+ },
"transport": {
- "protocol": "serial",
"sync": {
"indicators": true,
"layer_state": true,
diff --git a/keyboards/controllerworks/mini36/keymaps/default/keymap.c b/keyboards/controllerworks/mini36/keymaps/default/keymap.c
index b5fbe49bb29b..45f46b47bd7f 100644
--- a/keyboards/controllerworks/mini36/keymaps/default/keymap.c
+++ b/keyboards/controllerworks/mini36/keymaps/default/keymap.c
@@ -58,9 +58,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,--------------------------------------------. ,--------------------------------------------.
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RM_NEXT, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT
//`--------------------------' `--------------------------'
diff --git a/keyboards/controllerworks/mini36/keymaps/via/config.h b/keyboards/controllerworks/mini36/keymaps/via/config.h
deleted file mode 100644
index aeca5716c0f1..000000000000
--- a/keyboards/controllerworks/mini36/keymaps/via/config.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright 2022 Kevin Gee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-
-#pragma once
-#ifdef RGB_MATRIX_ENABLE
-//# define SPLIT_TRANSPORT_MIRROR
-# define RGB_MATRIX_KEYPRESSES // reacts to keypresses
-// # define RGB_MATRIX_KEYRELEASES // reacts to keyreleases (instead of keypresses)
-// # define RGB_DISABLE_AFTER_TIMEOUT 0 // number of ticks to wait until disabling effects
-# define RGB_MATRIX_SLEEP // turn off effects when suspended
-# define RGB_MATRIX_FRAMEBUFFER_EFFECTS
-// # define RGB_MATRIX_LED_PROCESS_LIMIT (RGB_MATRIX_LED_COUNT + 4) / 5 // limits the number of LEDs to process in an animation per task run (increases keyboard responsiveness)
-// # define RGB_MATRIX_LED_FLUSH_LIMIT 16 // limits in milliseconds how frequently an animation will update the LEDs. 16 (16ms) is equivalent to limiting to 60fps (increases keyboard responsiveness)
-# define RGB_MATRIX_MAXIMUM_BRIGHTNESS 150 // limits maximum brightness of LEDs to 150 out of 255. Higher may cause the controller to crash.
-# define RGB_MATRIX_HUE_STEP 8
-# define RGB_MATRIX_SAT_STEP 8
-# define RGB_MATRIX_VAL_STEP 8
-# define RGB_MATRIX_SPD_STEP 10
-
-# define ENABLE_RGB_MATRIX_ALPHAS_MODS
-# define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN
-# define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_BREATHING
-# define ENABLE_RGB_MATRIX_BAND_SAT
-# define ENABLE_RGB_MATRIX_BAND_VAL
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT
-# define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT
-# define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL
-# define ENABLE_RGB_MATRIX_CYCLE_ALL
-# define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT
-# define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN
-# define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN
-# define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL
-# define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL
-# define ENABLE_RGB_MATRIX_CYCLE_SPIRAL
-# define ENABLE_RGB_MATRIX_DUAL_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_BEACON
-# define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS
-# define ENABLE_RGB_MATRIX_RAINDROPS
-# define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS
-# define ENABLE_RGB_MATRIX_HUE_BREATHING
-# define ENABLE_RGB_MATRIX_HUE_PENDULUM
-# define ENABLE_RGB_MATRIX_HUE_WAVE
-# define ENABLE_RGB_MATRIX_PIXEL_RAIN
-# define ENABLE_RGB_MATRIX_PIXEL_FLOW
-# define ENABLE_RGB_MATRIX_PIXEL_FRACTAL
-// enabled only if RGB_MATRIX_FRAMEBUFFER_EFFECTS is defined
-# define ENABLE_RGB_MATRIX_TYPING_HEATMAP
-# define ENABLE_RGB_MATRIX_DIGITAL_RAIN
-// enabled only of RGB_MATRIX_KEYPRESSES or RGB_MATRIX_KEYRELEASES is defined
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_SIMPLE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_WIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTIWIDE
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_CROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTICROSS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_NEXUS
-# define ENABLE_RGB_MATRIX_SOLID_REACTIVE_MULTINEXUS
-# define ENABLE_RGB_MATRIX_SPLASH
-# define ENABLE_RGB_MATRIX_MULTISPLASH
-# define ENABLE_RGB_MATRIX_SOLID_SPLASH
-# define ENABLE_RGB_MATRIX_SOLID_MULTISPLASH
-#endif
\ No newline at end of file
diff --git a/keyboards/controllerworks/mini36/keymaps/via/keymap.c b/keyboards/controllerworks/mini36/keymaps/via/keymap.c
deleted file mode 100644
index b5fbe49bb29b..000000000000
--- a/keyboards/controllerworks/mini36/keymaps/via/keymap.c
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright 2022 Kevin Gee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see .
- */
-#include QMK_KEYBOARD_H
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- [0] = LAYOUT_split_3x5_3(
- //,--------------------------------------------. ,--------------------------------------------.
- KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- LCTL_T(KC_A), KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- LSFT_T(KC_Z), KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LGUI, MO(1), KC_SPC, KC_SPC, MO(2), GUI_T(KC_TAB)
- //`--------------------------' `--------------------------'
-
- ),
-
- [1] = LAYOUT_split_3x5_3(
- //,--------------------------------------------. ,--------------------------------------------.
- KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- KC_TAB, XXXXXXX, XXXXXXX, XXXXXXX, KC_PGUP, XXXXXXX, KC_UP, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- KC_MPRV, KC_MPLY, KC_MNXT, XXXXXXX, KC_PGDN, KC_LEFT, KC_DOWN, KC_RIGHT, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LGUI, _______, KC_ESC, KC_ENT, MO(3), KC_RALT
- //`--------------------------' `--------------------------'
- ),
-
- [2] = LAYOUT_split_3x5_3(
- //,--------------------------------------------. ,--------------------------------------------.
- KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LGUI, MO(3), KC_ESC, KC_DEL, _______, KC_RALT
- //`--------------------------' `--------------------------'
- ),
-
- [3] = LAYOUT_split_3x5_3(
- //,--------------------------------------------. ,--------------------------------------------.
- QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------|
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
- //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT
- //`--------------------------' `--------------------------'
- )
-};
\ No newline at end of file
diff --git a/keyboards/controllerworks/mini36/keymaps/via/rules.mk b/keyboards/controllerworks/mini36/keymaps/via/rules.mk
deleted file mode 100644
index 036bd6d1c3ec..000000000000
--- a/keyboards/controllerworks/mini36/keymaps/via/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-VIA_ENABLE = yes
\ No newline at end of file
diff --git a/keyboards/controllerworks/mini36/rules.mk b/keyboards/controllerworks/mini36/rules.mk
deleted file mode 100644
index 161ec22b16e2..000000000000
--- a/keyboards/controllerworks/mini36/rules.mk
+++ /dev/null
@@ -1 +0,0 @@
-SERIAL_DRIVER = vendor
diff --git a/keyboards/controllerworks/mini42/config.h b/keyboards/controllerworks/mini42/config.h
index 3e5f7fd357e4..d29e3e449f8f 100644
--- a/keyboards/controllerworks/mini42/config.h
+++ b/keyboards/controllerworks/mini42/config.h
@@ -1,16 +1,16 @@
/*
* Copyright 2022 Kevin Gee
- *
+ *
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
- *
+ *
* You should have received a copy of the GNU General Public License
* along with this program. If not, see .
*/
@@ -25,7 +25,3 @@
#define I2C1_SCL_PIN GP25
#undef I2C1_SDA_PIN
#define I2C1_SDA_PIN GP24
-
-/* #define EE_HANDS */
-/* #define MASTER_LEFT */
-/* #define MASTER_RIGHT */
diff --git a/keyboards/controllerworks/mini42/keyboard.json b/keyboards/controllerworks/mini42/keyboard.json
index 5d1d56db1a22..ceb7f8ce1f1c 100644
--- a/keyboards/controllerworks/mini42/keyboard.json
+++ b/keyboards/controllerworks/mini42/keyboard.json
@@ -39,9 +39,11 @@
]
}
},
- "soft_serial_pin": "GP1",
+ "serial": {
+ "driver": "vendor",
+ "pin": "GP1"
+ },
"transport": {
- "protocol": "serial",
"sync": {
"indicators": true,
"layer_state": true,
diff --git a/keyboards/controllerworks/mini42/keymaps/default/keymap.c b/keyboards/controllerworks/mini42/keymaps/default/keymap.c
index af9a62b40046..50ffd9fd55c0 100644
--- a/keyboards/controllerworks/mini42/keymaps/default/keymap.c
+++ b/keyboards/controllerworks/mini42/keymaps/default/keymap.c
@@ -58,9 +58,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
//,-----------------------------------------------------. ,-----------------------------------------------------.
QK_BOOT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_NUM,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_TOG, RGB_HUI, RGB_SAI, RGB_VAI, RGB_SPI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RM_TOGG, RM_HUEU, RM_SATU, RM_VALU, RM_SPDU, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------|
- RGB_MOD, RGB_HUD, RGB_SAD, RGB_VAD, RGB_SPD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
+ RM_NEXT, RM_HUED, RM_SATD, RM_VALD, RM_SPDD, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
//|--------+--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------+--------|
KC_LGUI, _______, KC_SPC, KC_ENT, _______, KC_RALT
//`--------------------------' `--------------------------'
diff --git a/keyboards/controllerworks/mini42/keymaps/via/config.h b/keyboards/controllerworks/mini42/keymaps/via/config.h
deleted file mode 100644
index 5e70c0934334..000000000000
--- a/keyboards/controllerworks/mini42/keymaps/via/config.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright 2022 Kevin Gee
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see